diff --git a/build.sbt b/build.sbt index 489f7b05..e88317e2 100644 --- a/build.sbt +++ b/build.sbt @@ -1,115 +1,18 @@ -import VersionKeys.{snapshotScalaBinaryVersion,deriveBinaryVersion} +scalaModuleSettings -organization := "org.scala-lang.modules" +name := "scala-parser-combinators" -name := "scala-parser-combinators" +version := "1.0.0-SNAPSHOT" -version := "1.0.0-SNAPSHOT" +scalaVersion := "2.11.0-M8" -scalaVersion := "2.11.0-M7" +snapshotScalaBinaryVersion := "2.11.0-M8" -snapshotScalaBinaryVersion := "2.11.0-M7" - -// DOUBLETHINK YOUR WAY OUT OF EDITING BELOW (THERE IS NO BELOW) - -scalaBinaryVersion := deriveBinaryVersion(scalaVersion.value, snapshotScalaBinaryVersion.value) - -// to allow compiling against snapshot versions of Scala -resolvers += Resolver.sonatypeRepo("snapshots") - - -libraryDependencies ++= Seq( - "junit" % "junit" % "4.11" % "test", - "com.novocode" % "junit-interface" % "0.10" % "test") - -// don't use for doc scope, scaladoc warnings are not to be reckoned with -// TODO: turn on for nightlies, but don't enable for PR validation... "-Xfatal-warnings" -scalacOptions in compile ++= Seq("-optimize", "-feature", "-deprecation", "-unchecked", "-Xlint") - - -// Generate $name.properties to store our version as well as the scala version used to build -resourceGenerators in Compile <+= Def.task { - val props = new java.util.Properties - props.put("version.number", version.value) - props.put("scala.version.number", scalaVersion.value) - props.put("scala.binary.version.number", scalaBinaryVersion.value) - val file = (resourceManaged in Compile).value / s"${name.value}.properties" - IO.write(props, null, file) - Seq(file) -} - -mappings in (Compile, packageBin) += { - (baseDirectory.value / s"${name.value}.properties") -> s"${name.value}.properties" -} - - -// maven publishing -publishTo := { - val nexus = "https://oss.sonatype.org/" - if (version.value.trim.endsWith("SNAPSHOT")) - Some("snapshots" at nexus + "content/repositories/snapshots") - else - Some("releases" at nexus + "service/local/staging/deploy/maven2") -} - -credentials += Credentials(Path.userHome / ".ivy2" / ".credentials") - -publishMavenStyle := true - -publishArtifact in Test := false - -pomIncludeRepository := { _ => false } - -pomExtra := ( - http://www.scala-lang.org/ - 2002 - - - repo - BSD 3-Clause - https://github.com/scala/{name.value}/blob/master/LICENSE.md - - - - scm:git:git://github.com/scala/{name.value}.git - https://github.com/scala/{name.value} - - - JIRA - https://issues.scala-lang.org/ - - - - epfl - EPFL - - - Typesafe - Typesafe, Inc. - - -) - -osgiSettings - -val osgiVersion = version(_.replace('-', '.')) - -OsgiKeys.bundleSymbolicName := s"${organization.value}.${name.value}" - -OsgiKeys.bundleVersion := osgiVersion.value +// important!! must come here (why?) +scalaModuleOsgiSettings OsgiKeys.exportPackage := Seq(s"scala.util.parsing.*;version=${version.value}") -// Sources should also have a nice MANIFEST file -packageOptions in packageSrc := Seq(Package.ManifestAttributes( - ("Bundle-SymbolicName", s"${organization.value}.${name.value}.source"), - ("Bundle-Name", s"${name.value} sources"), - ("Bundle-Version", osgiVersion.value), - ("Eclipse-SourceBundle", s"""${organization.value}.${name.value};version="${osgiVersion.value}";roots:="."""") - )) - +libraryDependencies += "junit" % "junit" % "4.11" % "test" -// TODO: mima -// import com.typesafe.tools.mima.plugin.MimaPlugin.mimaDefaultSettings -// import com.typesafe.tools.mima.plugin.MimaKeys.previousArtifact -// previousArtifact := Some(organization.value %% name.value % binaryReferenceVersion.value) +libraryDependencies += "com.novocode" % "junit-interface" % "0.10" % "test" diff --git a/project/build.properties b/project/build.properties index 8cbb5226..37b489cb 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=0.13.0 \ No newline at end of file +sbt.version=0.13.1 diff --git a/project/keys.scala b/project/keys.scala deleted file mode 100644 index bdca0dda..00000000 --- a/project/keys.scala +++ /dev/null @@ -1,11 +0,0 @@ -object VersionKeys { - import sbt.settingKey - - val snapshotScalaBinaryVersion = settingKey[String]("The Scala binary version to use when building against Scala SNAPSHOT.") - - def deriveBinaryVersion(sv: String, snapshotScalaBinaryVersion: String) = sv match { - case snap_211 if snap_211.startsWith("2.11") && - snap_211.contains("-SNAPSHOT") => snapshotScalaBinaryVersion - case sv => sbt.CrossVersion.binaryScalaVersion(sv) - } -} diff --git a/project/plugins.sbt b/project/plugins.sbt index c2f7976c..d59d681b 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("com.typesafe.sbt" % "sbt-osgi" % "0.6.0") \ No newline at end of file +addSbtPlugin("org.scala-lang.modules" % "scala-module-plugin" % "1.0.1") \ No newline at end of file