From 3d2c3d07cab51ab0cb9cec5edfe14e3c37c8e68e Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Fri, 11 Aug 2017 14:34:31 -0700 Subject: Support sbt 1.0.0 --- .../src/main/scala/ch/jodersky/sbt/jni/build/BuildTool.scala | 2 +- plugin/src/main/scala/ch/jodersky/sbt/jni/build/CMake.scala | 1 + .../ch/jodersky/sbt/jni/build/ConfigureMakeInstall.scala | 1 + .../main/scala/ch/jodersky/sbt/jni/plugins/JniJavah.scala | 12 ++++++++---- .../main/scala/ch/jodersky/sbt/jni/plugins/JniNative.scala | 3 ++- .../main/scala/ch/jodersky/sbt/jni/plugins/JniPackage.scala | 2 +- 6 files changed, 14 insertions(+), 7 deletions(-) (limited to 'plugin/src/main') diff --git a/plugin/src/main/scala/ch/jodersky/sbt/jni/build/BuildTool.scala b/plugin/src/main/scala/ch/jodersky/sbt/jni/build/BuildTool.scala index e1163f1..931ee58 100644 --- a/plugin/src/main/scala/ch/jodersky/sbt/jni/build/BuildTool.scala +++ b/plugin/src/main/scala/ch/jodersky/sbt/jni/build/BuildTool.scala @@ -1,7 +1,7 @@ package ch.jodersky.sbt.jni package build -import java.io.{ File, InputStream } +import java.io.File import java.nio.file.Files import scala.io.Source diff --git a/plugin/src/main/scala/ch/jodersky/sbt/jni/build/CMake.scala b/plugin/src/main/scala/ch/jodersky/sbt/jni/build/CMake.scala index 07517a9..2eba748 100644 --- a/plugin/src/main/scala/ch/jodersky/sbt/jni/build/CMake.scala +++ b/plugin/src/main/scala/ch/jodersky/sbt/jni/build/CMake.scala @@ -2,6 +2,7 @@ package ch.jodersky.sbt.jni package build import sbt._ +import sys.process._ object CMake extends BuildTool with ConfigureMakeInstall { diff --git a/plugin/src/main/scala/ch/jodersky/sbt/jni/build/ConfigureMakeInstall.scala b/plugin/src/main/scala/ch/jodersky/sbt/jni/build/ConfigureMakeInstall.scala index 0be900c..57977ed 100644 --- a/plugin/src/main/scala/ch/jodersky/sbt/jni/build/ConfigureMakeInstall.scala +++ b/plugin/src/main/scala/ch/jodersky/sbt/jni/build/ConfigureMakeInstall.scala @@ -3,6 +3,7 @@ package build import java.io.File import sbt._ +import sys.process._ trait ConfigureMakeInstall { self: BuildTool => diff --git a/plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniJavah.scala b/plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniJavah.scala index eee5875..e313112 100644 --- a/plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniJavah.scala +++ b/plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniJavah.scala @@ -1,9 +1,11 @@ package ch.jodersky.sbt.jni package plugins +import collection.JavaConverters._ +import util.BytecodeUtil import sbt._ import sbt.Keys._ -import util.BytecodeUtil +import sys.process._ /** Adds `javah` header-generation functionality to projects. */ object JniJavah extends AutoPlugin { @@ -27,8 +29,10 @@ object JniJavah extends AutoPlugin { lazy val mainSettings: Seq[Setting[_]] = Seq( javahClasses in javah := { - val compiled: inc.Analysis = (compile in Compile).value - val classFiles: Set[File] = compiled.relations.allProducts.toSet + import xsbti.compile._ + val compiled: CompileAnalysis = (compile in Compile).value + val classFiles: Set[File] = compiled.readStamps().getAllProductStamps() + .asScala.keySet.toSet val nativeClasses = classFiles flatMap { file => BytecodeUtil.nativeClasses(file) } @@ -63,7 +67,7 @@ object JniJavah extends AutoPlugin { clazz ) val cmd = parts.mkString(" ") - val ev = Process(cmd) ! streams.value.log + val ev = Process(cmd) ! log if (ev != 0) sys.error(s"Error occured running javah. Exit code: ${ev}") } out diff --git a/plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniNative.scala b/plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniNative.scala index a1e7c64..7bdf641 100644 --- a/plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniNative.scala +++ b/plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniNative.scala @@ -4,6 +4,7 @@ package plugins import build._ import sbt._ import sbt.Keys._ +import sys.process._ /** Wraps a native build system in sbt tasks. */ object JniNative extends AutoPlugin { @@ -37,7 +38,7 @@ object JniNative extends AutoPlugin { // the value retruned must match that of `ch.jodersky.jni.PlatformMacros#current()` of project `macros` nativePlatform := { try { - val lines = Process("uname -sm").lines + val lines = Process("uname -sm").lineStream if (lines.length == 0) { sys.error("Error occured trying to run `uname`") } diff --git a/plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniPackage.scala b/plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniPackage.scala index fe627a9..0c3fc31 100644 --- a/plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniPackage.scala +++ b/plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniPackage.scala @@ -3,6 +3,7 @@ package plugins import sbt._ import sbt.Keys._ +import sbt.io.Path._ import java.io.File /** Packages libraries built with JniNative. */ @@ -50,7 +51,6 @@ object JniPackage extends AutoPlugin { unmanagedNativeDirectories := Seq(baseDirectory.value / "lib_native"), unmanagedNativeLibraries := { - val baseDirs: Seq[File] = unmanagedNativeDirectories.value val mappings: Seq[(File, String)] = unmanagedNativeDirectories.value.flatMap { dir => val files: Seq[File] = (dir ** "*").get.filter(_.isFile) files pair rebase(dir, "/native") -- cgit v1.2.3