aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--jni-plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniPackaging.scala9
-rw-r--r--project/Build.scala5
-rw-r--r--project/bintray.sbt1
-rw-r--r--project/plugins.sbt3
5 files changed, 15 insertions, 5 deletions
diff --git a/README.md b/README.md
index 19ef6d7..4654b58 100644
--- a/README.md
+++ b/README.md
@@ -28,7 +28,7 @@ The reason for dividing a project into two subprojects is two-fold: it enables f
## Usage
Add plugin dependency. In `project/plugins.sbt`:
```scala
-addSbtPlugin("ch.jodersky" % "sbt-jni" % "0.3.0")
+addSbtPlugin("ch.jodersky" % "sbt-jni" % "0.4.0")
```
Define sub-projects for JVM and native sources. In `myproject/build.sbt`:
diff --git a/jni-plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniPackaging.scala b/jni-plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniPackaging.scala
index 6014086..1d874cc 100644
--- a/jni-plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniPackaging.scala
+++ b/jni-plugin/src/main/scala/ch/jodersky/sbt/jni/plugins/JniPackaging.scala
@@ -39,6 +39,10 @@ object JniPackaging extends AutoPlugin {
"Maps locally built, platform-dependant libraries."
)
+ val nativeLibraries = taskKey[Map[Platform, File]](
+ "All native libraries, managed and unmanaged."
+ )
+
}
import autoImport._
import JniNative.autoImport._
@@ -83,9 +87,12 @@ object JniPackaging extends AutoPlugin {
}
}.value,
+ // managed native libraries take precedence
+ nativeLibraries := unmanagedNativeLibraries.value ++ unmanagedNativeLibraries.value,
+
resourceGenerators += Def.task {
- val libraries: Seq[(Platform, File)] = (managedNativeLibraries.value ++ unmanagedNativeLibraries.value).toSeq
+ val libraries: Seq[(Platform, File)] = nativeLibraries.value.toSeq
val resources: Seq[File] = for ((plat, file) <- libraries) yield {
diff --git a/project/Build.scala b/project/Build.scala
index 64d471b..6695558 100644
--- a/project/Build.scala
+++ b/project/Build.scala
@@ -2,13 +2,14 @@ import sbt._
import sbt.Keys._
import bintray.BintrayPlugin.autoImport._
+import sbtdoge.CrossPerProjectPlugin
object JniBuild extends Build {
val scalaVersions = List("2.11.7", "2.12.0-M3", "2.10.5")
val commonSettings = Seq(
- version := "0.4.0-SNAPSHOT",
+ version := "0.4.0",
organization := "ch.jodersky",
licenses := Seq(("BSD New", url("http://opensource.org/licenses/BSD-3-Clause"))),
scalacOptions ++= Seq("-deprecation", "-feature")
@@ -25,7 +26,7 @@ object JniBuild extends Build {
publishLocal := {},
publishTo := Some(Resolver.file("Unused transient repository", target.value / "unusedrepo")) // make sbt-pgp happy
)
- )
+ ).enablePlugins(CrossPerProjectPlugin)
lazy val library = Project(
id = "jni-library",
diff --git a/project/bintray.sbt b/project/bintray.sbt
deleted file mode 100644
index 8dd913f..0000000
--- a/project/bintray.sbt
+++ /dev/null
@@ -1 +0,0 @@
-addSbtPlugin("me.lessis" % "bintray-sbt" % "0.3.0")
diff --git a/project/plugins.sbt b/project/plugins.sbt
new file mode 100644
index 0000000..391c9ab
--- /dev/null
+++ b/project/plugins.sbt
@@ -0,0 +1,3 @@
+addSbtPlugin("me.lessis" % "bintray-sbt" % "0.3.0")
+
+addSbtPlugin("com.eed3si9n" % "sbt-doge" % "0.1.5")