diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index f4c21d4188..ab8839639e 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -254,6 +254,8 @@
+
+
diff --git a/build.gradle b/build.gradle
index 70b2e6780c..d17dcfdef2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -40,23 +40,23 @@ buildscript {
// We must configure it manually to use the latest capsule version.
ext.capsule_version = '1.0.3'
- ext.asm_version = '5.0.4'
+ ext.asm_version = '7.1'
ext.artemis_version = '2.6.2'
- // upgrade Jackson only when corda is using kotlin 1.3.10
+ // TODO Upgrade Jackson only when corda is using kotlin 1.3.10
ext.jackson_version = '2.9.5'
- ext.jetty_version = '9.4.18.v20190429'
+ ext.jetty_version = '9.4.19.v20190610'
ext.jersey_version = '2.25'
ext.servlet_version = '4.0.1'
ext.assertj_version = '3.12.2'
- ext.slf4j_version = '1.7.25'
- ext.log4j_version = '2.9.1'
+ ext.slf4j_version = '1.7.26'
+ ext.log4j_version = '2.11.2'
ext.bouncycastle_version = constants.getProperty("bouncycastleVersion")
ext.guava_version = constants.getProperty("guavaVersion")
ext.caffeine_version = constants.getProperty("caffeineVersion")
ext.disruptor_version = constants.getProperty("disruptorVersion")
ext.metrics_version = constants.getProperty("metricsVersion")
ext.metrics_new_relic_version = constants.getProperty("metricsNewRelicVersion")
- ext.okhttp_version = '3.14.1'
+ ext.okhttp_version = '3.14.2'
ext.netty_version = '4.1.22.Final'
ext.typesafe_config_version = constants.getProperty("typesafeConfigVersion")
ext.fileupload_version = '1.4'
@@ -68,27 +68,26 @@ buildscript {
ext.junit_vintage_version = '5.5.0-RC1'
ext.junit_jupiter_version = '5.5.0-RC1'
ext.junit_platform_version = '1.5.0-RC1'
- // TODO Update this to the latest version when hibernate is updated
- ext.mockito_version = '2.18.3'
+ ext.mockito_version = '2.28.2'
ext.mockito_kotlin_version = '1.6.0'
ext.hamkrest_version = '1.7.0.0'
ext.jopt_simple_version = '5.0.2'
- ext.jansi_version = '1.14'
- ext.hibernate_version = '5.3.10.Final'
- ext.h2_version = '1.4.197' // Update docs if renamed or removed.
+ ext.jansi_version = '1.18'
+ ext.hibernate_version = '5.4.3.Final'
+ ext.h2_version = '1.4.199' // Update docs if renamed or removed.
ext.postgresql_version = '42.2.5'
ext.rxjava_version = '1.3.8'
- ext.dokka_version = '0.9.17'
+ ext.dokka_version = '0.9.18'
ext.eddsa_version = '0.2.0'
ext.dependency_checker_version = '4.0.2'
- ext.commons_collections_version = '4.1'
+ ext.commons_collections_version = '4.3'
ext.beanutils_version = '1.9.3'
ext.crash_version = '810d2b774b85d4938be01b9b65e29e4fddbc450b'
ext.jsr305_version = constants.getProperty("jsr305Version")
- ext.shiro_version = '1.4.0'
+ ext.shiro_version = '1.4.1'
ext.artifactory_plugin_version = constants.getProperty('artifactoryPluginVersion')
- ext.hikari_version = '2.5.1'
- ext.liquibase_version = '3.5.5'
+ ext.hikari_version = '3.3.1'
+ ext.liquibase_version = '3.6.3'
ext.artifactory_contextUrl = 'https://ci-artifactory.corda.r3cev.com/artifactory'
ext.snake_yaml_version = constants.getProperty('snakeYamlVersion')
ext.docker_compose_rule_version = '0.35.0'
@@ -96,14 +95,16 @@ buildscript {
ext.ghostdriver_version = '2.1.0'
ext.eaagentloader_version = '1.0.3'
ext.proguard_version = constants.getProperty('proguardVersion')
- ext.jsch_version = '0.1.54'
- ext.commons_cli_version = '1.4'
+ ext.jsch_version = '0.1.55'
ext.protonj_version = '0.33.0' // Overide Artemis version
ext.snappy_version = '0.4'
- ext.class_graph_version = '4.6.12'
+ ext.class_graph_version = '4.8.41'
ext.jcabi_manifests_version = '1.1'
- ext.picocli_version = '3.8.0'
+ ext.picocli_version = '3.9.6'
ext.commons_io_version = '2.6'
+ ext.controlsfx_version = '8.40.15'
+ ext.fontawesomefx_commons_version = '8.15'
+ ext.fontawesomefx_fontawesome_version = '4.7.0-5'
// Name of the IntelliJ SDK created for the deterministic Java rt.jar.
// ext.deterministic_idea_sdk = '1.8 (Deterministic)'
diff --git a/constants.properties b/constants.properties
index 380e57db5e..ba22b9948f 100644
--- a/constants.properties
+++ b/constants.properties
@@ -11,15 +11,15 @@ java8MinUpdateVersion=171
# net.corda.core.internal.CordaUtilsKt.PLATFORM_VERSION as well. #
# ***************************************************************#
platformVersion=5
-guavaVersion=25.1-jre
+guavaVersion=28.0-jre
quasarVersion=0.7.10
-proguardVersion=6.0.3
+proguardVersion=6.1.1
bouncycastleVersion=1.60
disruptorVersion=3.4.2
-typesafeConfigVersion=1.3.3
+typesafeConfigVersion=1.3.4
jsr305Version=3.0.2
artifactoryPluginVersion=4.7.3
snakeYamlVersion=1.19
-caffeineVersion=2.6.2
-metricsVersion=3.2.5
+caffeineVersion=2.7.0
+metricsVersion=4.1.0
metricsNewRelicVersion=1.1.1
diff --git a/core/build.gradle b/core/build.gradle
index 6479aa08bc..8ba25591a6 100644
--- a/core/build.gradle
+++ b/core/build.gradle
@@ -105,10 +105,6 @@ dependencies {
// RxJava: observable streams of events.
compile "io.reactivex:rxjava:$rxjava_version"
-
- // Apache JEXL: An embeddable expression evaluation library.
- // This may be temporary until we experiment with other ways to do on-the-fly contract specialisation via an API.
- compile "org.apache.commons:commons-jexl3:3.0"
compile "org.apache.commons:commons-lang3:3.9"
diff --git a/core/src/test/kotlin/net/corda/core/utilities/EmbeddedExpressionsTest.kt b/core/src/test/kotlin/net/corda/core/utilities/EmbeddedExpressionsTest.kt
deleted file mode 100644
index d344d5860a..0000000000
--- a/core/src/test/kotlin/net/corda/core/utilities/EmbeddedExpressionsTest.kt
+++ /dev/null
@@ -1,15 +0,0 @@
-package net.corda.core.utilities
-
-import org.apache.commons.jexl3.JexlBuilder
-import org.apache.commons.jexl3.MapContext
-import org.junit.Test
-import kotlin.test.assertEquals
-
-class EmbeddedExpressionsTest {
- @Test
- fun basic() {
- val jexl = JexlBuilder().create()
- val result = jexl.createExpression("2 + 2").evaluate(MapContext())
- assertEquals(4, result)
- }
-}
diff --git a/node/build.gradle b/node/build.gradle
index 17d715bde9..b28b3df298 100644
--- a/node/build.gradle
+++ b/node/build.gradle
@@ -90,8 +90,8 @@ dependencies {
testCompile "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
// Kryo: object graph serialization.
- compile "com.esotericsoftware:kryo:4.0.0"
- compile "de.javakaffee:kryo-serializers:0.42"
+ compile "com.esotericsoftware:kryo:4.0.2"
+ compile "de.javakaffee:kryo-serializers:0.43"
compile "com.google.guava:guava:$guava_version"
@@ -120,7 +120,7 @@ dependencies {
}
// Coda Hale's Metrics: for monitoring of key statistics
- compile "io.dropwizard.metrics:metrics-core:$metrics_version"
+ compile "io.dropwizard.metrics:metrics-jmx:$metrics_version"
// JimFS: in memory java.nio filesystem. Used for test and simulation utilities.
compile "com.google.jimfs:jimfs:1.1"
diff --git a/node/src/integration-test/kotlin/net/corda/node/persistence/H2SecurityTests.kt b/node/src/integration-test/kotlin/net/corda/node/persistence/H2SecurityTests.kt
index 5552a36a37..fda850e497 100644
--- a/node/src/integration-test/kotlin/net/corda/node/persistence/H2SecurityTests.kt
+++ b/node/src/integration-test/kotlin/net/corda/node/persistence/H2SecurityTests.kt
@@ -12,6 +12,7 @@ import net.corda.testing.driver.DriverParameters
import net.corda.testing.driver.driver
import net.corda.testing.driver.internal.incrementalPortAllocation
import net.corda.testing.node.User
+import org.h2.jdbc.JdbcSQLNonTransientException
import org.junit.Test
import java.net.InetAddress
import java.sql.DriverManager
@@ -96,7 +97,7 @@ class H2SecurityTests {
val port = getFreePort()
startNode(customOverrides = mapOf(h2AddressKey to "localhost:$port", dbPasswordKey to "x")).getOrThrow()
DriverManager.getConnection("jdbc:h2:tcp://localhost:$port/node", "sa", "x").use {
- assertFailsWith(org.h2.jdbc.JdbcSQLException::class) {
+ assertFailsWith(JdbcSQLNonTransientException::class) {
it.createStatement().execute("CREATE ALIAS SET_PROPERTY FOR \"java.lang.System.setProperty\"")
it.createStatement().execute("CALL SET_PROPERTY('abc', '1')")
}
@@ -116,7 +117,7 @@ class H2SecurityTests {
it.proxy.startFlow(::MaliciousFlow).returnValue.getOrThrow()
}
DriverManager.getConnection("jdbc:h2:tcp://localhost:$port/node", "sa", "x").use {
- assertFailsWith(org.h2.jdbc.JdbcSQLException::class) {
+ assertFailsWith(JdbcSQLNonTransientException::class) {
it.createStatement().execute("CREATE ALIAS SET_PROPERTY FOR \"java.lang.System.setProperty\"")
it.createStatement().execute("CALL SET_PROPERTY('abc', '1')")
}
diff --git a/node/src/main/kotlin/net/corda/node/internal/Node.kt b/node/src/main/kotlin/net/corda/node/internal/Node.kt
index ddd045b787..675a6f4a01 100644
--- a/node/src/main/kotlin/net/corda/node/internal/Node.kt
+++ b/node/src/main/kotlin/net/corda/node/internal/Node.kt
@@ -1,8 +1,8 @@
package net.corda.node.internal
-import com.codahale.metrics.JmxReporter
import com.codahale.metrics.MetricFilter
import com.codahale.metrics.MetricRegistry
+import com.codahale.metrics.jmx.JmxReporter
import com.github.benmanes.caffeine.cache.Caffeine
import com.palominolabs.metrics.newrelic.AllEnabledMetricAttributeFilter
import com.palominolabs.metrics.newrelic.NewRelicReporter
@@ -64,7 +64,7 @@ import net.corda.serialization.internal.*
import net.corda.serialization.internal.amqp.SerializationFactoryCacheKey
import net.corda.serialization.internal.amqp.SerializerFactory
import org.apache.commons.lang3.SystemUtils
-import org.h2.jdbc.JdbcSQLException
+import org.h2.jdbc.JdbcSQLNonTransientConnectionException
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import rx.Scheduler
@@ -405,7 +405,7 @@ open class Node(configuration: NodeConfiguration,
runOnStop += server::stop
val url = try {
server.start().url
- } catch (e: JdbcSQLException) {
+ } catch (e: JdbcSQLNonTransientConnectionException) {
if (e.cause is BindException) {
throw AddressBindingException(effectiveH2Settings.address)
} else {
diff --git a/node/src/main/resources/build.properties b/node/src/main/resources/build.properties
index 24b2d33977..5fe7182253 100644
--- a/node/src/main/resources/build.properties
+++ b/node/src/main/resources/build.properties
@@ -2,4 +2,4 @@
# Note: sadly, due to present limitation of IntelliJ-IDEA in processing resource files, these constants cannot be
# imported from top-level 'constants.properties' file
-jolokiaAgentVersion=1.6.0
+jolokiaAgentVersion=1.6.1
diff --git a/samples/irs-demo/build.gradle b/samples/irs-demo/build.gradle
index c05c59a731..a30bcfbbbe 100644
--- a/samples/irs-demo/build.gradle
+++ b/samples/irs-demo/build.gradle
@@ -1,13 +1,13 @@
buildscript {
ext {
- springBootVersion = '1.5.10.RELEASE'
+ springBootVersion = '1.5.21.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath "org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion"
- classpath "io.spring.gradle:dependency-management-plugin:1.0.7.RELEASE"
+ classpath "io.spring.gradle:dependency-management-plugin:1.0.8.RELEASE"
}
}
diff --git a/samples/irs-demo/cordapp/contracts-irs/build.gradle b/samples/irs-demo/cordapp/contracts-irs/build.gradle
index 77e43fef34..35b5dfcfe0 100644
--- a/samples/irs-demo/cordapp/contracts-irs/build.gradle
+++ b/samples/irs-demo/cordapp/contracts-irs/build.gradle
@@ -8,6 +8,9 @@ dependencies {
cordaRuntime project(':node-api')
cordapp project(':finance:contracts')
+ // Apache JEXL: An embeddable expression evaluation library.
+ compile "org.apache.commons:commons-jexl3:3.1"
+
compile "com.fasterxml.jackson.core:jackson-annotations:${jackson_version}"
testCompile project(':node-driver')
diff --git a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/CustomCordapp.kt b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/CustomCordapp.kt
index 5730468390..e2665e96dc 100644
--- a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/CustomCordapp.kt
+++ b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/CustomCordapp.kt
@@ -48,13 +48,15 @@ data class CustomCordapp(
@VisibleForTesting
internal fun packageAsJar(file: Path) {
val classGraph = ClassGraph()
- classes.forEach { classGraph.addClassLoader(it.classLoader) }
- val scanResult = classGraph
- .whitelistPackages(*packages.toTypedArray())
- .whitelistClasses(*classes.map { it.name }.toTypedArray())
- .pooledScan()
+ if (packages.isNotEmpty()) {
+ classGraph.whitelistPaths(*packages.map { it.replace('.', '/') }.toTypedArray())
+ }
+ if (classes.isNotEmpty()) {
+ classes.forEach { classGraph.addClassLoader(it.classLoader) }
+ classGraph.whitelistClasses(*classes.map { it.name }.toTypedArray())
+ }
- scanResult.use {
+ classGraph.pooledScan().use { scanResult ->
JarOutputStream(file.outputStream()).use { jos ->
jos.addEntry(testEntry(JarFile.MANIFEST_NAME)) {
createTestManifest(name, versionId, targetPlatformVersion).write(jos)
diff --git a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/TestCordappImpl.kt b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/TestCordappImpl.kt
index 6129a0f127..8ac3bbc428 100644
--- a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/TestCordappImpl.kt
+++ b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/TestCordappImpl.kt
@@ -54,7 +54,7 @@ data class TestCordappImpl(val scanPackage: String, override val config: Map {
return packageToRootPaths.computeIfAbsent(scanPackage) {
- val classGraph = ClassGraph().whitelistPackages(scanPackage)
+ val classGraph = ClassGraph().whitelistPaths(scanPackage.replace('.', '/'))
classGraph.pooledScan().use {
it.allResources
.asSequence()
diff --git a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/performance/Reporter.kt b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/performance/Reporter.kt
index cbd6cd5a00..a98bd635e4 100644
--- a/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/performance/Reporter.kt
+++ b/testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/performance/Reporter.kt
@@ -1,8 +1,8 @@
package net.corda.testing.node.internal.performance
import com.codahale.metrics.ConsoleReporter
-import com.codahale.metrics.JmxReporter
import com.codahale.metrics.MetricRegistry
+import com.codahale.metrics.jmx.JmxReporter
import net.corda.testing.node.internal.ShutdownManager
import java.util.concurrent.TimeUnit
import javax.management.ObjectName
diff --git a/testing/test-cli/build.gradle b/testing/test-cli/build.gradle
index c79b4c3eef..7b4ba684d3 100644
--- a/testing/test-cli/build.gradle
+++ b/testing/test-cli/build.gradle
@@ -4,8 +4,8 @@ apply plugin: 'kotlin'
dependencies {
compile "info.picocli:picocli:$picocli_version"
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
- compile group: "com.fasterxml.jackson.dataformat", name: "jackson-dataformat-yaml", version: "2.9.0"
- compile group: "com.fasterxml.jackson.core", name: "jackson-databind", version: "2.9.0"
+ compile "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:$jackson_version"
+ compile "com.fasterxml.jackson.core:jackson-databind:$jackson_version"
compile "com.fasterxml.jackson.module:jackson-module-kotlin:2.9.+"
compile "org.junit.jupiter:junit-jupiter-api:${junit_jupiter_version}"
diff --git a/tools/demobench/build.gradle b/tools/demobench/build.gradle
index 3f9be21b8c..522d285080 100644
--- a/tools/demobench/build.gradle
+++ b/tools/demobench/build.gradle
@@ -1,8 +1,7 @@
ext {
tornadofx_version = '1.7.15'
- jna_version = '4.1.0'
+ jna_version = '4.5.2'
purejavacomm_version = '0.0.18'
- controlsfx_version = '8.40.12'
java_home = System.properties.'java.home'
pkg_source = "$buildDir/packagesrc"
@@ -65,8 +64,8 @@ dependencies {
compile "com.typesafe:config:$typesafe_config_version"
// FontAwesomeFX: icons in the form of a font.
- compile "de.jensd:fontawesomefx-fontawesome:4.7.0-5"
- compile 'de.jensd:fontawesomefx-commons:8.15'
+ compile "de.jensd:fontawesomefx-fontawesome:$fontawesomefx_fontawesome_version"
+ compile "de.jensd:fontawesomefx-commons:$fontawesomefx_commons_version"
// JediTerm: the terminal emulator used in IntelliJ. We have forked it and tweaked it, see https://github.com/corda/jediterm
compile ':terminal-331a005d6793e52cefc9e2cec6774e62d5a546b1'
diff --git a/tools/explorer/build.gradle b/tools/explorer/build.gradle
index 806613af6e..1d4a9b6f46 100644
--- a/tools/explorer/build.gradle
+++ b/tools/explorer/build.gradle
@@ -34,22 +34,20 @@ dependencies {
compileOnly "co.paralleluniverse:capsule:$capsule_version"
// FontAwesomeFX: The "FontAwesome" icon library.
- compile 'de.jensd:fontawesomefx-fontawesome:4.7.0'
- compile 'de.jensd:fontawesomefx-commons:8.13'
+ compile "de.jensd:fontawesomefx-fontawesome:$fontawesomefx_fontawesome_version"
+ compile "de.jensd:fontawesomefx-commons:$fontawesomefx_commons_version"
// ReactFX: Functional reactive UI programming.
compile 'org.reactfx:reactfx:2.0-M5'
compile 'org.fxmisc.easybind:easybind:1.0.3'
- // JFXtras: useful widgets including a calendar control.
- compile 'org.jfxtras:jfxtras-agenda:8.0-r5'
- compile 'org.jfxtras:jfxtras-font-roboto:8.0-r5'
+ compile 'org.jfxtras:jfxtras-font-roboto:8.0-r6'
// Humanize: formatting
compile 'com.github.mfornos:humanize-icu:1.2.2'
// Controls FX: more java FX components http://fxexperience.com/controlsfx/
- compile 'org.controlsfx:controlsfx:8.40.12'
+ compile "org.controlsfx:controlsfx:$controlsfx_version"
// This provide com.apple.eawt stub for non-mac system.
compile 'com.yuvimasory:orange-extensions:1.3.0'
diff --git a/tools/loadtest/build.gradle b/tools/loadtest/build.gradle
index 00480419c0..c55a2e2692 100644
--- a/tools/loadtest/build.gradle
+++ b/tools/loadtest/build.gradle
@@ -9,7 +9,7 @@ dependencies {
compile project(':node-driver')
// https://mvnrepository.com/artifact/com.jcraft/jsch
- compile group: 'com.jcraft', name: 'jsch', version: '0.1.54'
+ compile "com.jcraft:jsch:$jsch_version"
compile group: 'com.jcraft', name: 'jsch.agentproxy.core', version: '0.0.9'
compile group: 'com.jcraft', name: 'jsch.agentproxy.sshagent', version: '0.0.9'
compile group: 'com.jcraft', name: 'jsch.agentproxy.usocket-jna', version: '0.0.9'
diff --git a/tools/network-bootstrapper/build.gradle b/tools/network-bootstrapper/build.gradle
index 316be6e723..963ed2bdb8 100644
--- a/tools/network-bootstrapper/build.gradle
+++ b/tools/network-bootstrapper/build.gradle
@@ -1,6 +1,5 @@
ext {
tornadofx_version = '1.7.15'
- controlsfx_version = '8.40.12'
}
apply plugin: 'kotlin'
@@ -23,7 +22,7 @@ configurations {
}
dependencies {
- compile "com.microsoft.azure:azure:1.8.0"
+ compile "com.microsoft.azure:azure:1.22.0"
compile "com.github.docker-java:docker-java:3.0.6"
testCompile "org.jetbrains.kotlin:kotlin-test"