apply plugin: 'org.jetbrains.kotlin.jvm' // Java Persistence API support: create no-arg constructor // see: http://stackoverflow.com/questions/32038177/kotlin-with-jpa-default-constructor-hell apply plugin: 'org.jetbrains.kotlin.plugin.jpa' apply plugin: 'net.corda.plugins.quasar-utils' apply plugin: 'net.corda.plugins.cordapp' apply plugin: 'corda.common-publishing' description 'Corda finance module - flows' sourceSets { integrationTest { kotlin { compileClasspath += main.output + test.output runtimeClasspath += main.output + test.output srcDir file('src/integration-test/kotlin') } resources { srcDir file('src/integration-test/resources') } } } configurations { testArtifacts.extendsFrom testRuntimeOnlyClasspath integrationTestImplementation.extendsFrom testImplementation integrationTestRuntimeOnly.extendsFrom testRuntimeOnly } dependencies { // Note: 3rd party CorDapps should remember to include the relevant Finance CorDapp dependencies using `cordapp` // cordapp project(':finance:workflows') // cordapp project(':finance:contracts') cordaProvided project(':core') cordaProvided project(':confidential-identities') cordapp project(':finance:contracts') testImplementation project(':node') testImplementation project(':node-api') testImplementation project(':node-driver') testImplementation project(':serialization') testImplementation project(path: ':core', configuration: 'testArtifacts') testImplementation project(':core-test-utils') testImplementation project(':test-utils') testImplementation "org.junit.jupiter:junit-jupiter-api:${junit_jupiter_version}" testImplementation "junit:junit:$junit_version" testImplementation "org.apache.qpid:proton-j:$protonj_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}" // AssertJ: for fluent assertions for testing testImplementation "org.assertj:assertj-core:$assertj_version" } task testJar(type: Jar) { classifier "tests" from sourceSets.test.output } task integrationTest(type: Test, dependsOn: []) { testClassesDirs = sourceSets.integrationTest.output.classesDirs classpath = sourceSets.integrationTest.runtimeClasspath jvmArgs test_add_opens jvmArgs test_add_exports } jar { archiveBaseName = 'corda-finance-workflows' archiveClassifier = '' } artifacts { testArtifacts testJar } cordapp { targetPlatformVersion corda_platform_version.toInteger() minimumPlatformVersion 1 workflow { name "Corda Finance Demo" versionId 1 vendor "R3" licence "Open Source (Apache 2)" } // By default the Cordapp is signed by Corda development certificate, for production build pass the following system properties to Gradle to use specific keystore e.g: // ./gradlew -Dsigning.enabled="true" -Dsigning.keystore="/path/to/keystore.jks" -Dsigning.alias="alias" -Dsigning.storepass="password" -Dsigning.keypass="password" } publishing { publications { maven(MavenPublication) { artifactId 'corda-finance-workflows' from components.cordapp } } }