diff options
Diffstat (limited to 'project/FlowBuild.scala')
-rw-r--r-- | project/FlowBuild.scala | 77 |
1 files changed, 40 insertions, 37 deletions
diff --git a/project/FlowBuild.scala b/project/FlowBuild.scala index 4d51d33..cce9ea3 100644 --- a/project/FlowBuild.scala +++ b/project/FlowBuild.scala @@ -1,24 +1,49 @@ import sbt._ import Keys._ import JniKeys._ +import UniqueVersionKeys._ + object FlowBuild extends Build { val Organization = "com.github.jodersky" val ScalaVersion = "2.10.3" - val Version = "2.0.0-RC2" //version of flow library + val Version = "2.0.0-RC2" - val gitHeadCommitSha = settingKey[String]("Current commit sha.") - lazy val commonSettings: Seq[Setting[_]] = Seq( - organization := Organization, - scalaVersion := ScalaVersion, - isSnapshot := sys.props("release") != "true", - gitHeadCommitSha in ThisBuild := Process("git rev-parse HEAD").lines.head, - version in ThisBuild:= { if (!isSnapshot.value) Version else Version + "-" + gitHeadCommitSha.value }, - licenses := Seq(("BSD-3-Clause", url("http://opensource.org/licenses/BSD-3-Clause"))), - homepage := Some(url("http://github.com/jodersky/flow")), - resolvers += "Typesafe Repo" at "http://repo.typesafe.com/typesafe/releases/", - scalacOptions ++= Seq("-deprecation", "-unchecked", "-feature")) + lazy val commonSettings: Seq[Setting[_]] = + UniqueVersionDefaults.settings ++ + Seq( + organization := Organization, + scalaVersion := ScalaVersion, + baseVersion := Version, + licenses := Seq(("BSD-3-Clause", url("http://opensource.org/licenses/BSD-3-Clause"))), + homepage := Some(url("http://github.com/jodersky/flow")), + resolvers += "Typesafe Repo" at "http://repo.typesafe.com/typesafe/releases/", + scalacOptions ++= Seq("-deprecation", "-unchecked", "-feature")) + + lazy val publishSettings: Seq[Setting[_]] = Seq( + publishMavenStyle := true, + publishTo := { + val nexus = "https://oss.sonatype.org/" + if (isSnapshot.value) + Some("snapshots" at nexus + "content/repositories/snapshots") + else + Some("releases" at nexus + "service/local/staging/deploy/maven2") + }, + pomIncludeRepository := { _ => false }, + pomExtra := { + <scm> + <url>git@github.com:jodersky/flow.git</url> + <connection>scm:git:git@github.com:jodersky/flow.git</connection> + </scm> + <developers> + <developer> + <id>jodersky</id> + <name>Jakob Odersky</name> + </developer> + </developers> + } + ) lazy val runSettings: Seq[Setting[_]] = Seq( fork := true, @@ -37,35 +62,13 @@ object FlowBuild extends Build { lazy val flow: Project = ( Project("flow", file("flow")) settings (commonSettings: _*) + settings (publishSettings: _*) settings (JniDefaults.settings: _*) settings( - javahClasses := Seq("com.github.jodersky.flow.internal.NativeSerial"), javahHeaderDirectory := (baseDirectory in ThisBuild).value / "flow-native" / "include", + javahClasses := Seq("com.github.jodersky.flow.internal.NativeSerial"), compileOrder in Compile := CompileOrder.Mixed, - publishMavenStyle := true, - publishTo := { - val nexus = "https://oss.sonatype.org/" - if (isSnapshot.value) - Some("snapshots" at nexus + "content/repositories/snapshots") - else - Some("releases" at nexus + "service/local/staging/deploy/maven2") - }, - pomIncludeRepository := { _ => false }, - pomExtra := { - <scm> - <url>git@github.com:jodersky/flow.git</url> - <connection>scm:git:git@github.com:jodersky/flow.git</connection> - </scm> - <developers> - <developer> - <id>jodersky</id> - <name>Jakob Odersky</name> - </developer> - </developers> - }, - libraryDependencies ++= Seq( - Dependencies.akkaActor - ) + libraryDependencies += Dependencies.akkaActor ) ) |