aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2013-06-18 19:40:22 +0200
committerJakob Odersky <jodersky@gmail.com>2013-06-18 19:40:22 +0200
commit98241aa830bedb006ae041dce661afd57c3d90a8 (patch)
tree70443e7597aca759733e587220a8323fde89af1f
parentb0c32f5325702dd7f7ef3d5ccc0eb9a2b972cf7a (diff)
downloadakka-serial-98241aa830bedb006ae041dce661afd57c3d90a8.tar.gz
akka-serial-98241aa830bedb006ae041dce661afd57c3d90a8.tar.bz2
akka-serial-98241aa830bedb006ae041dce661afd57c3d90a8.zip
use sbt-native plugin and restructure build
-rw-r--r--project/Build.scala34
-rw-r--r--project/Jni.scala2
-rw-r--r--samples/src/main/scala/com/github/jodersky/flow/example/Main.scala (renamed from example/src/main/scala/com/github/jodersky/flow/example/Main.scala)0
-rw-r--r--samples/src/main/scala/com/github/jodersky/flow/example/SerialHandler.scala (renamed from example/src/main/scala/com/github/jodersky/flow/example/SerialHandler.scala)0
-rw-r--r--src/main/java/com/github/jodersky/flow/low/NativeSerial.java (renamed from flow-main/src/main/java/com/github/jodersky/flow/low/NativeSerial.java)0
-rw-r--r--src/main/native/flow.c (renamed from flow-native/src/flow.c)0
-rw-r--r--src/main/scala/com/github/jodersky/flow/Framing.scalac (renamed from flow-main/src/main/scala/com/github/jodersky/flow/Framing.scalac)0
-rw-r--r--src/main/scala/com/github/jodersky/flow/Serial.scalac (renamed from flow-main/src/main/scala/com/github/jodersky/flow/Serial.scalac)0
-rw-r--r--src/main/scala/com/github/jodersky/flow/SerialManager.scalac (renamed from flow-main/src/main/scala/com/github/jodersky/flow/SerialManager.scalac)0
-rw-r--r--src/main/scala/com/github/jodersky/flow/SerialOperator.scalac (renamed from flow-main/src/main/scala/com/github/jodersky/flow/SerialOperator.scalac)0
-rw-r--r--src/main/scala/com/github/jodersky/flow/exceptions.scala (renamed from flow-main/src/main/scala/com/github/jodersky/flow/exceptions.scala)0
-rw-r--r--src/main/scala/com/github/jodersky/flow/low/NativeLoader.scala (renamed from flow-main/src/main/scala/com/github/jodersky/flow/low/NativeLoader.scala)0
-rw-r--r--src/main/scala/com/github/jodersky/flow/low/Serial.scala (renamed from flow-main/src/main/scala/com/github/jodersky/flow/low/Serial.scala)0
-rw-r--r--src/main/scala/com/github/jodersky/flow/test.sc (renamed from flow-main/src/main/scala/com/github/jodersky/flow/test.sc)0
14 files changed, 21 insertions, 15 deletions
diff --git a/project/Build.scala b/project/Build.scala
index 5b157a7..73f0894 100644
--- a/project/Build.scala
+++ b/project/Build.scala
@@ -3,26 +3,32 @@ import Keys._
import com.github.jodersky.build.NativeKeys._
import com.github.jodersky.build.NativePlugin._
+import com.github.jodersky.build.NativeDefault
import Jni._
object FlowBuild extends Build {
val Organization = "com.github.jodersky"
val Version = "1.0-SNAPSHOT"
val ScalaVersion = "2.10.1"
-
- lazy val main = Project("flow-main", file("flow-main")).settings(
- buildSettings ++ Seq(libraryDependencies ++= Dependencies.all): _*
- )
-
- lazy val native = NativeProject("flow-native", file("flow-native")).settings((Seq(
- javahClasses := Seq("com.github.jodersky.flow.low.NativeSerial"),
- includeDirectories in Native += jdkHome.value / "include" / "linux",
- nativeSource in Native := baseDirectory.value / "src",
- binaryType in Native := SharedLibrary,
- binaryName in Native := "flow",
- options in Native := Seq("-fPIC", "-O2"),
- linkOptions in Native := Seq("-Wl,-soname,libflow.so.1")
- ) ++ Jni.defaultSettings): _*).dependsOn(main)
+
+ lazy val main: Project = Project("flow", file("."), settings =
+ Defaults.defaultSettings ++
+ buildSettings ++
+ NativeDefault.defaultSettings ++
+ Seq(
+ libraryDependencies ++= Dependencies.all,
+ javahClasses := Seq("com.github.jodersky.flow.low.NativeSerial"),
+ includeDirectories in Native += jdkHome.value / "include" / "linux",
+ binaryType in Native := SharedLibrary,
+ binaryName in Native := "flow",
+ options in Native := Seq("-fPIC", "-O2"),
+ linkOptions in Native := Seq("-Wl,-soname,libflow.so.1"),
+ resourceGenerators in Compile <+= (resourceManaged in Compile, link in Native) map { (resDir, binary) =>
+ val file = resDir / "native" / sys.props("os.name").toLowerCase / sys.props("os.arch").toLowerCase / binary.getName
+ IO.copyFile(binary, file)
+ Seq(file)
+ }
+ ) ++ Jni.defaultSettings)
lazy val example = Project(
id = "flow-example",
diff --git a/project/Jni.scala b/project/Jni.scala
index 0263786..8aacf3b 100644
--- a/project/Jni.scala
+++ b/project/Jni.scala
@@ -13,7 +13,7 @@ object Jni {
javahHeaderDirectory := (sourceManaged in Native).value / "javah",
javah := {
- val cp = (fullClasspath in Compile).value.map(_.data.getAbsolutePath).mkString(":")
+ val cp = (classDirectory in Compile).value
for (clazz <- javahClasses.value) {
val parts = Seq(
"javah",
diff --git a/example/src/main/scala/com/github/jodersky/flow/example/Main.scala b/samples/src/main/scala/com/github/jodersky/flow/example/Main.scala
index 20fffe2..20fffe2 100644
--- a/example/src/main/scala/com/github/jodersky/flow/example/Main.scala
+++ b/samples/src/main/scala/com/github/jodersky/flow/example/Main.scala
diff --git a/example/src/main/scala/com/github/jodersky/flow/example/SerialHandler.scala b/samples/src/main/scala/com/github/jodersky/flow/example/SerialHandler.scala
index d228cb9..d228cb9 100644
--- a/example/src/main/scala/com/github/jodersky/flow/example/SerialHandler.scala
+++ b/samples/src/main/scala/com/github/jodersky/flow/example/SerialHandler.scala
diff --git a/flow-main/src/main/java/com/github/jodersky/flow/low/NativeSerial.java b/src/main/java/com/github/jodersky/flow/low/NativeSerial.java
index 6bdcde5..6bdcde5 100644
--- a/flow-main/src/main/java/com/github/jodersky/flow/low/NativeSerial.java
+++ b/src/main/java/com/github/jodersky/flow/low/NativeSerial.java
diff --git a/flow-native/src/flow.c b/src/main/native/flow.c
index 09ffca6..09ffca6 100644
--- a/flow-native/src/flow.c
+++ b/src/main/native/flow.c
diff --git a/flow-main/src/main/scala/com/github/jodersky/flow/Framing.scalac b/src/main/scala/com/github/jodersky/flow/Framing.scalac
index f8173a7..f8173a7 100644
--- a/flow-main/src/main/scala/com/github/jodersky/flow/Framing.scalac
+++ b/src/main/scala/com/github/jodersky/flow/Framing.scalac
diff --git a/flow-main/src/main/scala/com/github/jodersky/flow/Serial.scalac b/src/main/scala/com/github/jodersky/flow/Serial.scalac
index 7182425..7182425 100644
--- a/flow-main/src/main/scala/com/github/jodersky/flow/Serial.scalac
+++ b/src/main/scala/com/github/jodersky/flow/Serial.scalac
diff --git a/flow-main/src/main/scala/com/github/jodersky/flow/SerialManager.scalac b/src/main/scala/com/github/jodersky/flow/SerialManager.scalac
index ca3fc6b..ca3fc6b 100644
--- a/flow-main/src/main/scala/com/github/jodersky/flow/SerialManager.scalac
+++ b/src/main/scala/com/github/jodersky/flow/SerialManager.scalac
diff --git a/flow-main/src/main/scala/com/github/jodersky/flow/SerialOperator.scalac b/src/main/scala/com/github/jodersky/flow/SerialOperator.scalac
index 21d2067..21d2067 100644
--- a/flow-main/src/main/scala/com/github/jodersky/flow/SerialOperator.scalac
+++ b/src/main/scala/com/github/jodersky/flow/SerialOperator.scalac
diff --git a/flow-main/src/main/scala/com/github/jodersky/flow/exceptions.scala b/src/main/scala/com/github/jodersky/flow/exceptions.scala
index c7b2fa1..c7b2fa1 100644
--- a/flow-main/src/main/scala/com/github/jodersky/flow/exceptions.scala
+++ b/src/main/scala/com/github/jodersky/flow/exceptions.scala
diff --git a/flow-main/src/main/scala/com/github/jodersky/flow/low/NativeLoader.scala b/src/main/scala/com/github/jodersky/flow/low/NativeLoader.scala
index fda82a6..fda82a6 100644
--- a/flow-main/src/main/scala/com/github/jodersky/flow/low/NativeLoader.scala
+++ b/src/main/scala/com/github/jodersky/flow/low/NativeLoader.scala
diff --git a/flow-main/src/main/scala/com/github/jodersky/flow/low/Serial.scala b/src/main/scala/com/github/jodersky/flow/low/Serial.scala
index e482bf8..e482bf8 100644
--- a/flow-main/src/main/scala/com/github/jodersky/flow/low/Serial.scala
+++ b/src/main/scala/com/github/jodersky/flow/low/Serial.scala
diff --git a/flow-main/src/main/scala/com/github/jodersky/flow/test.sc b/src/main/scala/com/github/jodersky/flow/test.sc
index 88a2193..88a2193 100644
--- a/flow-main/src/main/scala/com/github/jodersky/flow/test.sc
+++ b/src/main/scala/com/github/jodersky/flow/test.sc