plugins { id "org.springframework.boot" version "1.5.21.RELEASE" id 'io.spring.dependency-management' version '1.0.9.RELEASE' apply false } // 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" ext['jackson.version'] = "$jackson_version" ext['dropwizard-metrics.version'] = "$metrics_version" ext['mockito.version'] = "$mockito_version" apply plugin: 'kotlin' apply plugin: 'idea' apply plugin: 'net.corda.plugins.quasar-utils' apply plugin: 'application' mainClassName = 'net.corda.irs.IRSDemo' sourceSets { slowIntegrationTest { 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 { slowIntegrationTestCompile.extendsFrom testCompile slowIntegrationTestRuntimeOnly.extendsFrom testRuntimeOnly demoArtifacts.extendsFrom testRuntimeClasspath systemTestCompile.extendsFrom testCompile } repositories { maven { url 'https://dl.bintray.com/palantir/releases' // docker-compose-rule is published on bintray } } dependencies { compile "commons-io:commons-io:$commons_io_version" 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') testImplementation "org.junit.jupiter:junit-jupiter-api:${junit_jupiter_version}" testImplementation "junit:junit:$junit_version" testRuntimeOnly "org.junit.vintage:junit-vintage-engine:${junit_vintage_version}" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junit_jupiter_version}" testRuntimeOnly "org.junit.platform:junit-platform-launcher:${junit_platform_version}" testCompile "org.assertj:assertj-core:${assertj_version}" slowIntegrationTestCompile 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 slowIntegrationTest(type: Test, dependsOn: []) { testClassesDirs = sourceSets.slowIntegrationTest.output.classesDirs classpath = sourceSets.slowIntegrationTest.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 } }