From 0edede13d1181528aca00f3b199de7c4f58c405f Mon Sep 17 00:00:00 2001 From: Roy Wetherall Date: Thu, 22 Mar 2012 10:29:57 +0000 Subject: [PATCH] RM: Build script updates git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@34686 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- build.gradle | 79 ++++++++++++++++++++++++++----------- rm-server/build.gradle | 11 ++++++ rm-server/gradle.properties | 2 +- 3 files changed, 68 insertions(+), 24 deletions(-) create mode 100644 rm-server/build.gradle diff --git a/build.gradle b/build.gradle index 27385ac861..049c72fc88 100644 --- a/build.gradle +++ b/build.gradle @@ -14,33 +14,66 @@ subprojects { flatDir { dirs libsDir } - mavenCentral() } - dependencies { - - compile fileTree(dir: libsDir, include: '*.jar') - - compile fileTree(dir: 'libs/test', include: '*.jar') - compile group: 'javax.servlet', name: 'servlet-api', version: '2.5' - compile 'org.springframework:spring-test:2.5' + dependencies { + compile fileTree(dir: libsDir, include: '*.jar') } - task unpackWar << { - - println 'Unpacking ' + warFileName + ' WAR ...' - - // Clean out any existing jars - ant.delete { - ant.fileset(dir: libsDir, includes: '*.jar') - } - - // Unpack WAR - ant.unzip(src: warFile, dest: libsDir) { - ant.patternset { - ant.include(name: '**/*.jar') - } - ant.mapper(type: 'flatten') + compileJava.doFirst { + if (areLibsUnpacked(file(libsDir)) == false) { + tasks.unpackLibs.execute() } } + + task cleanLibs << { + ant.delete { + ant.fileset(dir: libsDir, includes: '*.jar') + } + } + + task refreshLibs (dependsOn: ['cleanLibs', 'unpackLibs']) + + task unpackLibs << { + + if (file(warFile).exists()) { + + println 'Unpacking libs from ' + warFileName + ' WAR' + + // unpack the jars from the war file + ant.unzip(src: warFile, dest: libsDir) { + ant.patternset { + ant.include(name: '**/*.jar') + } + ant.mapper(type: 'flatten') + } + } + else { + + // TODO eventually we will be able to retrieve the war file if we don't have it + println 'The ' + warFile + ' was not found.' + } + } + +// task amp << { +// +// ant.zip(destfile: 'build/dist/blar.amp', update: 'true') { +// +// ant.zipfileset(file: '../module.properties') +// ant.zipfileset(file: 'build/libs/rm.jar', prefix: 'lib') +// ant.zipfileset(dir: '/config', prefix: 'config') { +// ant.exclude(name: '**/module.properties') +// } +// } +// } + +} + +Boolean areLibsUnpacked(dir){ + + result = false; + dir.eachFileMatch(~/.*\.jar/) { + result = true; + } + return result; } diff --git a/rm-server/build.gradle b/rm-server/build.gradle new file mode 100644 index 0000000000..ab05b52b03 --- /dev/null +++ b/rm-server/build.gradle @@ -0,0 +1,11 @@ + +repositories { + mavenCentral() +} + +dependencies { + compile fileTree(dir: 'libs/test', include: '*.jar') + compile group: 'javax.servlet', name: 'servlet-api', version: '2.5' + compile 'org.springframework:spring-test:2.5' +} + diff --git a/rm-server/gradle.properties b/rm-server/gradle.properties index 1014ee0ed2..97dce3567d 100644 --- a/rm-server/gradle.properties +++ b/rm-server/gradle.properties @@ -1,2 +1,2 @@ -warFile=build/war/alfresco.war +warFile=war/alfresco.war warFileName=Alfresco