azkaban-aplcache
Changes
.gitignore 9(+7 -2)
azkaban-common/build.gradle 64(+64 -0)
azkaban-execserver/build.gradle 56(+56 -0)
azkaban-migration/build.gradle 40(+40 -0)
azkaban-soloserver/build.gradle 45(+45 -0)
azkaban-sql/build.gradle 10(+10 -0)
azkaban-test/build.gradle 78(+78 -0)
azkaban-webserver/build.gradle 141(+141 -0)
build.gradle 463(+7 -456)
gradle.properties 23(+21 -2)
Details
.gitignore 9(+7 -2)
diff --git a/.gitignore b/.gitignore
index 137c932..771b0fd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,11 +1,16 @@
-*.iml
+
*.log
*.swp
.classpath
.gradle/
-.idea/
.project
.settings/
/bin
bin/
build/
+
+# Intellij files
+.idea
+*.iml
+*.ipr
+*.iws
azkaban-common/build.gradle 64(+64 -0)
diff --git a/azkaban-common/build.gradle b/azkaban-common/build.gradle
new file mode 100644
index 0000000..6a24945
--- /dev/null
+++ b/azkaban-common/build.gradle
@@ -0,0 +1,64 @@
+configurations {
+ all {
+ transitive = false
+ }
+ errorprone {
+ transitive = true
+ }
+}
+
+apply plugin: 'c'
+model {
+ components {
+ main(NativeExecutableSpec) {
+ sources {
+ c {
+ source {
+ srcDir "src/main"
+ include "**/*.c"
+ }
+ }
+ }
+ }
+ }
+}
+
+dependencies {
+ compile('com.google.guava:guava:13.0.1')
+ compile('com.h2database:h2:1.3.170')
+ compile('commons-codec:commons-codec:1.9')
+ compile('commons-collections:commons-collections:3.2.2')
+ compile('commons-configuration:commons-configuration:1.8')
+ compile('commons-dbcp:commons-dbcp:1.4')
+ compile('commons-dbutils:commons-dbutils:1.5')
+ compile('commons-fileupload:commons-fileupload:1.2.1')
+ compile('commons-io:commons-io:2.4')
+ compile('commons-lang:commons-lang:2.6')
+ compile('commons-logging:commons-logging:1.1.1')
+ compile('commons-pool:commons-pool:1.6')
+ compile('javax.mail:mail:1.4.5')
+ compile('javax.servlet:servlet-api:2.5')
+ compile('joda-time:joda-time:2.0')
+ compile('log4j:log4j:1.2.16')
+ compile('mysql:mysql-connector-java:5.1.28')
+ compile('net.sf.jopt-simple:jopt-simple:4.3')
+ compile('org.apache.commons:commons-email:1.2')
+ compile('org.apache.commons:commons-jexl:2.1.1')
+ compile('org.apache.commons:commons-math3:3.0')
+ compile('org.apache.httpcomponents:httpclient:4.3.1')
+ compile('org.apache.httpcomponents:httpcore:4.3')
+ compile('org.apache.velocity:velocity:1.7')
+ compile('org.codehaus.jackson:jackson-core-asl:1.9.5')
+ compile('org.codehaus.jackson:jackson-mapper-asl:1.9.5')
+ compile('org.mortbay.jetty:jetty:6.1.26')
+ compile('org.mortbay.jetty:jetty-util:6.1.26')
+ compile('org.slf4j:slf4j-api:1.6.1')
+
+ testCompile(project(':azkaban-test').sourceSets.test.output)
+ testCompile('junit:junit:4.11')
+ testCompile('org.hamcrest:hamcrest-all:1.3')
+}
+
+tasks.withType(JavaCompile) {
+ options.encoding = "UTF-8"
+}
azkaban-execserver/build.gradle 56(+56 -0)
diff --git a/azkaban-execserver/build.gradle b/azkaban-execserver/build.gradle
new file mode 100644
index 0000000..0d02240
--- /dev/null
+++ b/azkaban-execserver/build.gradle
@@ -0,0 +1,56 @@
+configurations {
+ all {
+ transitive = false
+ }
+ errorprone {
+ transitive = true
+ }
+}
+
+dependencies {
+ compile(project(':azkaban-common'))
+ compile('commons-io:commons-io:2.4')
+ compile('javax.servlet:servlet-api:2.5')
+ compile('joda-time:joda-time:2.0')
+ compile('log4j:log4j:1.2.16')
+ compile('commons-logging:commons-logging:1.1.1')
+ compile('org.apache.httpcomponents:httpclient:4.3.1')
+ compile('org.apache.httpcomponents:httpcore:4.3')
+ compile('org.mortbay.jetty:jetty:6.1.26')
+ compile('org.mortbay.jetty:jetty-util:6.1.26')
+ compile('org.codehaus.jackson:jackson-core-asl:1.9.5')
+ compile('org.codehaus.jackson:jackson-mapper-asl:1.9.5')
+
+ testCompile('junit:junit:4.11')
+ testCompile('org.hamcrest:hamcrest-all:1.3')
+ testCompile(project(':azkaban-common').sourceSets.test.output)
+}
+
+task createDirs() << {
+ file('build/package/extlib').mkdirs()
+ file('build/package/plugins').mkdirs()
+}
+
+task copyDeps(type: Copy, dependsOn: 'build') {
+ from(project(':azkaban-common').configurations.compile)
+ from(configurations.compile)
+ into('build/package/lib')
+}
+
+task copyLibs(type: Copy, dependsOn: 'build') {
+ from('build/libs')
+ into('build/package/lib')
+}
+
+task copyPackage(type: Copy) {
+ from('src/package')
+ into('build/package')
+}
+
+task copy(dependsOn: [
+ 'createVersionFile',
+ 'createDirs',
+ 'copyDeps',
+ 'copyLibs',
+ 'copyPackage']) {
+}
azkaban-migration/build.gradle 40(+40 -0)
diff --git a/azkaban-migration/build.gradle b/azkaban-migration/build.gradle
new file mode 100644
index 0000000..743c1fc
--- /dev/null
+++ b/azkaban-migration/build.gradle
@@ -0,0 +1,40 @@
+configurations {
+ all {
+ transitive = false
+ }
+ errorprone {
+ transitive = true
+ }
+}
+
+dependencies {
+ compile(project(':azkaban-common'))
+ compile('commons-io:commons-io:2.4')
+ compile('commons-dbcp:commons-dbcp:1.4')
+ compile('commons-dbutils:commons-dbutils:1.5')
+ compile('joda-time:joda-time:2.0')
+ compile('log4j:log4j:1.2.16')
+}
+
+task copyLibs(type: Copy, dependsOn: 'build') {
+ from('build/libs')
+ into('build/package/lib')
+}
+
+task copyDeps(type: Copy, dependsOn: 'build') {
+ from(project(':azkaban-common').configurations.compile)
+ from(configurations.compile)
+ into('build/package/lib')
+}
+
+task copyPackage(type: Copy) {
+ from('src/package')
+ into('build/package')
+}
+
+task copy(dependsOn: [
+ 'createVersionFile',
+ 'copyLibs',
+ 'copyDeps',
+ 'copyPackage']) {
+}
azkaban-soloserver/build.gradle 45(+45 -0)
diff --git a/azkaban-soloserver/build.gradle b/azkaban-soloserver/build.gradle
new file mode 100644
index 0000000..fbfdc3a
--- /dev/null
+++ b/azkaban-soloserver/build.gradle
@@ -0,0 +1,45 @@
+dependencies {
+ compile(project(':azkaban-common'))
+ compile(project(':azkaban-webserver'))
+ compile(project(':azkaban-execserver'))
+}
+
+task createDirs() << {
+ file('build/package/extlib').mkdirs()
+ file('build/package/plugins').mkdirs()
+}
+
+task copyDeps(type: Copy, dependsOn: 'build') {
+ from(configurations.compile)
+ into('build/package/lib')
+}
+
+task copyLibs(type: Copy, dependsOn: 'build') {
+ from('build/libs')
+ into('build/package/lib')
+}
+
+task copyPackage(type: Copy) {
+ from('src/package')
+ into('build/package')
+}
+
+task copyWeb(type: Copy, dependsOn: ':azkaban-webserver:copy') {
+ from(project(':azkaban-webserver').files('build/package/web'))
+ into('build/package/web')
+}
+
+task copySql(type: Copy) {
+ from(project(':azkaban-sql').files('src/sql'))
+ into('build/package/sql')
+}
+
+task copy(dependsOn: [
+ 'createVersionFile',
+ 'createDirs',
+ 'copyDeps',
+ 'copyLibs',
+ 'copyPackage',
+ 'copyWeb',
+ 'copySql']) {
+}
azkaban-sql/build.gradle 10(+10 -0)
diff --git a/azkaban-sql/build.gradle b/azkaban-sql/build.gradle
new file mode 100644
index 0000000..04039b5
--- /dev/null
+++ b/azkaban-sql/build.gradle
@@ -0,0 +1,10 @@
+task concat() << {
+ ext.destFile = 'build/sql/create-all-sql-' + version + '.sql';
+ ant.concat(destfile: destFile, fixlastline: 'yes') {
+ logger.info('Concating create scripts to ' + destFile)
+ fileset(dir: 'src/sql') {
+ exclude(name: 'update.*.sql')
+ exclude(name: 'database.properties')
+ }
+ }
+}
azkaban-test/build.gradle 78(+78 -0)
diff --git a/azkaban-test/build.gradle b/azkaban-test/build.gradle
new file mode 100644
index 0000000..24aeb40
--- /dev/null
+++ b/azkaban-test/build.gradle
@@ -0,0 +1,78 @@
+apply plugin: 'distribution'
+
+dependencies {
+ testCompile('junit:junit:4.11')
+}
+
+distributions {
+ animal {
+ baseName = 'test-animal'
+ contents {
+ from { 'src/test/resources/executions/animal' }
+ }
+ }
+
+ embedded {
+ baseName = 'test-embedded'
+ contents {
+ from { 'src/test/resources/executions/embedded' }
+ }
+ }
+
+ embedded2 {
+ baseName = 'test-embedded2'
+ contents {
+ from { 'src/test/resources/executions/embedded2' }
+ }
+ }
+
+ embedded3 {
+ baseName = 'test-embedded3'
+ contents {
+ from { 'src/test/resources/executions/embedded3' }
+ }
+ }
+
+ embeddedBad {
+ baseName = 'test-embedded-bad'
+ contents {
+ from { 'src/test/resources/executions/embeddedBad' }
+ }
+ }
+
+ execpropstest {
+ baseName = 'test-execpropstest'
+ contents {
+ from { 'src/test/resources/executions/execpropstest' }
+ }
+ }
+
+ exectest1 {
+ baseName = 'test-exectest1'
+ contents {
+ from { 'src/test/resources/executions/exectest1' }
+ }
+ }
+
+ exectest2 {
+ baseName = 'test-exectest2'
+ contents {
+ from { 'src/test/resources/executions/exectest2' }
+ }
+ }
+
+ logtest {
+ baseName = 'test-logtest'
+ contents {
+ from { 'src/test/resources/executions/logtest' }
+ }
+ }
+}
+
+distZip.dependsOn animalDistZip, embeddedDistZip, embedded2DistZip,
+ embedded3DistZip, embeddedBadDistZip, execpropstestDistZip,
+ exectest1DistZip, exectest2DistZip, logtestDistZip
+
+distTar.dependsOn animalDistTar, embeddedDistTar, embedded2DistTar,
+ embedded3DistTar, embeddedBadDistTar, execpropstestDistTar,
+ exectest1DistTar, exectest2DistTar, logtestDistTar
azkaban-webserver/build.gradle 141(+141 -0)
diff --git a/azkaban-webserver/build.gradle b/azkaban-webserver/build.gradle
new file mode 100644
index 0000000..3b984fc
--- /dev/null
+++ b/azkaban-webserver/build.gradle
@@ -0,0 +1,141 @@
+apply plugin: 'lesscss'
+apply plugin: 'dustjs'
+
+ext.pegasusVersion = '1.15.7'
+
+configurations {
+ all {
+ transitive = false
+ }
+ generateRestli {
+ transitive = true
+ }
+ errorprone {
+ transitive = true
+ }
+}
+
+dependencies {
+ compile(project(':azkaban-common'))
+ compile('com.linkedin.parseq:parseq:1.3.7')
+ compile('com.linkedin.pegasus:data:' + pegasusVersion)
+ compile('com.linkedin.pegasus:gradle-plugins:' + pegasusVersion)
+ compile('com.linkedin.pegasus:li-jersey-uri:' + pegasusVersion)
+ compile('com.linkedin.pegasus:pegasus-common:' + pegasusVersion)
+ compile('com.linkedin.pegasus:restli-common:' + pegasusVersion)
+ compile('com.linkedin.pegasus:restli-server:' + pegasusVersion)
+ compile('com.linkedin.pegasus:r2:' + pegasusVersion)
+ compile('com.fasterxml.jackson.core:jackson-core:2.3.2')
+ compile('commons-lang:commons-lang:2.6')
+ compile('commons-io:commons-io:2.4')
+ compile('commons-fileupload:commons-fileupload:1.2.1')
+ compile('javax.servlet:servlet-api:2.5')
+ compile('joda-time:joda-time:2.0')
+ compile('log4j:log4j:1.2.16')
+ compile('net.sf.jopt-simple:jopt-simple:4.3')
+ compile('org.apache.velocity:velocity:1.7')
+ compile('org.apache.velocity:velocity-tools:2.0')
+ compile('org.mortbay.jetty:jetty:6.1.26')
+ compile('org.mortbay.jetty:jetty-util:6.1.26')
+
+ testCompile('commons-collections:commons-collections:3.2.2')
+ testCompile('junit:junit:4.11')
+ testCompile('org.hamcrest:hamcrest-all:1.3')
+ testCompile('org.mockito:mockito-all:1.10.19')
+
+ generateRestli('com.linkedin.pegasus:generator:' + pegasusVersion)
+ generateRestli('com.linkedin.pegasus:restli-tools:' + pegasusVersion)
+
+ // Needed by Velocity at runtime
+ testRuntime('commons-collections:commons-collections:3.2.2')
+ testCompile('junit:junit:4.11')
+ testCompile('org.hamcrest:hamcrest-all:1.3')
+}
+
+sourceSets {
+ main {
+ java {
+ srcDirs 'src/main/java', 'src/restli/generatedJava', 'src/restli/java'
+ }
+ }
+}
+
+task restliTemplateGenerator(type: JavaExec) {
+ mkdir 'src/restli/generatedJava'
+
+ main = 'com.linkedin.pegasus.generator.PegasusDataTemplateGenerator'
+ args = ['src/restli/generatedJava','src/restli/schemas']
+ classpath = configurations.generateRestli
+}
+
+task restliRestSpecGenerator(dependsOn: [restliTemplateGenerator], type: JavaExec) << {
+ mkdir 'src/restli/generatedRestSpec'
+
+ main = 'com.linkedin.restli.tools.idlgen.RestLiResourceModelExporterCmdLineApp'
+ args = ['-outdir', 'src/restli/generatedRestSpec', '-sourcepath', 'src/restli/java']
+ classpath = configurations.generateRestli
+}
+
+task restli(dependsOn: restliTemplateGenerator) << {
+}
+
+compileJava.dependsOn.add('restli')
+
+lesscss {
+ source = fileTree('src/main/less') {
+ include 'azkaban.less'
+ include 'azkaban-graph.less'
+ }
+ dest = 'build/less'
+}
+
+dustjs {
+ source = fileTree('src/main/tl')
+ dest = 'build/dust'
+}
+
+task createDirs() << {
+ file('build/package/extlib').mkdirs()
+ file('build/package/plugins').mkdirs()
+}
+
+task copyWeb(type: Copy) {
+ from('src/web')
+ into('build/package/web')
+}
+
+task copyLess(type: Copy, dependsOn: ['lesscss', 'copyWeb']) {
+ from('build/less')
+ into('build/package/web/css')
+}
+
+task copyDust(type: Copy, dependsOn: ['dustjs', 'copyWeb']) {
+ from('build/dust')
+ into('build/package/web/js')
+}
+
+task copyDeps(type: Copy, dependsOn: 'build') {
+ from(project(':azkaban-common').configurations.compile)
+ from(configurations.compile)
+ into('build/package/lib')
+}
+
+task copyLibs(type: Copy, dependsOn: 'build') {
+ from('build/libs')
+ into('build/package/lib')
+}
+
+task copyPackage(type: Copy) {
+ from('src/package')
+ into('build/package')
+}
+
+task copy(dependsOn: [
+ 'createVersionFile',
+ 'createDirs',
+ 'copyLess',
+ 'copyDust',
+ 'copyDeps',
+ 'copyLibs',
+ 'copyPackage']) {
+}
build.gradle 463(+7 -456)
diff --git a/build.gradle b/build.gradle
index d473a72..d798528 100644
--- a/build.gradle
+++ b/build.gradle
@@ -6,12 +6,15 @@ buildscript {
}
}
dependencies {
+ classpath 'com.cinnober.gradle:semver-git:2.2.1'
classpath 'com.linkedin:gradle-dustjs-plugin:1.0.0'
classpath 'de.obqo.gradle:gradle-lesscss-plugin:1.0-1.3.3'
classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.0.8'
}
}
+apply plugin: 'com.cinnober.gradle.semver-git'
+apply plugin: 'idea'
apply plugin: 'distribution'
allprojects {
@@ -35,9 +38,13 @@ def cmdCaller = { commandln ->
subprojects {
apply plugin: 'java'
+ apply plugin: 'idea'
apply plugin: 'eclipse'
apply plugin: 'net.ltgt.errorprone'
+ // Set the same version for all sub-projects to root project version
+ version = rootProject.version
+
configurations.errorprone {
resolutionStrategy.force 'com.google.errorprone:error_prone_core:2.0.5'
}
@@ -82,462 +89,6 @@ subprojects {
}
}
-project(':azkaban-common') {
- configurations {
- all {
- transitive = false
- }
- errorprone {
- transitive = true
- }
- }
-
- apply plugin: 'c'
- model {
- components {
- main(NativeExecutableSpec) {
- sources {
- c {
- source {
- srcDir "src/main"
- include "**/*.c"
- }
- }
- }
- }
- }
- }
-
- dependencies {
- compile('com.google.guava:guava:13.0.1')
- compile('com.h2database:h2:1.3.170')
- compile('commons-codec:commons-codec:1.9')
- compile('commons-collections:commons-collections:3.2.2')
- compile('commons-configuration:commons-configuration:1.8')
- compile('commons-dbcp:commons-dbcp:1.4')
- compile('commons-dbutils:commons-dbutils:1.5')
- compile('commons-fileupload:commons-fileupload:1.2.1')
- compile('commons-io:commons-io:2.4')
- compile('commons-lang:commons-lang:2.6')
- compile('commons-logging:commons-logging:1.1.1')
- compile('commons-pool:commons-pool:1.6')
- compile('javax.mail:mail:1.4.5')
- compile('javax.servlet:servlet-api:2.5')
- compile('joda-time:joda-time:2.0')
- compile('log4j:log4j:1.2.16')
- compile('mysql:mysql-connector-java:5.1.28')
- compile('net.sf.jopt-simple:jopt-simple:4.3')
- compile('org.apache.commons:commons-email:1.2')
- compile('org.apache.commons:commons-jexl:2.1.1')
- compile('org.apache.commons:commons-math3:3.0')
- compile('org.apache.httpcomponents:httpclient:4.3.1')
- compile('org.apache.httpcomponents:httpcore:4.3')
- compile('org.apache.velocity:velocity:1.7')
- compile('org.codehaus.jackson:jackson-core-asl:1.9.5')
- compile('org.codehaus.jackson:jackson-mapper-asl:1.9.5')
- compile('org.mortbay.jetty:jetty:6.1.26')
- compile('org.mortbay.jetty:jetty-util:6.1.26')
- compile('org.slf4j:slf4j-api:1.6.1')
-
- testCompile(project(':azkaban-test').sourceSets.test.output)
- testCompile('junit:junit:4.11')
- testCompile('org.hamcrest:hamcrest-all:1.3')
- }
-
- tasks.withType(JavaCompile) {
- options.encoding = "UTF-8"
- }
-
-}
-
-project(':azkaban-migration') {
- configurations {
- all {
- transitive = false
- }
- errorprone {
- transitive = true
- }
- }
-
- dependencies {
- compile(project(':azkaban-common'))
- compile('commons-io:commons-io:2.4')
- compile('commons-dbcp:commons-dbcp:1.4')
- compile('commons-dbutils:commons-dbutils:1.5')
- compile('joda-time:joda-time:2.0')
- compile('log4j:log4j:1.2.16')
- }
-
- task copyLibs(type: Copy, dependsOn: 'build') {
- from('build/libs')
- into('build/package/lib')
- }
-
- task copyDeps(type: Copy, dependsOn: 'build') {
- from(project(':azkaban-common').configurations.compile)
- from(configurations.compile)
- into('build/package/lib')
- }
-
- task copyPackage(type: Copy) {
- from('src/package')
- into('build/package')
- }
-
- task copy(dependsOn: [
- 'createVersionFile',
- 'copyLibs',
- 'copyDeps',
- 'copyPackage']) {
- }
-}
-
-project(':azkaban-webserver') {
- apply plugin: 'lesscss'
- apply plugin: 'dustjs'
-
- ext.pegasusVersion = '1.15.7'
-
- configurations {
- all {
- transitive = false
- }
- generateRestli {
- transitive = true
- }
- errorprone {
- transitive = true
- }
- }
-
- dependencies {
- compile(project(':azkaban-common'))
- compile('com.linkedin.parseq:parseq:1.3.7')
- compile('com.linkedin.pegasus:data:' + pegasusVersion)
- compile('com.linkedin.pegasus:gradle-plugins:' + pegasusVersion)
- compile('com.linkedin.pegasus:li-jersey-uri:' + pegasusVersion)
- compile('com.linkedin.pegasus:pegasus-common:' + pegasusVersion)
- compile('com.linkedin.pegasus:restli-common:' + pegasusVersion)
- compile('com.linkedin.pegasus:restli-server:' + pegasusVersion)
- compile('com.linkedin.pegasus:r2:' + pegasusVersion)
- compile('com.fasterxml.jackson.core:jackson-core:2.3.2')
- compile('commons-lang:commons-lang:2.6')
- compile('commons-io:commons-io:2.4')
- compile('commons-fileupload:commons-fileupload:1.2.1')
- compile('javax.servlet:servlet-api:2.5')
- compile('joda-time:joda-time:2.0')
- compile('log4j:log4j:1.2.16')
- compile('net.sf.jopt-simple:jopt-simple:4.3')
- compile('org.apache.velocity:velocity:1.7')
- compile('org.apache.velocity:velocity-tools:2.0')
- compile('org.mortbay.jetty:jetty:6.1.26')
- compile('org.mortbay.jetty:jetty-util:6.1.26')
-
- testCompile('commons-collections:commons-collections:3.2.2')
- testCompile('junit:junit:4.11')
- testCompile('org.hamcrest:hamcrest-all:1.3')
- testCompile('org.mockito:mockito-all:1.10.19')
-
- generateRestli('com.linkedin.pegasus:generator:' + pegasusVersion)
- generateRestli('com.linkedin.pegasus:restli-tools:' + pegasusVersion)
-
- // Needed by Velocity at runtime
- testRuntime('commons-collections:commons-collections:3.2.2')
- testCompile('junit:junit:4.11')
- testCompile('org.hamcrest:hamcrest-all:1.3')
- }
-
- sourceSets {
- main {
- java {
- srcDirs 'src/main/java', 'src/restli/generatedJava', 'src/restli/java'
- }
- }
- }
-
- task restliTemplateGenerator(type: JavaExec) {
- mkdir 'src/restli/generatedJava'
-
- main = 'com.linkedin.pegasus.generator.PegasusDataTemplateGenerator'
- args = ['src/restli/generatedJava','src/restli/schemas']
- classpath = configurations.generateRestli
- }
-
- task restliRestSpecGenerator(dependsOn: [restliTemplateGenerator], type: JavaExec) << {
- mkdir 'src/restli/generatedRestSpec'
-
- main = 'com.linkedin.restli.tools.idlgen.RestLiResourceModelExporterCmdLineApp'
- args = ['-outdir', 'src/restli/generatedRestSpec', '-sourcepath', 'src/restli/java']
- classpath = configurations.generateRestli
- }
-
- task restli(dependsOn: restliTemplateGenerator) << {
- }
-
- compileJava.dependsOn.add('restli')
-
- lesscss {
- source = fileTree('src/main/less') {
- include 'azkaban.less'
- include 'azkaban-graph.less'
- }
- dest = 'build/less'
- }
-
- dustjs {
- source = fileTree('src/main/tl')
- dest = 'build/dust'
- }
-
- task createDirs() << {
- file('build/package/extlib').mkdirs()
- file('build/package/plugins').mkdirs()
- }
-
- task copyWeb(type: Copy) {
- from('src/web')
- into('build/package/web')
- }
-
- task copyLess(type: Copy, dependsOn: ['lesscss', 'copyWeb']) {
- from('build/less')
- into('build/package/web/css')
- }
-
- task copyDust(type: Copy, dependsOn: ['dustjs', 'copyWeb']) {
- from('build/dust')
- into('build/package/web/js')
- }
-
- task copyDeps(type: Copy, dependsOn: 'build') {
- from(project(':azkaban-common').configurations.compile)
- from(configurations.compile)
- into('build/package/lib')
- }
-
- task copyLibs(type: Copy, dependsOn: 'build') {
- from('build/libs')
- into('build/package/lib')
- }
-
- task copyPackage(type: Copy) {
- from('src/package')
- into('build/package')
- }
-
- task copy(dependsOn: [
- 'createVersionFile',
- 'createDirs',
- 'copyLess',
- 'copyDust',
- 'copyDeps',
- 'copyLibs',
- 'copyPackage']) {
- }
-}
-
-project(':azkaban-execserver') {
- configurations {
- all {
- transitive = false
- }
- errorprone {
- transitive = true
- }
- }
-
- dependencies {
- compile(project(':azkaban-common'))
- compile('commons-io:commons-io:2.4')
- compile('javax.servlet:servlet-api:2.5')
- compile('joda-time:joda-time:2.0')
- compile('log4j:log4j:1.2.16')
- compile('commons-logging:commons-logging:1.1.1')
- compile('org.apache.httpcomponents:httpclient:4.3.1')
- compile('org.apache.httpcomponents:httpcore:4.3')
- compile('org.mortbay.jetty:jetty:6.1.26')
- compile('org.mortbay.jetty:jetty-util:6.1.26')
- compile('org.codehaus.jackson:jackson-core-asl:1.9.5')
- compile('org.codehaus.jackson:jackson-mapper-asl:1.9.5')
-
- testCompile('junit:junit:4.11')
- testCompile('org.hamcrest:hamcrest-all:1.3')
- testCompile(project(':azkaban-common').sourceSets.test.output)
- }
-
- task createDirs() << {
- file('build/package/extlib').mkdirs()
- file('build/package/plugins').mkdirs()
- }
-
- task copyDeps(type: Copy, dependsOn: 'build') {
- from(project(':azkaban-common').configurations.compile)
- from(configurations.compile)
- into('build/package/lib')
- }
-
- task copyLibs(type: Copy, dependsOn: 'build') {
- from('build/libs')
- into('build/package/lib')
- }
-
- task copyPackage(type: Copy) {
- from('src/package')
- into('build/package')
- }
-
- task copy(dependsOn: [
- 'createVersionFile',
- 'createDirs',
- 'copyDeps',
- 'copyLibs',
- 'copyPackage']) {
- }
-}
-
-project(':azkaban-soloserver') {
- dependencies {
- compile(project(':azkaban-common'))
- compile(project(':azkaban-webserver'))
- compile(project(':azkaban-execserver'))
- }
-
- task createDirs() << {
- file('build/package/extlib').mkdirs()
- file('build/package/plugins').mkdirs()
- }
-
- task copyDeps(type: Copy, dependsOn: 'build') {
- from(configurations.compile)
- into('build/package/lib')
- }
-
- task copyLibs(type: Copy, dependsOn: 'build') {
- from('build/libs')
- into('build/package/lib')
- }
-
- task copyPackage(type: Copy) {
- from('src/package')
- into('build/package')
- }
-
- task copyWeb(type: Copy, dependsOn: ':azkaban-webserver:copy') {
- from(project(':azkaban-webserver').files('build/package/web'))
- into('build/package/web')
- }
-
- task copySql(type: Copy) {
- from(project(':azkaban-sql').files('src/sql'))
- into('build/package/sql')
- }
-
- task copy(dependsOn: [
- 'createVersionFile',
- 'createDirs',
- 'copyDeps',
- 'copyLibs',
- 'copyPackage',
- 'copyWeb',
- 'copySql']) {
- }
-}
-
-project(':azkaban-sql') {
- task concat() << {
- ext.destFile = 'build/sql/create-all-sql-' + version + '.sql';
- ant.concat(destfile: destFile, fixlastline: 'yes') {
- logger.info('Concating create scripts to ' + destFile)
- fileset(dir: 'src/sql') {
- exclude(name: 'update.*.sql')
- exclude(name: 'database.properties')
- }
- }
- }
-}
-
-project(':azkaban-test') {
- apply plugin: 'distribution'
-
- dependencies {
- testCompile('junit:junit:4.11')
- }
-
- distributions {
- animal {
- baseName = 'test-animal'
- contents {
- from { 'src/test/resources/executions/animal' }
- }
- }
-
- embedded {
- baseName = 'test-embedded'
- contents {
- from { 'src/test/resources/executions/embedded' }
- }
- }
-
- embedded2 {
- baseName = 'test-embedded2'
- contents {
- from { 'src/test/resources/executions/embedded2' }
- }
- }
-
- embedded3 {
- baseName = 'test-embedded3'
- contents {
- from { 'src/test/resources/executions/embedded3' }
- }
- }
-
- embeddedBad {
- baseName = 'test-embedded-bad'
- contents {
- from { 'src/test/resources/executions/embeddedBad' }
- }
- }
-
- execpropstest {
- baseName = 'test-execpropstest'
- contents {
- from { 'src/test/resources/executions/execpropstest' }
- }
- }
-
- exectest1 {
- baseName = 'test-exectest1'
- contents {
- from { 'src/test/resources/executions/exectest1' }
- }
- }
-
- exectest2 {
- baseName = 'test-exectest2'
- contents {
- from { 'src/test/resources/executions/exectest2' }
- }
- }
-
- logtest {
- baseName = 'test-logtest'
- contents {
- from { 'src/test/resources/executions/logtest' }
- }
- }
- }
-
- distZip.dependsOn animalDistZip, embeddedDistZip, embedded2DistZip,
- embedded3DistZip, embeddedBadDistZip, execpropstestDistZip,
- exectest1DistZip, exectest2DistZip, logtestDistZip
-
- distTar.dependsOn animalDistTar, embeddedDistTar, embedded2DistTar,
- embedded3DistTar, embeddedBadDistTar, execpropstestDistTar,
- exectest1DistTar, exectest2DistTar, logtestDistTar
-}
-
distributions {
migration {
baseName = 'azkaban-migration'
gradle.properties 23(+21 -2)
diff --git a/gradle.properties b/gradle.properties
index a9b4824..ed84481 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,3 +1,22 @@
-org.gradle.daemon=true
group=com.linkedin
-version=3.0.0
+
+# optionally: ext.nextVersion = "major", "minor" (default), "patch" or e.g. "3.0.0-rc2"
+# optionally: ext.snapshotSuffix = "SNAPSHOT" (default) or a pattern, e.g. "<count>.g<sha>-SNAPSHOT"
+#
+# Eg: artifacts will be created in the format azkaban-web-server-2.7.0-474-gbc0be80.tar.gz
+snapshotSuffix=<count>-g<sha>
+
+#long-running Gradle process speeds up local builds
+#to stop the daemon run 'ligradle --stop'
+org.gradle.daemon=true
+
+#configures only relevant projects to speed up the configuration of large projects
+#useful when specific project/task is invoked e.g: ligradle :cloud:cloud-api:build
+org.gradle.configureondemand=true
+
+#Gradle will run tasks from subprojects in parallel
+#Higher CPU usage, faster builds
+org.gradle.parallel=true
+
+#Allows generation of idea/eclipse metadata for a specific subproject and its upstream project dependencies
+ide.recursive=true