From 2754546942520bbd0e9d649cdff56371cf556fe4 Mon Sep 17 00:00:00 2001 From: Mike Hearn Date: Thu, 10 Mar 2016 17:37:10 +0100 Subject: [PATCH] Don't report errors when dependency version conflicts are found, as Gradle's default behaviour of picking the newest version is normally the right one and in practice what we've been doing anyway. Remove RxKotlin. It doesn't add enough value over just using the RxJava API directly. --- build.gradle | 31 +++++++------------ core/build.gradle | 2 +- .../kotlin/core/utilities/ProgressTracker.kt | 4 +-- 3 files changed, 14 insertions(+), 23 deletions(-) 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) {