From db0c9bebee4cbc587d4da0a624f671ffcf7a649f Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Fri, 27 Jul 2018 16:54:41 -0600 Subject: Make driver-core ready for Java 11 (#188) - Remove code that accesed internal APIs which have been removed. - Add dependencies to libraries which have become Java modules. --- build.sbt | 9 +++++---- src/main/scala/xyz/driver/core/app/DriverApp.scala | 3 +-- src/main/scala/xyz/driver/core/stats.scala | 20 ++++++-------------- 3 files changed, 12 insertions(+), 20 deletions(-) diff --git a/build.sbt b/build.sbt index 4dbb827..0d95a2b 100644 --- a/build.sbt +++ b/build.sbt @@ -21,7 +21,7 @@ lazy val core = (project in file(".")) "org.scalatest" %% "scalatest" % "3.0.5" % "test", "org.scalacheck" %% "scalacheck" % "1.14.0" % "test", "org.scalaz" %% "scalaz-core" % "7.2.24", - "com.github.swagger-akka-http" %% "swagger-akka-http" % "0.14.0", + "com.github.swagger-akka-http" %% "swagger-akka-http" % "0.14.1", "com.typesafe.scala-logging" %% "scala-logging" % "3.9.0", "eu.timepit" %% "refined" % "0.9.0", "com.typesafe.slick" %% "slick" % "3.2.3", @@ -32,8 +32,9 @@ lazy val core = (project in file(".")) "com.google.cloud" % "google-cloud-storage" % "1.31.0", "com.typesafe" % "config" % "1.3.3", "ch.qos.logback" % "logback-classic" % "1.2.3", - "ch.qos.logback.contrib" % "logback-json-classic" % "0.1.5", - "ch.qos.logback.contrib" % "logback-jackson" % "0.1.5", - "com.googlecode.libphonenumber" % "libphonenumber" % "8.9.7" + "ch.qos.logback.contrib" % "logback-json-classic" % "0.1.5", + "ch.qos.logback.contrib" % "logback-jackson" % "0.1.5", + "com.googlecode.libphonenumber" % "libphonenumber" % "8.9.7", + "javax.xml.bind" % "jaxb-api" % "2.2.8" )) .settings(scalaVersion := "2.12.6") diff --git a/src/main/scala/xyz/driver/core/app/DriverApp.scala b/src/main/scala/xyz/driver/core/app/DriverApp.scala index 9cb53af..2572d85 100644 --- a/src/main/scala/xyz/driver/core/app/DriverApp.scala +++ b/src/main/scala/xyz/driver/core/app/DriverApp.scala @@ -255,8 +255,7 @@ class DriverApp( "freeSpace" -> f.freeSpace.toJson, "totalSpace" -> f.totalSpace.toJson, "usableSpace" -> f.usableSpace.toJson) - }.toJson, - "operatingSystem" -> SystemStats.operatingSystemStats.toJson + }.toJson )) } } diff --git a/src/main/scala/xyz/driver/core/stats.scala b/src/main/scala/xyz/driver/core/stats.scala index dbcf6e4..8e0d980 100644 --- a/src/main/scala/xyz/driver/core/stats.scala +++ b/src/main/scala/xyz/driver/core/stats.scala @@ -2,7 +2,6 @@ package xyz.driver.core import java.io.File import java.lang.management.ManagementFactory -import java.lang.reflect.Modifier object stats { @@ -41,18 +40,11 @@ object stats { } } - def operatingSystemStats: Map[String, String] = { - val operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean - operatingSystemMXBean.getClass.getDeclaredMethods - .map(method => { method.setAccessible(true); method }) - .filter(method => method.getName.startsWith("get") && Modifier.isPublic(method.getModifiers)) - .map { method => - try { - method.getName -> String.valueOf(method.invoke(operatingSystemMXBean)) - } catch { - case t: Throwable => method.getName -> t.getMessage - } - } toMap - } + @deprecated( + "OS stats accessed internal APIs which have been removed in new versions of Java. " + + "Refer to InfluxDB and Grafana instead for OS metrics.", + "1.11.9") + def operatingSystemStats: Map[String, String] = Map.empty + } } -- cgit v1.2.3