buildscript { ext { springBootVersion = '1.5.7.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } // Spring Boot plugin adds a numerous hardcoded dependencies in the version much lower then Corda expects // causing the problems in runtime. Those can be changed by manipulating above properties // See https://github.com/spring-gradle-plugins/dependency-management-plugin/blob/master/README.md#changing-the-value-of-a-version-property ext['artemis.version'] = "$artemis_version" ext['hibernate.version'] = "$hibernate_version" ext['selenium.version'] = "$selenium_version" apply plugin: 'java' apply plugin: 'kotlin' apply plugin: 'idea' apply plugin: 'org.springframework.boot' apply plugin: 'net.corda.plugins.quasar-utils' apply plugin: 'application' mainClassName = 'net.corda.irs.IRSDemo' sourceSets { integrationTest { kotlin { compileClasspath += main.output + test.output runtimeClasspath += main.output + test.output srcDir file('src/integration-test/kotlin') } } systemTest { kotlin { compileClasspath += main.output + test.output runtimeClasspath += main.output + test.output srcDir file('src/system-test/kotlin') } } } configurations { integrationTestCompile.extendsFrom testCompile integrationTestRuntime.extendsFrom testRuntime demoArtifacts.extendsFrom testRuntime systemTestCompile.extendsFrom testCompile } repositories { maven { url 'https://dl.bintray.com/palantir/releases' // docker-compose-rule is published on bintray } repositories { maven { url 'https://jitpack.io' } } } dependencies { compile group: 'commons-io', name: 'commons-io', version: '2.5' compile project(path: ":samples:irs-demo:cordapp", configuration: "demoArtifacts") compile project(":samples:irs-demo:web") compile('org.springframework.boot:spring-boot-starter-web') { exclude module: "spring-boot-starter-logging" exclude module: "logback-classic" } testCompile project(':node-driver') testCompile "junit:junit:$junit_version" testCompile "org.assertj:assertj-core:${assertj_version}" integrationTestCompile project(path: ":samples:irs-demo:web", configuration: "demoArtifacts") testCompile "com.palantir.docker.compose:docker-compose-rule-junit4:$docker_compose_rule_version" testCompile "org.seleniumhq.selenium:selenium-java:$selenium_version" testCompile "com.github.detro:ghostdriver:$ghostdriver_version" } bootRepackage { enabled = false } task integrationTest(type: Test, dependsOn: []) { testClassesDirs = sourceSets.integrationTest.output.classesDirs classpath = sourceSets.integrationTest.runtimeClasspath } evaluationDependsOn("cordapp") evaluationDependsOn("web") task systemTest(type: Test, dependsOn: ["cordapp:prepareDockerNodes", "web:generateDockerCompose"]) { testClassesDirs = sourceSets.systemTest.output.classesDirs classpath = sourceSets.systemTest.runtimeClasspath systemProperty "CORDAPP_DOCKER_COMPOSE", tasks.getByPath("cordapp:prepareDockerNodes").dockerComposePath.toString() systemProperty "WEB_DOCKER_COMPOSE", tasks.getByPath("web:generateDockerCompose").dockerComposePath.toString() def phantomJsPath = System.getProperty("phantomjs.binary.path") ?: System.getenv("PHANTOMJS_BINARY_PATH") if (phantomJsPath != null) { systemProperty "phantomjs.binary.path", phantomJsPath } } idea { module { downloadJavadoc = true // defaults to false downloadSources = true } }