azkaban-developers
Details
build.gradle 244(+130 -114)
diff --git a/build.gradle b/build.gradle
index b508e46..8ace64a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,5 +1,15 @@
+buildscript {
+ repositories {
+ mavenCentral()
+ }
+ dependencies {
+ classpath 'de.obqo.gradle:gradle-lesscss-plugin:1.0-1.3.3'
+ }
+}
+
apply plugin: 'java'
apply plugin: 'eclipse'
+apply plugin: 'lesscss'
defaultTasks 'dist'
@@ -48,10 +58,8 @@ configurations {
extendsFrom compile
}
}
-configurations.compile {
- description = 'compile classpath'
-}
-pegasusVersion = '1.15.7'
+
+ext.pegasusVersion = '1.15.7'
dependencies {
compile (
@@ -93,7 +101,7 @@ dependencies {
[group: 'com.linkedin.parseq', name: 'parseq', version: '1.3.7'],
[group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.3.2']
)
-
+
generateRestli (
[group: 'com.linkedin.pegasus', name:'generator', version: pegasusVersion],
[group: 'com.linkedin.pegasus', name:'restli-tools', version: pegasusVersion]
@@ -162,15 +170,12 @@ eclipse.classpath.file {
}
}
-/**
- * Invokes a makefile target that will compile less files
- */
-task compileLess(type:Exec) {
- workingDir 'src/main/less'
- commandLine 'make', '-e'
- environment (
- OBJ_DIR : file(new File(buildDir,'/less'))
- )
+lesscss {
+ source = fileTree('src/main/less') {
+ include 'azkaban.less'
+ include 'azkaban-graph.less'
+ }
+ dest = 'build/web/css'
}
/**
@@ -181,27 +186,22 @@ task compileDust(type:Exec) {
commandLine 'make', '-e'
environment (
OBJ_DIR : file(new File(buildDir,'/dust'))
- )
+ )
}
/**
* Copies web files to a build directory
*/
-task web(dependsOn: ['compileLess', 'compileDust']) << {
+task web(dependsOn: ['lesscss', 'compileDust']) << {
println 'Copying web files'
copy {
from('src/web')
into('build/web')
}
-
copy {
from('build/dust')
into('build/web/js')
}
- copy {
- from('build/less')
- into('build/web/css')
- }
}
/*
@@ -223,224 +223,240 @@ task createVersionFile() << {
versionFile.write(versionStr)
}
+ext.soloAppendix = 'solo-server'
+ext.soloPackageDir = 'build/package/' + jar.baseName + '-' + soloAppendix
+
/**
- * Packages the SoloServer version of Azkaban
+ * Copies the Azkaban Solo Server files into its package directory.
*/
-task packageSolo(type: Tar, dependsOn: [jar, 'web', 'createVersionFile']) {
- appendix = 'solo-server'
- packageDir = 'build/package/' + baseName + '-' + appendix
+task copySolo(dependsOn: ['jar', 'web', 'createVersionFile']) << {
+ delete soloPackageDir
+ mkdir soloPackageDir
- println 'Creating Azkaban Solo Server Package into ' + packageDir
- mkdir packageDir
- mkdir packageDir + '/extlib'
- mkdir packageDir + '/plugins'
+ println 'Creating Azkaban Solo Server Package into ' + soloPackageDir
+ mkdir soloPackageDir + '/lib'
+ mkdir soloPackageDir + '/extlib'
+ mkdir soloPackageDir + '/plugins'
- println 'Copying Soloserver bin & conf'
copy {
+ println 'Copying Soloserver bin & conf'
from('src/package/soloserver')
- into(packageDir)
+ into(soloPackageDir)
}
- println 'Copying Azkaban lib'
copy {
+ println 'Copying Azkaban lib'
from('build/libs')
- into(packageDir + '/lib')
+ into(soloPackageDir + '/lib')
}
- println 'Copying web'
copy {
+ println 'Copying web'
from('build/web')
- into(packageDir + '/web')
+ into(soloPackageDir + '/web')
}
- println 'Copying sql'
copy {
+ println 'Copying sql'
from('src/sql')
- into(packageDir + '/sql')
+ into(soloPackageDir + '/sql')
}
- println 'Copying dependency jars'
copy {
- into packageDir + '/lib'
+ println 'Copying dependency jars'
+ into soloPackageDir + '/lib'
from configurations.compile
}
copy {
- into packageDir
+ println 'Copying version file'
+ into soloPackageDir
from 'build/package/version.file'
}
+}
- println 'Tarballing Solo Package'
+/**
+ * Packages the SoloServer version of Azkaban
+ */
+task packageSolo(type: Tar, dependsOn: 'copySolo') {
+ appendix = soloAppendix
extension = 'tar.gz'
compression = Compression.GZIP
- basedir = baseName + '-' + appendix + '-' + version
- println 'Source is in ' + packageDir
+ ext.basedir = baseName + '-' + appendix + '-' + version
into(basedir) {
- from packageDir
+ from soloPackageDir
exclude 'bin'
}
- dst_bin = basedir + '/bin'
- src_bin = packageDir + '/bin'
+ ext.dst_bin = basedir + '/bin'
+ ext.src_bin = soloPackageDir + '/bin'
from(src_bin) {
into dst_bin
fileMode = 0755
}
}
+ext.sqlPackageDir = 'build/package/sql'
+
/**
- * Packages the Sql Scripts for Azkaban DB
+ * Copies the SQL files into its package directory.
*/
-task packageSql(type: Tar) {
- String packageDir = 'build/package/sql'
-
- println 'Creating Azkaban SQL Scripts into ' + packageDir
- mkdir packageDir
+task copySql() << {
+ println 'Creating Azkaban SQL Scripts into ' + sqlPackageDir
+ delete sqlPackageDir
+ mkdir sqlPackageDir
- println 'Copying SQL files'
copy {
+ println 'Copying SQL files'
from('src/sql')
- into(packageDir)
+ into(sqlPackageDir)
}
- String destFile = packageDir + '/create-all-sql-' + version + '.sql';
- println('Concating create scripts to ' + destFile)
+ String destFile = sqlPackageDir + '/create-all-sql-' + version + '.sql';
ant.concat(destfile:destFile, fixlastline:'yes') {
+ println('Concating create scripts to ' + destFile)
fileset(dir: 'src/sql') {
exclude(name: 'update.*.sql')
exclude(name: 'database.properties')
}
}
+}
- println 'Tarballing SQL Package'
+/**
+ * Packages the Sql Scripts for Azkaban DB
+ */
+task packageSql(type: Tar, dependsOn: 'copySql') {
extension = 'tar.gz'
compression = Compression.GZIP
appendix = 'sql'
- basedir = baseName + '-' + appendix + '-' + version
- packageDir = 'build/package/sql'
- println 'Source is in ' + packageDir
+ ext.basedir = baseName + '-' + appendix + '-' + version
into(basedir) {
- from packageDir
+ from sqlPackageDir
}
}
+ext.execAppendix = 'exec-server'
+ext.execPackageDir = 'build/package/' + jar.baseName + '-' + execAppendix
+
/**
- * Packages the Azkaban Executor Server
+ * Copies the Azkaban Executor Server files into its package directory.
*/
-task packageExec(type: Tar, dependsOn: [jar, 'createVersionFile']) {
- appendix = 'exec-server'
- String packageDir = 'build/package/' + baseName + '-' + appendix
+task copyExec(dependsOn: ['jar', 'createVersionFile']) << {
+ delete execPackageDir
+ println 'Creating Azkaban Executor Server Package into ' + execPackageDir
+ mkdir execPackageDir
+ mkdir execPackageDir + '/lib'
+ mkdir execPackageDir + '/extlib'
+ mkdir execPackageDir + '/plugins'
- delete packageDir
- println 'Creating Azkaban Executor Server Package into ' + packageDir
- mkdir packageDir
- mkdir packageDir + '/extlib'
- mkdir packageDir + '/plugins'
-
- println 'Copying Exec server bin & conf'
copy {
+ println 'Copying Exec server bin & conf'
from('src/package/execserver')
- into(packageDir)
+ into(execPackageDir)
}
-
- String jarFile = 'build/libs/' + baseName + '-' + version + '.jar'
- println 'Copying Azkaban lib ' + jarFile
+
copy {
- from(jarFile)
- into(packageDir + '/lib')
+ println 'Copying Azkaban lib '
+ from('build/libs')
+ into(execPackageDir + '/lib')
}
- println 'Copying dependency jars'
copy {
- into packageDir + '/lib'
+ println 'Copying dependency jars'
+ into execPackageDir + '/lib'
from configurations.compile
}
copy {
- into packageDir
+ into execPackageDir
from 'build/package/version.file'
}
+}
- println 'Tarballing Web Package'
+/**
+ * Packages the Azkaban Executor Server
+ */
+task packageExec(type: Tar, dependsOn: 'copyExec') {
+ appendix = execAppendix
extension = 'tar.gz'
compression = Compression.GZIP
- basedir = baseName + '-' + appendix + '-' + version
- packageDir = 'build/package/' + baseName + '-' + appendix
- println 'Source is in ' + packageDir
-
+ ext.basedir = baseName + '-' + appendix + '-' + version
into(basedir) {
- from packageDir
+ from execPackageDir
exclude 'bin'
}
- dst_bin = basedir + '/bin'
- src_bin = packageDir + '/bin'
+ ext.dst_bin = basedir + '/bin'
+ ext.src_bin = execPackageDir + '/bin'
from(src_bin) {
into dst_bin
fileMode = 0755
}
}
+ext.webAppendix = 'web-server'
+ext.webPackageDir = 'build/package/' + jar.baseName + '-' + webAppendix
+
/**
- * Packages the Azkaban Web Server
+ * Copies the Azkaban Web Server files into its package directory.
*/
-task packageWeb(type: Tar, dependsOn: [jar, 'web', 'createVersionFile']) {
- appendix = 'web-server'
- String packageDir = 'build/package/' + baseName + '-' + appendix
- delete packageDir
-
- println 'Creating Azkaban Web Server Package into ' + packageDir
- mkdir packageDir
- mkdir packageDir + '/extlib'
- mkdir packageDir + '/plugins'
+task copyWeb(dependsOn: ['jar', 'web', 'createVersionFile']) << {
+ println 'Creating Azkaban Web Server Package into ' + webPackageDir
+ delete webPackageDir
+ mkdir webPackageDir
+ mkdir webPackageDir + '/lib'
+ mkdir webPackageDir + '/extlib'
+ mkdir webPackageDir + '/plugins'
println 'Copying Web server bin & conf'
copy {
from('src/package/webserver')
- into(packageDir)
+ into(webPackageDir)
}
-
- String jarFile = 'build/libs/' + baseName + '-' + version + '.jar'
- println 'Copying Azkaban lib ' + jarFile
+ println 'Copying Azkaban lib '
copy {
- from(jarFile)
- into(packageDir + '/lib')
+ from('build/libs')
+ into(webPackageDir + '/lib')
}
println 'Copying web'
copy {
from('build/web')
- into(packageDir + '/web')
+ into(webPackageDir + '/web')
}
println 'Copying dependency jars'
copy {
- into packageDir + '/lib'
+ into webPackageDir + '/lib'
from configurations.compile
}
copy {
- into packageDir
+ into webPackageDir
from 'build/package/version.file'
}
+}
- println 'Tarballing Web Package'
+/**
+ * Packages the Azkaban Web Server
+ */
+task packageWeb(type: Tar, dependsOn: 'copyWeb') {
+ appendix = webAppendix
extension = 'tar.gz'
compression = Compression.GZIP
- basedir = baseName + '-' + appendix + '-' + version
- println 'Source is in ' + packageDir
+ ext.basedir = baseName + '-' + appendix + '-' + version
into(basedir) {
- from packageDir
+ from webPackageDir
exclude 'bin'
}
- dst_bin = basedir + '/bin'
- src_bin = packageDir + '/bin'
+ ext.dst_bin = basedir + '/bin'
+ ext.src_bin = webPackageDir + '/bin'
from(src_bin) {
into dst_bin
fileMode = 0755