blob: 4286ff610cc92068d085a96c92f2886f01f42891 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
package ch.jodersky.sbt.jni
import build.BuildTool
import ch.jodersky.jni.Platform
import sbt._
object Keys {
val jni = taskKey[File]("Builds a native library (by calling the native build tool).")
val jniClean = taskKey[Unit]("Cleans the native build directory.")
val jniPlatform = settingKey[Platform]("Platform of the system this build is running on.")
val jniBuildTool = taskKey[BuildTool]("The build tool to be used when building a native library.")
//bundle
val jniLibraryPath = settingKey[String]("Foo")
val packageJni = taskKey[File]("Package native librraies into a fat jar.")
val javahClasses = settingKey[Seq[String]]("Fully qualified names of classes containing native declarations.")
val javahObjects = settingKey[Seq[String]]("Fully qualified names of singleton objects containing native declarations.")
val javah = taskKey[File]("Generate JNI headers. Returns the directory containing generated headers.")
//ivy
//libraryDependencies += "com.github.jodersky" % "flow" % "2.4" extra("platform", "all") artifact("libflow", "so")
//maven
//libraryDependencies += "com.github.jodersky" % "flow" % "2.4" classifier "native"
//Wraps tasks associated to an existing native build tool
//val Native = config("native")
//Extra tasks in native
// val buildTool = settingKey[BuildTool]("The native build tool used.")
//val platform = settingKey[Platform]("Platform of the system this build is being run on.")
// organization = org.example
// name = foo-bar
// libraryPrefix = organization + "." + normalize(name)
// libraryPrefix = org/example/foo/bar
// libraryPrefix = org/example/foo/bar/native/<platform>/libraries
//val libraryPath = settingKey[String](
// "A slash (/) seprated path that specifies where native libraries should be stored (in a jar).")
//val libraryResourceDirectory = settingKey[File]("")
//Javah
}
|