markusthoemmes closed pull request #2627: Bumping Scala dependencies and clean 
up dependency usage.
URL: https://github.com/apache/incubator-openwhisk/pull/2627
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/build.gradle b/build.gradle
index 135c13b792..05aba2771d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -4,6 +4,7 @@ buildscript {
     }
     dependencies {
         classpath "cz.alenkacz:gradle-scalafmt:${gradle.scalafmt.version}"
+        classpath 'ca.cutterslade.gradle:gradle-dependency-analyze:1.2.1'
     }
 }
 
@@ -37,3 +38,7 @@ def configureUnixClasspath(File script) {
         }
         .join('\n')
 }
+
+allprojects {
+    apply plugin: 'ca.cutterslade.analyze'
+}
diff --git a/common/scala/build.gradle b/common/scala/build.gradle
index 2c04731bbf..31fe20ebd4 100644
--- a/common/scala/build.gradle
+++ b/common/scala/build.gradle
@@ -9,37 +9,53 @@ repositories {
 }
 
 dependencies {
-    compile "org.scala-lang:scala-library:${gradle.scala.version}"
-
-    compile 'com.github.pureconfig:pureconfig_2.11:0.7.2'
-    compile 'io.spray:spray-json_2.11:1.3.3'
-
-    compile 'com.typesafe.akka:akka-actor_2.11:2.5.6'
-    compile 'com.typesafe.akka:akka-stream_2.11:2.5.6'
-    compile 'com.typesafe.akka:akka-slf4j_2.11:2.5.6'
-
-    compile 'com.typesafe.akka:akka-http-core_2.11:10.0.10'
-    compile 'com.typesafe.akka:akka-http-spray-json_2.11:10.0.10'
-
-    compile 'com.lightbend.akka:akka-stream-alpakka-file_2.11:0.15'
-
-    compile 'ch.qos.logback:logback-classic:1.2.3'
-    compile 'org.slf4j:jcl-over-slf4j:1.7.25'
-    compile 'org.slf4j:log4j-over-slf4j:1.7.25'
-    compile 'commons-codec:commons-codec:1.9'
+    /**
+     * Scala Dependencies
+     */
+    compile 
"org.scala-lang:scala-library:${gradle.scala.major}.${gradle.scala.minor}.${gradle.scala.patch}"
+
+    // Runtime logging
+    permitUnusedDeclared 
"com.typesafe.akka:akka-slf4j_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka.version}"
+    runtime 'ch.qos.logback:logback-classic:1.2.3'
+    runtime 'org.slf4j:jcl-over-slf4j:1.7.25'
+    runtime 'org.slf4j:log4j-over-slf4j:1.7.25'
+
+    // Configuration
+    compile 'com.typesafe:config:1.3.2'
+    compile 
"com.github.pureconfig:pureconfig_${gradle.scala.major}.${gradle.scala.minor}:0.7.2"
+
+    // Akka
+    compile 
"com.typesafe.akka:akka-actor_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka.version}"
+    compile 
"com.typesafe.akka:akka-stream_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka.version}"
+    compile 
"com.typesafe.akka:akka-slf4j_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka.version}"
+
+    // Akka HTTP
+    compile 
"com.typesafe.akka:akka-http_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka_http.version}"
+    compile 
"com.typesafe.akka:akka-http-core_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka_http.version}"
+    compile 
"com.typesafe.akka:akka-http-spray-json_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka_http.version}"
+    compile 
"io.spray:spray-json_${gradle.scala.major}.${gradle.scala.minor}:${gradle.spray_json.version}"
+    compile 
"com.chuusai:shapeless_${gradle.scala.major}.${gradle.scala.minor}:${gradle.shapeless.version}"
+
+    compile 
"com.lightbend.akka:akka-stream-alpakka-file_${gradle.scala.major}.${gradle.scala.minor}:0.15"
+
+    // Kamon
+    compile 
"io.kamon:kamon-core_${gradle.scala.major}.${gradle.scala.minor}:${gradle.kamon.version}"
+    runtime 
"io.kamon:kamon-statsd_${gradle.scala.major}.${gradle.scala.minor}:${gradle.kamon.version}"
+
+    /**
+     * Java Dependencies
+     */
     compile 'commons-io:commons-io:2.4'
-    compile 'commons-collections:commons-collections:3.2.2'
-    compile 'org.apache.kafka:kafka-clients:0.11.0.1'
-    compile ('org.apache.httpcomponents:httpclient:4.4.1') {
+    compile 'org.apache.commons:commons-collections4:4.1'
+    compile "org.apache.kafka:kafka-clients:${gradle.kafka.version}"
+    compile 'org.apache.httpcomponents:httpcore:4.4.4'
+    compile ('org.apache.httpcomponents:httpclient:4.5.2') {
         exclude group: 'commons-logging'
     }
     compile ('com.fasterxml.uuid:java-uuid-generator:3.1.3') {
         exclude group: 'log4j'
     }
     compile 'com.github.ben-manes.caffeine:caffeine:2.4.0'
-    compile 'com.google.code.findbugs:jsr305:3.0.2'
-    compile 'io.kamon:kamon-core_2.11:0.6.7'
-    compile 'io.kamon:kamon-statsd_2.11:0.6.7'
 }
 
 tasks.withType(ScalaCompile) {
diff --git a/common/scala/src/main/scala/whisk/common/RingBuffer.scala 
b/common/scala/src/main/scala/whisk/common/RingBuffer.scala
index 4f5a6c789e..a81db8c332 100644
--- a/common/scala/src/main/scala/whisk/common/RingBuffer.scala
+++ b/common/scala/src/main/scala/whisk/common/RingBuffer.scala
@@ -17,16 +17,16 @@
 
 package whisk.common
 
-import org.apache.commons.collections.buffer.CircularFifoBuffer
+import org.apache.commons.collections4.queue.CircularFifoQueue
 
 object RingBuffer {
   def apply[T](size: Int) = new RingBuffer[T](size)
 }
 
 class RingBuffer[T](size: Int) {
-  private val inner = new CircularFifoBuffer(size)
+  private val inner = new CircularFifoQueue[T](size)
 
-  def add(el: T) = inner.add(el)
+  def add(el: T) = inner.offer(el)
 
   def toList() = inner.toArray().asInstanceOf[Array[T]].toList
 }
diff --git a/common/scala/src/main/scala/whisk/core/entity/ArgNormalizer.scala 
b/common/scala/src/main/scala/whisk/core/entity/ArgNormalizer.scala
index 66676397f3..5dd6536dbb 100644
--- a/common/scala/src/main/scala/whisk/core/entity/ArgNormalizer.scala
+++ b/common/scala/src/main/scala/whisk/core/entity/ArgNormalizer.scala
@@ -17,9 +17,7 @@
 
 package whisk.core.entity
 
-import spray.json.RootJsonFormat
-import spray.json.pimpString
-import spray.json.JsString
+import spray.json._
 import scala.util.Try
 
 protected[entity] trait ArgNormalizer[T] {
diff --git a/core/controller/build.gradle b/core/controller/build.gradle
index 45aba6d7fc..b5bbb0980d 100644
--- a/core/controller/build.gradle
+++ b/core/controller/build.gradle
@@ -11,9 +11,35 @@ repositories {
 }
 
 dependencies {
-    compile 'com.typesafe.akka:akka-distributed-data_2.11:2.5.4'
-    compile "org.scala-lang:scala-library:${gradle.scala.version}"
+    /**
+     * Scala Dependencies
+     */
+    compile 
"org.scala-lang:scala-library:${gradle.scala.major}.${gradle.scala.minor}.${gradle.scala.patch}"
     compile project(':common:scala')
+
+    // Configuration
+    compile 
"com.github.pureconfig:pureconfig_${gradle.scala.major}.${gradle.scala.minor}:0.7.2"
+
+    // Akka
+    compile 
"com.typesafe.akka:akka-actor_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka.version}"
+    compile 
"com.typesafe.akka:akka-stream_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka.version}"
+    compile 
"com.typesafe.akka:akka-cluster_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka.version}"
+    compile 
"com.typesafe.akka:akka-distributed-data_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka.version}"
+
+    // Akka HTTP
+    compile 
"com.typesafe.akka:akka-http_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka_http.version}"
+    compile 
"com.typesafe.akka:akka-http-core_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka_http.version}"
+    compile 
"com.typesafe.akka:akka-http-spray-json_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka_http.version}"
+    compile 
"io.spray:spray-json_${gradle.scala.major}.${gradle.scala.minor}:${gradle.spray_json.version}"
+    compile 
"com.chuusai:shapeless_${gradle.scala.major}.${gradle.scala.minor}:${gradle.shapeless.version}"
+
+    // Kamon
+    compile 
"io.kamon:kamon-core_${gradle.scala.major}.${gradle.scala.minor}:${gradle.kamon.version}"
+
+    /**
+     * Java Dependencies
+     */
+    compile "org.apache.kafka:kafka-clients:${gradle.kafka.version}"
 }
 
 tasks.withType(ScalaCompile) {
diff --git a/core/invoker/build.gradle b/core/invoker/build.gradle
index 4a9ceff902..0c866f7a8e 100644
--- a/core/invoker/build.gradle
+++ b/core/invoker/build.gradle
@@ -10,11 +10,42 @@ repositories {
     mavenCentral()
 }
 
+analyzeClassesDependencies {
+    justWarn = true
+}
+
 dependencies {
-    compile "org.scala-lang:scala-library:${gradle.scala.version}"
+    /**
+     * Scala Dependencies
+     */
+    compile 
"org.scala-lang:scala-library:${gradle.scala.major}.${gradle.scala.minor}.${gradle.scala.patch}"
     compile project(':common:scala')
 
+    // Configuration
+    compile 
"com.github.pureconfig:pureconfig_${gradle.scala.major}.${gradle.scala.minor}:0.7.2"
+
+    // Akka
+    compile 
"com.typesafe.akka:akka-actor_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka.version}"
+    compile 
"com.typesafe.akka:akka-stream_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka.version}"
+
+    // Akka HTTP
+    compile 
"com.typesafe.akka:akka-http_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka_http.version}"
+    compile 
"com.typesafe.akka:akka-http-core_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka_http.version}"
+    compile 
"io.spray:spray-json_${gradle.scala.major}.${gradle.scala.minor}:${gradle.spray_json.version}"
+    compile 
"com.chuusai:shapeless_${gradle.scala.major}.${gradle.scala.minor}:${gradle.shapeless.version}"
+
+    compile 
"com.lightbend.akka:akka-stream-alpakka-file_${gradle.scala.major}.${gradle.scala.minor}:0.15"
+
+    // Kamon
+    compile 
"io.kamon:kamon-core_${gradle.scala.major}.${gradle.scala.minor}:${gradle.kamon.version}"
+
+    /**
+     * Java Dependencies
+     */
+    compile "org.apache.kafka:kafka-clients:${gradle.kafka.version}"
     compile 'org.apache.curator:curator-recipes:4.0.0', { exclude group: 
'org.apache.zookeeper', module:'zookeeper' }
+    compile 'org.apache.curator:curator-framework:4.0.0', { exclude group: 
'org.apache.zookeeper', module:'zookeeper' }
+    compile 'org.apache.curator:curator-client:4.0.0', { exclude group: 
'org.apache.zookeeper', module:'zookeeper' }
     compile 'org.apache.zookeeper:zookeeper:3.4.11'
 }
 
diff --git a/settings.gradle b/settings.gradle
index 57c899386a..1b812855ab 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -19,12 +19,21 @@ include 'tests:dat:blackbox:badproxy'
 
 rootProject.name = 'openwhisk'
 
-gradle.ext.scala = [
-    version: '2.11.11',
-    compileFlags: ['-feature', '-unchecked', '-deprecation', 
'-Xfatal-warnings', '-Ywarn-unused-import']
-]
-
 gradle.ext.scalafmt = [
     version: '1.5.0',
     config: new File(rootProject.projectDir, '.scalafmt.conf')
 ]
+
+gradle.ext.scala = [
+    major: 2,
+    minor: 11,
+    patch: 12,
+    compileFlags: ['-feature', '-unchecked', '-deprecation', 
'-Xfatal-warnings', '-Ywarn-unused-import']
+]
+gradle.ext.akka = [version: '2.5.8']
+gradle.ext.akka_http = [version: '10.0.10']
+gradle.ext.kafka = [version: '0.11.0.1']
+gradle.ext.spray_json = [version: '1.3.3']
+
+gradle.ext.kamon = [version: '0.6.7']
+gradle.ext.shapeless = [version: '2.3.2']
diff --git a/tests/build.gradle b/tests/build.gradle
index 2aa602ac1f..aebf2c1cff 100644
--- a/tests/build.gradle
+++ b/tests/build.gradle
@@ -6,6 +6,10 @@ repositories {
     mavenCentral()
 }
 
+analyzeTestClassesDependencies {
+    justWarn = true
+}
+
 tasks.withType(Test) {
     systemProperties(System.getProperties())
 
@@ -51,23 +55,43 @@ test.dependsOn([
 ])
 
 dependencies {
-    compile "org.scala-lang:scala-library:${gradle.scala.version}"
-    compile 'org.apache.commons:commons-lang3:3.3.2'
-    compile 'org.apache.httpcomponents:httpclient:4.5.2:tests'
-    compile 'org.apache.httpcomponents:httpmime:4.3.6'
-    compile 'junit:junit:4.11'
-    compile 'com.jayway.restassured:rest-assured:2.6.0'
-    compile 'org.scalatest:scalatest_2.11:3.0.1'
-    compile 'com.typesafe.akka:akka-testkit_2.11:2.5.4'
-    compile 'com.google.code.gson:gson:2.3.1'
-    compile 'org.scalamock:scalamock-scalatest-support_2.11:3.4.2'
-    compile 'com.typesafe.akka:akka-testkit_2.11:2.4.16'
-    compile 'com.typesafe.akka:akka-http-testkit_2.11:10.0.10'
-    compile 'com.github.java-json-tools:json-schema-validator:2.2.8';
-
-    compile project(':common:scala')
-    compile project(':core:controller')
-    compile project(':core:invoker')
+    testCompile 
"org.scala-lang:scala-library:${gradle.scala.major}.${gradle.scala.minor}.${gradle.scala.patch}"
+    testCompile project(':common:scala')
+    testCompile project(':core:controller')
+    testCompile project(':core:invoker')
+
+    testCompile 
"io.spray:spray-json_${gradle.scala.major}.${gradle.scala.minor}:${gradle.spray_json.version}"
+
+    testCompile 
"com.typesafe.akka:akka-actor_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka.version}"
+    testCompile 
"com.typesafe.akka:akka-stream_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka.version}"
+    testCompile 
"com.typesafe.akka:akka-http_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka_http.version}"
+    testCompile 
"com.typesafe.akka:akka-http-core_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka_http.version}"
+    testCompile 
"com.typesafe.akka:akka-http-spray-json_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka_http.version}"
+
+    testCompile "org.apache.kafka:kafka-clients:${gradle.kafka.version}"
+
+    testCompile 'junit:junit:4.11'
+    testCompile 
"org.scalatest:scalatest_${gradle.scala.major}.${gradle.scala.minor}:3.0.1"
+    testCompile 
"org.scalactic:scalactic_${gradle.scala.major}.${gradle.scala.minor}:3.0.1"
+    testCompile 
"org.scalamock:scalamock-core_${gradle.scala.major}.${gradle.scala.minor}:3.4.2"
+    testCompile 
"org.scalamock:scalamock-scalatest-support_${gradle.scala.major}.${gradle.scala.minor}:3.4.2"
+    testCompile 
"com.typesafe.akka:akka-testkit_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka.version}"
+    testCompile 
"com.typesafe.akka:akka-http-testkit_${gradle.scala.major}.${gradle.scala.minor}:${gradle.akka_http.version}"
+
+    testCompile 'com.typesafe:config:1.3.1'
+    testCompile 
"com.typesafe:ssl-config-core_${gradle.scala.major}.${gradle.scala.minor}:0.2.2"
+
+    testCompile 'org.apache.httpcomponents:httpcore:4.4.6'
+    testCompile 'commons-io:commons-io:2.4'
+    testCompile "org.apache.kafka:kafka-clients:${gradle.kafka.version}"
+
+    testCompile 'org.apache.commons:commons-lang3:3.3.2'
+    testCompile 'org.apache.httpcomponents:httpclient:4.5.2:tests'
+    testCompile 'com.jayway.restassured:rest-assured:2.6.0'
+    testCompile 'com.google.code.gson:gson:2.3.1'
+    testCompile 'com.fasterxml.jackson.core:jackson-databind:2.2.3'
+    testCompile 'com.github.java-json-tools:json-schema-core:1.2.8'
+    testCompile 'com.github.java-json-tools:json-schema-validator:2.2.8'
 }
 
 tasks.withType(ScalaCompile) {
diff --git 
a/tests/src/test/scala/whisk/core/connector/test/MessageFeedTests.scala 
b/tests/src/test/scala/whisk/core/connector/test/MessageFeedTests.scala
index b240eddf8a..b7b1d0ffc6 100644
--- a/tests/src/test/scala/whisk/core/connector/test/MessageFeedTests.scala
+++ b/tests/src/test/scala/whisk/core/connector/test/MessageFeedTests.scala
@@ -145,7 +145,7 @@ class MessageFeedTests
     connector.expectMsg(Transition(connector.fsm, FillingPipeline, 
DrainingPipeline))
 
     connector.peekCount.get shouldBe peeks
-    connector.expectNoMsg(500.milliseconds)
+    connector.expectNoMessage(500.milliseconds)
   }
 
   it should "transition from drain to fill mode" in {
@@ -162,7 +162,7 @@ class MessageFeedTests
 
     // stay in drain mode, no more peeking
     timeout(connector.fsm) // should be ignored
-    connector.expectNoMsg(500.milliseconds)
+    connector.expectNoMessage(500.milliseconds)
     connector.peekCount.get shouldBe peeks // no new reads
 
     // expecting overflow of 2 in the queue, which is true if all expected 
messages were sent
@@ -170,7 +170,7 @@ class MessageFeedTests
 
     // drain one, should stay in draining state
     connector.fsm ! Processed
-    connector.expectNoMsg(500.milliseconds)
+    connector.expectNoMessage(500.milliseconds)
     connector.peekCount.get shouldBe peeks // no new reads
 
     // back to fill mode
@@ -182,6 +182,6 @@ class MessageFeedTests
     connector.fill(1)
     connector.expectMsg(Transition(connector.fsm, FillingPipeline, 
DrainingPipeline))
 
-    connector.expectNoMsg(500.milliseconds)
+    connector.expectNoMessage(500.milliseconds)
   }
 }
diff --git 
a/tests/src/test/scala/whisk/core/containerpool/test/ContainerPoolTests.scala 
b/tests/src/test/scala/whisk/core/containerpool/test/ContainerPoolTests.scala
index 0b531033d1..7e29d1d94d 100644
--- 
a/tests/src/test/scala/whisk/core/containerpool/test/ContainerPoolTests.scala
+++ 
b/tests/src/test/scala/whisk/core/containerpool/test/ContainerPoolTests.scala
@@ -131,7 +131,7 @@ class ContainerPoolTests
 
     pool ! runMessage
     containers(0).expectMsg(runMessage)
-    containers(1).expectNoMsg(100.milliseconds)
+    containers(1).expectNoMessage(100.milliseconds)
   }
 
   it should "reuse a warm container when action is the same even if revision 
changes" in within(timeout) {
@@ -145,7 +145,7 @@ class ContainerPoolTests
 
     pool ! runMessageDifferentVersion
     containers(0).expectMsg(runMessageDifferentVersion)
-    containers(1).expectNoMsg(100.milliseconds)
+    containers(1).expectNoMessage(100.milliseconds)
   }
 
   it should "create a container if it cannot find a matching container" in 
within(timeout) {
@@ -227,7 +227,7 @@ class ContainerPoolTests
     containers(0).expectMsg(runMessage)
     containers(0).send(pool, RescheduleJob) // emulate container failure ...
     containers(0).send(pool, runMessage) // ... causing job to be rescheduled
-    feed.expectNoMsg(100.millis)
+    feed.expectNoMessage(100.millis)
     containers(1).expectMsg(runMessage) // job resent to new actor
   }
 
diff --git a/tools/travis/build.sh b/tools/travis/build.sh
index 4870acb72a..1f98c5c33f 100755
--- a/tools/travis/build.sh
+++ b/tools/travis/build.sh
@@ -14,9 +14,9 @@ git clone 
https://github.com/apache/incubator-openwhisk-utilities.git
 # run the scancode util. against project source code starting at its root
 incubator-openwhisk-utilities/scancode/scanCode.py $ROOTDIR --config 
$ROOTDIR/tools/build/scanCode.cfg
 
-# run scalafmt checks
+# run static code checks
 cd $ROOTDIR
-TERM=dumb ./gradlew checkScalafmtAll
+TERM=dumb ./gradlew checkScalafmtAll analyzeDependencies
 
 cd $ROOTDIR/ansible
 


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to