From e2505d1d9e2e49554057a8cd5fb71b0ac0e3ba63 Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Sun, 6 Dec 2015 17:03:08 -0800 Subject: Use separate project for native libraries --- project/Build.scala | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) (limited to 'project') diff --git a/project/Build.scala b/project/Build.scala index e1551a4..9a6c0e0 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -1,10 +1,12 @@ import sbt._ import sbt.Keys._ -object NativeUtilsBuild extends Build { +object JniBuild extends Build { + + val scalaVersions = List("2.11.7", "2.10.5") val commonSettings = Seq( - version := "0.1-SNAPSHOT", + version := "0.2-SNAPSHOT", organization := "ch.jodersky", scalacOptions ++= Seq("-deprecation", "-feature") ) @@ -16,21 +18,39 @@ object NativeUtilsBuild extends Build { library, plugin ), settings = Seq( - publish := {} + publish := {}, + publishLocal := {} ) ) lazy val library = Project( id = "jni-library", base = file("jni-library"), - settings = commonSettings + settings = commonSettings ++ Seq( + scalaVersion := scalaVersions.head, + crossScalaVersions := scalaVersions.reverse + ) ) lazy val plugin = Project( id = "sbt-jni", base = file("jni-plugin"), - settings = commonSettings ++ Seq(sbtPlugin := true), - dependencies = Seq(library) + dependencies = Seq(library), + settings = commonSettings ++ Seq( + sbtPlugin := true, + sourceGenerators in Compile += Def.task{ + val src = s"""|package ch.jodersky.sbt.jni + | + |private object Version { + | final val PluginVersion = "${version.value}" + |} + |""".stripMargin + val file = sourceManaged.value / "ch" / "jodersky" / "sbt" / "jni" / "Version.scala" + IO.write(file, src) + Seq(file) + }.taskValue, + libraryDependencies += "org.ow2.asm" % "asm" % "5.0.4" + ) ) } -- cgit v1.2.3