diff --git a/build.gradle b/build.gradle index 8ae659ccec..7940e1ab66 100644 --- a/build.gradle +++ b/build.gradle @@ -4,6 +4,7 @@ version '1.0-SNAPSHOT' apply plugin: 'java' apply plugin: 'kotlin' apply plugin: 'application' +apply plugin: 'project-report' allprojects { sourceCompatibility = 1.8 @@ -42,13 +43,8 @@ configurations { quasar } -// This block makes Gradle print an error and refuse to continue if we get multiple versions of the same library -// included simultaneously. -configurations.all() { - resolutionStrategy { - failOnVersionConflict() - } -} +// To find potential version conflicts, run "gradle htmlDependencyReport" and then look in +// build/reports/project/dependencies/index.html for green highlighted parts of the tree. dependencies { compile project(':contracts') @@ -56,26 +52,20 @@ dependencies { compile "com.google.code.findbugs:jsr305:3.0.1" compile "org.slf4j:slf4j-jdk14:1.7.13" - compile("org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version") { - force = true - } + compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-test:$kotlin_version" - compile("com.google.guava:guava:19.0") { - force = true // Conflict between Quasar and Artemis - } + compile "com.google.guava:guava:19.0" // JOpt: for command line flags. compile "net.sf.jopt-simple:jopt-simple:4.9" // Quasar: for the bytecode rewriting for state machines. - quasar("co.paralleluniverse:quasar-core:${quasar_version}:jdk8@jar") + quasar "co.paralleluniverse:quasar-core:${quasar_version}:jdk8@jar" // Artemis: for reliable p2p message queues. - compile("org.apache.activemq:artemis-server:${artemis_version}") { - exclude group: "com.google.guava", module: "guava" // Artemis is on Guava 18 - } + compile "org.apache.activemq:artemis-server:${artemis_version}" compile "org.apache.activemq:artemis-core-client:${artemis_version}" // JAnsi: for drawing things to the terminal in nicely coloured ways. @@ -89,9 +79,7 @@ dependencies { } // Force commons logging to version 1.2 to override Artemis, which pulls in 1.1.3 (ARTEMIS-424) - compile("commons-logging:commons-logging:1.2") { - force = true - } + compile "commons-logging:commons-logging:1.2" // Web stuff: for HTTP[S] servlets compile "org.eclipse.jetty:jetty-servlet:${jetty_version}" @@ -116,6 +104,9 @@ dependencies { } compile "com.fasterxml.jackson.core:jackson-annotations:2.5.5" + // Coda Hale's Metrics: for monitoring of key statistics + compile "io.dropwizard.metrics:metrics-core:3.1.2" + // Unit testing helpers. testCompile 'junit:junit:4.12' testCompile 'com.google.jimfs:jimfs:1.1' // in memory java.nio filesystem. diff --git a/core/build.gradle b/core/build.gradle index 0d8b218901..caf2a4d3b8 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -35,7 +35,7 @@ dependencies { compile "com.google.guava:guava:19.0" // RxJava: observable streams of events. - compile "io.reactivex:rxkotlin:0.40.1" + compile "io.reactivex:rxjava:1.0.17" // Kryo: object graph serialization. compile "com.esotericsoftware:kryo:3.0.3" diff --git a/core/src/main/kotlin/core/utilities/ProgressTracker.kt b/core/src/main/kotlin/core/utilities/ProgressTracker.kt index 1bf99c29f2..db8dea4e9e 100644 --- a/core/src/main/kotlin/core/utilities/ProgressTracker.kt +++ b/core/src/main/kotlin/core/utilities/ProgressTracker.kt @@ -11,7 +11,7 @@ package core.utilities import core.TransientProperty import rx.Observable import rx.Subscription -import rx.lang.kotlin.BehaviourSubject +import rx.subjects.BehaviorSubject import rx.subjects.PublishSubject import java.util.* @@ -54,7 +54,7 @@ class ProgressTracker(vararg steps: Step) { /** This class makes it easier to relabel a step on the fly, to provide transient information. */ open class RelabelableStep(currentLabel: String) : Step(currentLabel) { - override val changes = BehaviourSubject() + override val changes = BehaviorSubject.create() var currentLabel: String = currentLabel set(value) {