RM: extended RM build script to help support I18N

* 'localisationPackage' task added to root that extracts all base message bundles into a zip marked with build and SVN version information



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@53629 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2013-08-06 00:45:52 +00:00
parent 5e1155aa0d
commit 2efdbb5f23

View File

@@ -21,15 +21,21 @@ task deleteDist(type: Delete) {
ant.delete(includeEmptyDirs: 'true', dir: 'dist') ant.delete(includeEmptyDirs: 'true', dir: 'dist')
} }
task packageBuild (dependsOn: [':rm-server:amp', ':rm-share:amp']) << { /** Global Values **/
distDir = file('dist')
if (distDir.exists() == false) {
distDir.mkdirs();
}
distDir = 'dist'
packageBaseName = "${groupid}-${packageName}-${version}-${build}" packageBaseName = "${groupid}-${packageName}-${version}-${build}"
packageZipFile = "${packageBaseName}.zip" packageZipFile = "${packageBaseName}.zip"
/** Package Build Tasks */
task packageBuild (dependsOn: [':rm-server:amp', ':rm-share:amp']) << {
distDirFile = file('dist')
if (distDirFile.exists() == false) {
distDirFile.mkdirs();
}
alfrescoAmp = "${project(':rm-server').name}/${project(':rm-server').buildDistDir}/${project(':rm-server').ampFile}" alfrescoAmp = "${project(':rm-server').name}/${project(':rm-server').buildDistDir}/${project(':rm-server').ampFile}"
shareAmp = "${project(':rm-share').name}/${project(':rm-share').buildDistDir}/${project(':rm-share').ampFile}" shareAmp = "${project(':rm-share').name}/${project(':rm-share').buildDistDir}/${project(':rm-share').ampFile}"
@@ -40,6 +46,41 @@ task packageBuild (dependsOn: [':rm-server:amp', ':rm-share:amp']) << {
} }
} }
/** I18N Tasks */
task localisationPackage (dependsOn: [':rm-server:assembleLocalisationPackage', ':rm-share:assembleLocalisationPackage']) << {
distDirFile = file('dist')
if (distDirFile.exists() == false) {
distDirFile.mkdirs();
}
def svnVersion
new ByteArrayOutputStream().withStream { os ->
def result = exec {
executable = 'svn'
args = ['info']
standardOutput = os
}
def outputAsString = os.toString()
def matchLastChangedRev = outputAsString =~ /Last Changed Rev: (\d+)/
svnVersion = matchLastChangedRev[0][1]
}
localisationPackageZipFile = "messages-${groupid}-${packageName}-${version}-r${svnVersion}.zip"
alfrescoLocalisationPackage = "${project(':rm-server').name}/${project(':rm-server').i18nDir}"
shareLocalisationPackage = "${project(':rm-share').name}/${project(':rm-share').i18nDir}"
ant.zip(destfile: "${distDir}/${localisationPackageZipFile}", update: 'true') {
ant.zipfileset(dir: "${alfrescoLocalisationPackage}")
ant.zipfileset(dir: "${shareLocalisationPackage}")
}
}
/** Subproject configuration */ /** Subproject configuration */
subprojects { subprojects {
@@ -57,6 +98,7 @@ subprojects {
sourceJavaDir = 'source/java' sourceJavaDir = 'source/java'
sourceWebDir = 'source/web' sourceWebDir = 'source/web'
assembleDir = 'build/assemble' assembleDir = 'build/assemble'
i18nDir = 'build/i18n'
testJavaDir = 'test/java' testJavaDir = 'test/java'
testResourceDir = 'test/resources' testResourceDir = 'test/resources'
configDir = 'config' configDir = 'config'
@@ -213,6 +255,27 @@ subprojects {
ant.delete(includeEmptyDirs: 'true', dir: explodedDepsDir) ant.delete(includeEmptyDirs: 'true', dir: explodedDepsDir)
} }
/** --- I18N tasks */
task assembleLocalisationPackage << {
delete i18nDir
copy {
from configDir
include '**/*.properties'
exclude '**/*_*.properties'
exclude '**/rm-method-security.properties'
exclude '**/alfresco-global.properties'
exclude '**/log4j.properties'
exclude '**/module.properties'
exclude '**/file-mapping.properties'
into "${i18nDir}/${project.name}"
includeEmptyDirs = false
}
}
/** --- AMP tasks --- */ /** --- AMP tasks --- */
task copyWar(type: Copy) { task copyWar(type: Copy) {
@@ -272,13 +335,6 @@ subprojects {
} }
} }
task localisationPackage (type: Copy) << {
from configDir
include "**/*.properties"
into "${assembleDir}/i18n"
}
task deployExploded(dependsOn: 'jar') << { task deployExploded(dependsOn: 'jar') << {
def jarFileObj = file(jarFilePath) def jarFileObj = file(jarFilePath)