Skip to content

Commit f774b90

Browse files
Migration of Advanced\obligation-cordapp to 4.12-RC01 and JDK17 (#106)
* Moved app to 4.12-RC01 and JDK17 * Changes in gradle files for 4.12-RC01 and JDK17 * Fix "No JAR matching '^corda-(?!(testserver-|webserver-))" errors * Address PR comment - remove unneeded repos from Gradle files * Remove unneeded java block from root build.gradle --------- Co-authored-by: jakub.zadroga <jakub.zadroga@r3.com>
1 parent 7e5fabf commit f774b90

8 files changed

Lines changed: 146 additions & 69 deletions

File tree

Advanced/constants.properties

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
cordaReleaseGroup=net.corda
22
cordaCoreReleaseGroup=net.corda
3-
cordaVersion=4.10
4-
cordaCoreVersion=4.10
5-
gradlePluginsVersion=5.0.12
6-
kotlinVersion=1.2.71
3+
cordaVersion=4.12-RC01
4+
cordaCoreVersion=4.12-RC01
5+
cordaShellVersion=4.12-RC01
6+
gradlePluginsVersion=5.1.1
7+
kotlinVersion=1.9.20
78
junitVersion=4.12
8-
quasarVersion=0.7.10
9-
log4jVersion =2.17.1
10-
platformVersion=12
11-
slf4jVersion=1.7.25
12-
nettyVersion=4.1.22.Final
9+
quasarVersion=0.9.0_r3
10+
log4jVersion=2.23.1
11+
platformVersion=140
12+
slf4jVersion=2.0.12
13+
nettyVersion=4.1.77.Final
14+
snappyVersion=0.4
15+
rxJavaVersion=1.3.8

Advanced/obligation-cordapp/build.gradle

Lines changed: 56 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,48 @@ buildscript {
99
corda_release_version = constants.getProperty("cordaVersion")
1010
corda_core_release_version = constants.getProperty("cordaCoreVersion")
1111
corda_gradle_plugins_version = constants.getProperty("gradlePluginsVersion")
12+
kotlin_version = constants.getProperty("kotlinVersion")
1213
junit_version = constants.getProperty("junitVersion")
1314
quasar_version = constants.getProperty("quasarVersion")
15+
quasar_exclusions = [
16+
'co.paralleluniverse**',
17+
'groovy**',
18+
'com.esotericsoftware.**',
19+
'jdk**',
20+
'junit**',
21+
'kotlin**',
22+
'net.rubygrapefruit.**',
23+
'org.gradle.**',
24+
'org.apache.**',
25+
'org.jacoco.**',
26+
'org.junit**',
27+
'org.slf4j**',
28+
'worker.org.gradle.**',
29+
'org.mockito.kotlin**',
30+
'org.assertj**',
31+
'org.hamcrest**',
32+
'org.mockito**',
33+
'org.opentest4j**',
34+
'org.springframework**'
35+
]
1436
log4j_version = constants.getProperty("log4jVersion")
1537
slf4j_version = constants.getProperty("slf4jVersion")
1638
corda_platform_version = constants.getProperty("platformVersion").toInteger()
39+
rxjava_version = constants.getProperty("rxJavaVersion")
40+
snappy_version = constants.getProperty("snappyVersion")
1741
//springboot
18-
spring_boot_version = '2.0.2.RELEASE'
19-
spring_boot_gradle_plugin_version = '2.0.2.RELEASE'
42+
spring_boot_version = '3.2.5'
43+
spring_boot_gradle_plugin_version = '3.2.5'
44+
45+
testJvmArgs = ['--add-opens', 'java.base/java.time=ALL-UNNAMED', '--add-opens', 'java.base/java.io=ALL-UNNAMED',
46+
'--add-opens', 'java.base/java.util=ALL-UNNAMED', '--add-opens', 'java.base/java.net=ALL-UNNAMED',
47+
'--add-opens', 'java.base/java.nio=ALL-UNNAMED', '--add-opens', 'java.base/java.lang.invoke=ALL-UNNAMED',
48+
'--add-opens', 'java.base/java.security.cert=ALL-UNNAMED', '--add-opens', 'java.base/java.security=ALL-UNNAMED',
49+
'--add-opens', 'java.base/javax.net.ssl=ALL-UNNAMED', '--add-opens', 'java.base/java.lang=ALL-UNNAMED',
50+
'--add-opens', 'java.base/java.util.concurrent=ALL-UNNAMED', '--add-opens', 'java.sql/java.sql=ALL-UNNAMED',]
51+
testJvmFxArgs = [ '--add-exports', 'java.base/sun.nio.ch=ALL-UNNAMED',
52+
'--add-exports', 'javafx.base/com.sun.javafx=ALL-UNNAMED',
53+
'--add-exports', 'javafx.base/com.sun.javafx.collections=ALL-UNNAMED']
2054
}
2155

2256
repositories {
@@ -27,11 +61,11 @@ buildscript {
2761
}
2862

2963
dependencies {
64+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
3065
classpath "net.corda.plugins:cordapp:$corda_gradle_plugins_version"
3166
classpath "net.corda.plugins:cordformation:$corda_gradle_plugins_version"
3267
classpath "net.corda.plugins:quasar-utils:$corda_gradle_plugins_version"
3368
classpath "org.springframework.boot:spring-boot-gradle-plugin:$spring_boot_gradle_plugin_version"
34-
3569
}
3670
}
3771

@@ -42,12 +76,12 @@ allprojects {
4276
repositories {
4377
mavenLocal()
4478
mavenCentral()
79+
maven { url 'https://download.corda.net/maven/corda-releases' }
4580
maven { url 'https://download.corda.net/maven/corda-dependencies' }
46-
maven { url 'https://jitpack.io' }
4781
}
4882

49-
tasks.withType(JavaCompile) {
50-
options.compilerArgs << "-parameters" // Required by Corda's serialisation framework.
83+
compileJava {
84+
options.compilerArgs << '-parameters'
5185
}
5286

5387
jar {
@@ -58,7 +92,6 @@ allprojects {
5892
}
5993
}
6094

61-
6295
apply plugin: 'net.corda.plugins.cordapp'
6396
apply plugin: 'net.corda.plugins.cordformation'
6497
apply plugin: 'net.corda.plugins.quasar-utils'
@@ -74,11 +107,13 @@ sourceSets {
74107
dependencies {
75108

76109
// Corda dependencies.
77-
cordaCompile "$corda_core_release_group:corda-core:$corda_core_release_version"
78-
cordaCompile "$corda_release_group:corda-finance-contracts:$corda_release_version"
79-
cordaCompile "$corda_release_group:corda-finance-workflows:$corda_release_version"
80-
cordaCompile "$corda_release_group:corda-node-api:$corda_release_version"
81-
cordaRuntime "$corda_release_group:corda:$corda_release_version"
110+
cordaProvided "$corda_core_release_group:corda-core:$corda_core_release_version"
111+
cordaProvided "$corda_release_group:corda-finance-contracts:$corda_release_version"
112+
cordaProvided "$corda_release_group:corda-finance-workflows:$corda_release_version"
113+
cordaBootstrapper ("$corda_release_group:corda-node-api:$corda_release_version") {
114+
exclude group: "ch.qos.logback", module: "logback-classic"
115+
}
116+
corda "$corda_release_group:corda:$corda_release_version"
82117

83118
// CorDapp dependencies.
84119
cordapp project(":workflows")
@@ -88,20 +123,15 @@ dependencies {
88123
cordapp "$corda_release_group:corda-finance-workflows:$corda_release_version"
89124
cordapp "$corda_release_group:corda-confidential-identities:$corda_release_version"
90125

91-
cordaCompile "org.apache.logging.log4j:log4j-slf4j-impl:${log4j_version}"
92-
cordaCompile "org.apache.logging.log4j:log4j-web:${log4j_version}"
93-
cordaCompile "org.slf4j:jul-to-slf4j:$slf4j_version"
94-
cordaDriver "net.corda:corda-shell:4.10"
95-
126+
cordaProvided "org.apache.logging.log4j:log4j-slf4j2-impl:${log4j_version}"
127+
cordaProvided "org.apache.logging.log4j:log4j-web:${log4j_version}"
128+
cordaProvided "org.slf4j:jul-to-slf4j:$slf4j_version"
129+
cordaDriver "net.corda:corda-shell:$corda_release_version"
96130
}
97131

98132
cordapp {
99-
info {
100-
name "Obligation CorDapp"
101-
vendor "Corda Open Source"
102-
targetPlatformVersion corda_platform_version
103-
minimumPlatformVersion corda_platform_version
104-
}
133+
targetPlatformVersion corda_platform_version.toInteger()
134+
minimumPlatformVersion corda_platform_version.toInteger()
105135
}
106136

107137
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
@@ -113,11 +143,12 @@ task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
113143
cordapp project(":workflows")
114144
cordapp project(":contracts")
115145

116-
runSchemaMigration = true
117-
cordapp("$corda_release_group:corda-finance-contracts:$corda_release_version")
146+
cordapp("$corda_release_group:corda-finance-contracts:$corda_release_version")
118147
cordapp("$corda_release_group:corda-finance-workflows:$corda_release_version")
119148
cordapp("$corda_release_group:corda-confidential-identities:$corda_release_version")
120149
rpcUsers = [[ user: "user1", "password": "password", "permissions": ["ALL"]]]
150+
runSchemaMigration = true
151+
121152
}
122153
node {
123154
name "O=Notary,L=London,C=GB"

Advanced/obligation-cordapp/clients/build.gradle

Lines changed: 34 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,22 @@ repositories {
22
mavenLocal()
33

44
mavenCentral()
5+
maven { url 'https://dl.bintray.com/kotlin/exposed' }
56
maven { url 'https://jitpack.io' }
6-
maven { url 'https://ci-artifactory.corda.r3cev.com/artifactory/corda-releases' }
7+
maven { url 'https://download.corda.net/maven/corda-releases' }
78
}
89

10+
apply plugin: 'kotlin'
11+
apply plugin: 'net.corda.plugins.cordapp'
912
apply plugin: 'io.spring.dependency-management'
1013
apply plugin: 'net.corda.plugins.cordformation'
1114
apply plugin: 'net.corda.plugins.quasar-utils'
1215

16+
cordapp {
17+
targetPlatformVersion corda_platform_version.toInteger()
18+
minimumPlatformVersion corda_platform_version.toInteger()
19+
}
20+
1321
sourceSets {
1422
main {
1523
resources {
@@ -18,11 +26,10 @@ sourceSets {
1826
}
1927
}
2028

21-
2229
// See https://docs.spring.io/dependency-management-plugin/docs/current/reference/html
2330
dependencyManagement {
2431
dependencies {
25-
dependency "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version"
32+
dependency "org.apache.logging.log4j:log4j-slf4j2-impl:$log4j_version"
2633
}
2734
}
2835

@@ -33,29 +40,34 @@ configurations {
3340
}
3441

3542
dependencies {
36-
// CorDapp dependencies.
37-
compile project(":contracts")
38-
compile project(":workflows")
39-
40-
testCompile "junit:junit:$junit_version"
43+
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
44+
testImplementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
45+
testImplementation "junit:junit:$junit_version"
4146

4247
// Corda dependencies.
43-
compile "net.corda:corda-core:$corda_release_version"
44-
compile "net.corda:corda-jackson:$corda_release_version"
45-
compile "net.corda:corda-rpc:$corda_release_version"
46-
compile "net.corda:corda:$corda_release_version"
47-
testCompile "net.corda:corda-node-driver:$corda_release_version"
48+
implementation "net.corda:corda-core:$corda_release_version"
49+
implementation "net.corda:corda-jackson:$corda_release_version"
50+
implementation "net.corda:corda-rpc:$corda_release_version"
51+
implementation "net.corda:corda:$corda_release_version"
52+
testImplementation "net.corda:corda-node-driver:$corda_release_version"
4853

49-
compile("org.springframework.boot:spring-boot-starter-websocket:$spring_boot_version") {
54+
implementation("org.springframework.boot:spring-boot-starter-websocket:$spring_boot_version") {
5055
exclude group: "org.springframework.boot", module: "spring-boot-starter-logging"
5156
}
52-
compile "org.springframework.boot:spring-boot-starter-log4j2:$spring_boot_version"
53-
compile "org.apache.logging.log4j:log4j-web:$log4j_version"
54-
}
55-
57+
implementation "org.springframework.boot:spring-boot-starter-log4j2:$spring_boot_version"
58+
implementation "org.apache.logging.log4j:log4j-web:$log4j_version"
5659

60+
cordaProvided "$corda_core_release_group:corda-finance-contracts:$corda_release_version"
61+
cordaProvided "$corda_core_release_group:corda-finance-workflows:$corda_release_version"
5762

63+
// CorDapp dependencies.
64+
implementation project(":contracts")
65+
implementation project(":workflows")
5866

67+
implementation "org.bouncycastle:bcprov-jdk18on:1.75"
68+
implementation "org.bouncycastle:bcpkix-jdk18on:1.75"
69+
implementation "javax.annotation:javax.annotation-api:1.2"
70+
}
5971

6072
task runPartyAServer(type: JavaExec, dependsOn: jar) {
6173
classpath = sourceSets.main.runtimeClasspath
@@ -74,3 +86,7 @@ task runPartyCServer(type: JavaExec, dependsOn: jar) {
7486
main = 'net.corda.samples.obligation.server.Server'
7587
args '--server.port=10015', '--config.rpc.host=localhost', '--config.rpc.port=10014', '--config.rpc.username=user1', '--config.rpc.password=password'
7688
}
89+
90+
jar {
91+
duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
92+
}

Advanced/obligation-cordapp/contracts/build.gradle

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,28 @@ sourceSets {
2828
}
2929

3030
dependencies {
31+
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
32+
3133
// Corda dependencies.
32-
cordaCompile "$corda_core_release_group:corda-core:$corda_core_release_version"
33-
cordaRuntime "$corda_release_group:corda:$corda_release_version"
34-
cordaCompile "$corda_release_group:corda-finance-contracts:$corda_release_version"
35-
cordaCompile "$corda_release_group:corda-finance-workflows:$corda_release_version"
36-
testCompile "$corda_release_group:corda-node-driver:$corda_release_version"
34+
cordaProvided "$corda_core_release_group:corda-core:$corda_core_release_version"
35+
testImplementation "$corda_release_group:corda-node-driver:$corda_release_version"
36+
37+
cordaProvided "$corda_release_group:corda:$corda_release_version"
38+
39+
cordaProvided "$corda_core_release_group:corda-finance-contracts:$corda_release_version"
40+
cordaProvided "$corda_core_release_group:corda-finance-workflows:$corda_release_version"
3741
cordapp "$corda_release_group:corda-finance-contracts:$corda_release_version"
3842
cordapp "$corda_release_group:corda-finance-workflows:$corda_release_version"
43+
cordapp("$corda_release_group:corda-confidential-identities:$corda_release_version")
44+
45+
cordaProvided "$corda_core_release_group:corda-core-test-utils:$corda_core_release_version"
46+
cordaProvided "$corda_core_release_group:corda-test-utils:$corda_core_release_version"
47+
48+
implementation group: 'com.google.guava', name: 'guava', version: '11.0.2'
49+
testImplementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
50+
testImplementation "junit:junit:$junit_version"
51+
}
52+
53+
test {
54+
jvmArgs = rootProject.ext.testJvmArgs
3955
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
name=Obligation CorDapp
22
group=com.obligation
33
version=1.0
4+
kotlin.incremental=false
5.36 KB
Binary file not shown.

Advanced/obligation-cordapp/gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip

Advanced/obligation-cordapp/workflows/build.gradle

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,31 +42,37 @@ sourceSets {
4242
}
4343

4444
configurations {
45-
integrationTestCompile.extendsFrom testCompile
46-
integrationTestRuntime.extendsFrom testRuntime
45+
integrationTestCompile.extendsFrom testImplementation
46+
integrationTestRuntime.extendsFrom testRuntimeOnly
4747
}
4848

4949
dependencies {
50-
testCompile "junit:junit:$junit_version"
50+
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
51+
testImplementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
52+
testImplementation "junit:junit:$junit_version"
5153

5254
// Corda dependencies.
53-
cordaCompile "$corda_core_release_group:corda-core:$corda_core_release_version"
54-
cordaCompile "$corda_core_release_group:corda-finance-contracts:$corda_release_version"
55-
cordaCompile "$corda_core_release_group:corda-finance-workflows:$corda_release_version"
55+
cordaProvided "$corda_core_release_group:corda-core:$corda_core_release_version"
56+
cordaProvided "$corda_core_release_group:corda-finance-contracts:$corda_release_version"
57+
cordaProvided "$corda_core_release_group:corda-finance-workflows:$corda_release_version"
58+
cordaProvided "$corda_release_group:corda:$corda_release_version"
5659

57-
cordaRuntime "$corda_release_group:corda:$corda_release_version"
58-
cordaCompile "$corda_release_group:corda-finance-contracts:$corda_release_version"
59-
cordaCompile "$corda_release_group:corda-finance-workflows:$corda_release_version"
60-
cordaCompile "$corda_release_group:corda-jackson:$corda_release_version"
60+
cordaProvided "$corda_release_group:corda-finance-contracts:$corda_release_version"
61+
cordaProvided "$corda_release_group:corda-finance-workflows:$corda_release_version"
6162

62-
testCompile "$corda_release_group:corda-node-driver:$corda_release_version"
63+
testImplementation "$corda_release_group:corda-node-driver:$corda_release_version"
6364

6465
// CorDapp dependencies.
6566
cordapp project(":contracts")
6667
cordapp "$corda_release_group:corda-finance-contracts:$corda_release_version"
6768
cordapp "$corda_release_group:corda-finance-workflows:$corda_release_version"
6869
cordapp("$corda_release_group:corda-confidential-identities:$corda_release_version")
6970

71+
cordaProvided "$corda_core_release_group:corda-core-test-utils:$corda_core_release_version"
72+
cordaProvided "$corda_core_release_group:corda-test-utils:$corda_core_release_version"
73+
74+
testImplementation "io.reactivex:rxjava:$rxjava_version"
75+
testRuntimeOnly "org.iq80.snappy:snappy:$snappy_version"
7076
}
7177

7278

@@ -75,3 +81,7 @@ task integrationTest(type: Test, dependsOn: []) {
7581
testClassesDirs = sourceSets.integrationTest.output.classesDirs
7682
classpath = sourceSets.integrationTest.runtimeClasspath
7783
}
84+
85+
test {
86+
jvmArgs = rootProject.ext.testJvmArgs
87+
}

0 commit comments

Comments
 (0)