mirror of
https://github.com/corda/corda.git
synced 2024-12-23 06:42:33 +00:00
d8eb117104
Build command that would fail every time: “./gradlew clean build slowIntegrationTest”. Notes: The evaluationDependsOn lines inside the build.gradle file under the irs-demo folder where moved above the dependencies for best practices and to avoid weird errors. The archiveClassifier added to the build.gradle file under irs-demo/web folder is the actual fix. The archive classifier accepts a string that is appended to the jar file. By changing the filename of the jar, Boot Spring is prevented from overwriting the jar and causing build issues.
109 lines
3.9 KiB
Groovy
109 lines
3.9 KiB
Groovy
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
|
|
}
|
|
}
|
|
|
|
evaluationDependsOn("cordapp")
|
|
evaluationDependsOn("web")
|
|
|
|
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
|
|
}
|
|
|
|
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
|
|
}
|
|
}
|