diff options
author | Jakob Odersky <jodersky@gmail.com> | 2014-01-18 17:21:14 +0100 |
---|---|---|
committer | Jakob Odersky <jodersky@gmail.com> | 2014-01-18 17:21:14 +0100 |
commit | 17589dcc1899a615d5d31ba54b698e06c45cd13f (patch) | |
tree | f26abb735de4c657589ecfea910a1d30875fd561 /project/nativepack.scala | |
parent | 506e9436a6225b804fb3df9f8ce8d5cb62480106 (diff) | |
download | akka-serial-17589dcc1899a615d5d31ba54b698e06c45cd13f.tar.gz akka-serial-17589dcc1899a615d5d31ba54b698e06c45cd13f.tar.bz2 akka-serial-17589dcc1899a615d5d31ba54b698e06c45cd13f.zip |
update readmev1.1.0-RC1
Diffstat (limited to 'project/nativepack.scala')
-rw-r--r-- | project/nativepack.scala | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/project/nativepack.scala b/project/nativepack.scala new file mode 100644 index 0000000..293848d --- /dev/null +++ b/project/nativepack.scala @@ -0,0 +1,37 @@ +import sbt._ +import Keys._ +import NativeKeys._ +import java.io.File +import scala.collection.mutable.HashSet + +object NativePackKeys { + + val nativePackLinkages = taskKey[Seq[(NativeBuild, File)]]("") + val nativePackUnmanaged = settingKey[File]("Directory containing any pre-compiled native binaries.") + +} + +object NativePackDefaults { + import NativePackKeys._ + + val mappingsImpl = Def.task { + val links = nativePackLinkages.value + val unamanagedDir = nativePackUnmanaged.value + + val managed: Seq[(File, String)] = for ( (build, binary) <- links.toSeq) yield { + binary -> ("native/" + build.name + "/" + binary.name) + } + + val unmanaged: Seq[(File, String)] = for (file <- (unamanagedDir ** "*").get; if file.isFile) yield { + file -> ("native/" + (file relativeTo unamanagedDir).get.getPath) + } + + managed ++ unmanaged + } + + def settings = Seq( + nativePackUnmanaged := baseDirectory.value / "lib_native", + mappings in (Compile, packageBin) ++= mappingsImpl.value + ) + +}
\ No newline at end of file |