azkaban-developers
Changes
build.gradle 109(+106 -3)
Details
build.gradle 109(+106 -3)
diff --git a/build.gradle b/build.gradle
index 97c70b8..22ef51b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,17 +1,27 @@
apply plugin: 'java'
apply plugin: 'eclipse'
-def getVersionName = { ->
+/**
+ * Helper that calls a command and returns the output
+ */
+def cmdCaller = { commandln ->
def stdout = new ByteArrayOutputStream()
exec {
- commandLine 'git', 'describe', '--tags', '--abbrev=0'
+ commandLine commandln
standardOutput = stdout
}
def out = stdout.toString().trim()
- println out
return stdout.toString().trim()
}
+
+/**
+ * Git version name from git tag
+ */
+def getVersionName = { ->
+ return cmdCaller(['git', 'describe', '--tags', '--abbrev=0'])
+}
+
version = getVersionName()
archivesBaseName = 'azkaban'
check.dependsOn.remove(test)
@@ -164,7 +174,19 @@ task web(dependsOn: ['compileLess', 'compileDust']) << {
* Gets the version name from the latest Git tag
*/
task createVersionFile() << {
+ String gitCommitHash = cmdCaller(['git', 'rev-parse', 'HEAD']);
+ String gitRepo = cmdCaller(['git', 'config', '--get', 'remote.origin.url']);
+ def date = new Date()
+ def formattedDate = date.format('yyyy-MM-dd hh:mm zzz')
+
+ String versionStr = version + '\n' +
+ gitCommitHash + '\n' +
+ gitRepo + '\n' +
+ formattedDate + '\n'
+ File versionFile = file('build/package/version.file')
+ versionFile.write(versionStr)
+
}
task packageSolo(dependsOn: [jar, 'web', 'createVersionFile']) << {
@@ -204,4 +226,85 @@ task packageSolo(dependsOn: [jar, 'web', 'createVersionFile']) << {
into packageDir + '/lib'
from configurations.compile
}
+
+ copy {
+ into packageDir
+ from 'build/package/version.file'
+ }
+}
+
+task packageExec(dependsOn: [jar, 'web', 'createVersionFile']) << {
+ String packageDir = 'build/package/azkaban-exec-server'
+
+ println 'Creating Azkaban Executor Server Package into ' + packageDir
+ mkdir packageDir
+ mkdir packageDir + '/extlib'
+ mkdir packageDir + '/plugins'
+
+ println 'Copying Exec server bin & conf'
+ copy {
+ from('src/package/execserver')
+ into(packageDir)
+ }
+
+ println 'Copying Azkaban lib'
+ copy {
+ from('$buildDir/libs')
+ into(packageDir + '/lib')
+ }
+
+ println 'Copying web'
+ copy {
+ from('$buildDir/web')
+ into(packageDir + '/web')
+ }
+
+ println 'Copying dependency jars'
+ copy {
+ into packageDir + '/lib'
+ from configurations.compile
+ }
+
+ copy {
+ into packageDir
+ from 'build/package/version.file'
+ }
+}
+
+task packageWeb(dependsOn: [jar, 'web', 'createVersionFile']) << {
+ String packageDir = 'build/package/azkaban-web-server'
+
+ println 'Creating Azkaban Web Server Package into ' + packageDir
+ mkdir packageDir
+ mkdir packageDir + '/extlib'
+ mkdir packageDir + '/plugins'
+
+ println 'Copying Web server bin & conf'
+ copy {
+ from('src/package/webserver')
+ into(packageDir)
+ }
+
+ println 'Copying Azkaban lib'
+ copy {
+ from('$buildDir/libs')
+ into(packageDir + '/lib')
+ }
+
+ println 'Copying web'
+ copy {
+ from('$buildDir/web')
+ into(packageDir + '/web')
+ }
+
+ println 'Copying dependency jars'
+ copy {
+ into packageDir + '/lib'
+ from configurations.compile
+ }
+
+ copy {
+ into packageDir
+ from 'build/package/version.file'
+ }
}