plugins { id "org.springframework.boot" version '3.0.4' } // 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" // Using jackson_kotlin_version here for JDK11 compatibility with kotlin 1.2.71 ext['jackson.version'] = "$jackson_kotlin_version" ext['dropwizard-metrics.version'] = "$metrics_version" ext['mockito.version'] = "$mockito_version" apply plugin: 'org.jetbrains.kotlin.jvm' 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 testImplementation slowIntegrationTestRuntimeOnly.extendsFrom testRuntimeOnly demoArtifacts.extendsFrom testRuntimeClasspath systemTestCompile.extendsFrom testImplementation } evaluationDependsOn("cordapp") evaluationDependsOn("web") dependencies { implementation "commons-io:commons-io:$commons_io_version" implementation project(":samples:irs-demo:web") implementation('org.springframework.boot:spring-boot-starter-web:3.0.4') { exclude module: "spring-boot-starter-logging" exclude module: "logback-classic" } testImplementation 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}" testImplementation "org.assertj:assertj-core:${assertj_version}" slowIntegrationTestCompile project(path: ":samples:irs-demo:web", configuration: "demoArtifacts") testImplementation "com.palantir.docker.compose:docker-compose-rule-junit4:$docker_compose_rule_version" testImplementation "org.seleniumhq.selenium:selenium-java:$selenium_version" testImplementation "com.github.detro:ghostdriver:$ghostdriver_version" } bootJar { enabled = false } task slowIntegrationTest(type: Test, dependsOn: []) { testClassesDirs = sourceSets.slowIntegrationTest.output.classesDirs classpath = sourceSets.slowIntegrationTest.runtimeClasspath } 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 } }