buildscript { repositories { jcenter() } } apply plugin: 'groovy' apply plugin: 'idea' apply plugin: 'java' apply plugin: 'maven' version '0.1.0' group 'com.github.reiseburo' description 'A sane API on top of Kafka' defaultTasks 'check', 'assemble' repositories { jcenter() maven { url "https://dl.bintray.com/reiseburo/libs" } mavenLocal() } configurations { experimentsCompile.extendsFrom compile } dependencies { ['framework', 'recipes'].each { compile "org.apache.curator:curator-${it}:[2.7.1,2.8)" } compile 'io.reactivex:rxjava:[1.0.14,2.0)' compile 'org.apache.kafka:kafka_2.11:0.8.2.1' compile 'com.github.reiseburo:rx-curator:[0.1.0,1.0)' compile 'com.fasterxml.jackson.core:jackson-core:[2.6.1,2.7)' compile 'com.fasterxml.jackson.core:jackson-databind:[2.6.1,2.7)' testCompile "org.spockframework:spock-core:1.0-groovy-2.4" testCompile 'cglib:cglib-nodep:3.1' testCompile 'org.apache.curator:curator-test:[2.7.1,2.8)' experimentsCompile 'org.codehaus.groovy:groovy-all:[2.4.4,2.5)' experimentsCompile sourceSets.main.output } idea { module { downloadJavadoc = true downloadSources = true } } test { testLogging { exceptionFormat = 'full' events "passed", "skipped", "failed", "standardOut", "standardError" } } assemble.dependsOn check install.dependsOn assemble sourceSets { experiments { groovy { srcDir "${projectDir}/src/experiments" } } } task runExperiment(type: JavaExec) { description "Run an experiment, must have -PexperimentClass=foo set" dependsOn classes, test main experimentClass classpath sourceSets.main.runtimeClasspath + sourceSets.experiments.runtimeClasspath inputs.source sourceSets.experiments.allSource }