2016-02-11 14:55:52 +00:00
apply plugin: 'kotlin'
2017-02-16 11:02:36 +00:00
// Java Persistence API support: create no-arg constructor
// see: http://stackoverflow.com/questions/32038177/kotlin-with-jpa-default-constructor-hell
apply plugin: 'kotlin-jpa'
2016-02-11 14:55:52 +00:00
apply plugin: CanonicalizerPlugin
2016-11-18 14:41:06 +00:00
apply plugin: 'net.corda.plugins.publish-utils'
apply plugin: 'net.corda.plugins.quasar-utils'
2017-10-09 19:08:08 +00:00
apply plugin: 'net.corda.plugins.cordapp'
2017-06-26 17:07:56 +00:00
apply plugin: 'com.jfrog.artifactory'
2016-02-11 14:55:52 +00:00
2016-12-06 10:49:46 +00:00
description 'Corda finance modules'
2017-10-09 17:57:09 +00:00
sourceSets {
integrationTest {
kotlin {
compileClasspath + = main . output + test . output
runtimeClasspath + = main . output + test . output
srcDir file ( 'src/integration-test/kotlin' )
}
2018-05-02 14:14:45 +00:00
resources {
srcDir file ( 'src/integration-test/resources' )
}
2017-10-09 17:57:09 +00:00
}
}
2016-02-11 14:55:52 +00:00
dependencies {
2017-08-15 08:14:15 +00:00
// Note the :finance module is a CorDapp in its own right
// and CorDapps using :finance features should use 'cordapp' not 'compile' linkage.
cordaCompile project ( ':core' )
2018-11-26 14:59:24 +00:00
compile project ( ':confidential-identities' )
2017-10-09 17:57:09 +00:00
2018-03-13 14:51:55 +00:00
// For JSON
compile "com.fasterxml.jackson.core:jackson-databind:${jackson_version}"
2016-08-30 12:50:02 +00:00
testCompile project ( ':test-utils' )
2017-03-24 13:33:54 +00:00
testCompile project ( path: ':core' , configuration: 'testArtifacts' )
2017-01-03 14:15:23 +00:00
testCompile "junit:junit:$junit_version"
2017-10-11 13:33:20 +00:00
// AssertJ: for fluent assertions for testing
testCompile "org.assertj:assertj-core:$assertj_version"
2017-03-23 17:32:14 +00:00
}
2017-06-06 14:05:47 +00:00
2017-06-22 09:35:49 +00:00
configurations {
testArtifacts . extendsFrom testRuntime
2017-10-09 17:57:09 +00:00
integrationTestCompile . extendsFrom testCompile
integrationTestRuntime . extendsFrom testRuntime
2017-06-22 09:35:49 +00:00
}
task testJar ( type: Jar ) {
classifier "tests"
from sourceSets . test . output
}
2017-10-09 17:57:09 +00:00
task integrationTest ( type: Test , dependsOn: [ ] ) {
testClassesDirs = sourceSets . integrationTest . output . classesDirs
classpath = sourceSets . integrationTest . runtimeClasspath
}
2017-06-22 09:35:49 +00:00
artifacts {
testArtifacts testJar
}
2017-06-06 14:05:47 +00:00
jar {
baseName 'corda-finance'
2018-03-13 14:51:55 +00:00
exclude "META-INF/*.DSA"
exclude "META-INF/*.RSA"
exclude "META-INF/*.SF"
exclude "META-INF/*.MF"
exclude "META-INF/LICENSE"
exclude "META-INF/NOTICE"
2018-09-10 09:43:00 +00:00
manifest {
attributes (
"Manifest-Version" : "1.0" ,
"Specification-Title" : description ,
"Specification-Version" : version ,
"Specification-Vendor" : "Corda Open Source" ,
"Implementation-Title" : "$group.$baseName" ,
)
}
2017-06-06 14:05:47 +00:00
}
2018-05-21 16:00:30 +00:00
cordapp {
info {
2018-09-10 09:43:00 +00:00
name "net/corda/finance"
vendor "Corda Open Source"
2018-10-15 20:11:52 +00:00
targetPlatformVersion corda_platform_version . toInteger ( )
minimumPlatformVersion 1
2018-05-21 16:00:30 +00:00
}
2018-10-31 16:20:11 +00:00
// 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"
2018-05-21 16:00:30 +00:00
}
2017-06-06 14:05:47 +00:00
publish {
2017-07-18 11:34:56 +00:00
name jar . baseName
2017-08-29 08:56:26 +00:00
}