2015-08-19 09:56:08 +02:00
import Dependencies._
2016-02-14 17:47:07 +01:00
import com.typesafe.tools.mima.core._, ProblemFilters._
2015-08-19 09:56:08 +02:00
2015-09-16 14:57:00 +02:00
def baseVersion = "0.1.0"
2015-08-19 09:56:08 +02:00
def commonSettings: Seq[Setting[_]] = Seq(
2017-01-07 06:43:52 +01:00
scalaVersion := scala212,
2015-08-19 09:56:08 +02:00
// publishArtifact in packageDoc := false,
resolvers += Resolver.typesafeIvyRepo("releases"),
resolvers += Resolver.sonatypeRepo("snapshots"),
2016-10-07 20:36:32 +02:00
resolvers += "bintray-sbt-maven-releases" at "https://dl.bintray.com/sbt/maven-releases/",
2015-08-19 09:56:08 +02:00
// concurrentRestrictions in Global += Util.testExclusiveRestriction,
testOptions += Tests.Argument(TestFrameworks.ScalaCheck, "-w", "1"),
2017-01-07 06:43:52 +01:00
javacOptions in compile ++= Seq("-Xlint", "-Xlint:-serial"),
2015-09-02 08:59:00 +02:00
incOptions := incOptions.value.withNameHashing(true),
2017-01-07 06:43:52 +01:00
crossScalaVersions := Seq(scala211, scala212),
2015-09-07 10:40:23 +02:00
resolvers += Resolver.sonatypeRepo("public"),
2016-06-21 17:06:40 +02:00
scalacOptions += "-Ywarn-unused",
2017-01-07 06:43:52 +01:00
mimaPreviousArtifacts := Set(), // Some(organization.value %% moduleName.value % "1.0.0"),
2016-02-14 17:47:07 +01:00
publishArtifact in Compile := true,
2016-05-11 19:57:14 +02:00
publishArtifact in Test := false
2015-08-19 09:56:08 +02:00
)
2016-11-17 01:40:15 +01:00
lazy val lmRoot = (project in file(".")).
2015-08-19 09:56:08 +02:00
aggregate(lm).
settings(
2015-09-02 08:59:00 +02:00
inThisBuild(Seq(
homepage := Some(url("https://github.com/sbt/librarymanagement")),
description := "Library management module for sbt",
scmInfo := Some(ScmInfo(url("https://github.com/sbt/librarymanagement"), "git@github.com:sbt/librarymanagement.git")),
2015-09-16 14:57:00 +02:00
bintrayPackage := "librarymanagement",
git.baseVersion := baseVersion
2015-09-02 08:59:00 +02:00
)),
2015-08-19 09:56:08 +02:00
commonSettings,
2015-09-05 11:32:07 +02:00
name := "LM Root",
2015-08-19 09:56:08 +02:00
publish := {},
2015-09-02 09:25:37 +02:00
publishLocal := {},
2015-09-07 10:40:23 +02:00
publishArtifact in Compile := false,
2016-05-10 06:34:40 +02:00
publishArtifact := false,
customCommands
2015-08-19 09:56:08 +02:00
)
lazy val lm = (project in file("librarymanagement")).
settings(
commonSettings,
2016-05-11 19:57:14 +02:00
name := "librarymanagement",
2015-09-05 11:32:07 +02:00
libraryDependencies ++= Seq(
2016-11-02 16:22:55 +01:00
ivy, jsch, scalaReflect.value, launcherInterface, sjsonnewScalaJson % Optional),
libraryDependencies ++= scalaXml.value,
resourceGenerators in Compile += Def.task(Util.generateVersionFile(version.value, resourceManaged.value, streams.value, (compile in Compile).value)).taskValue,
2017-01-07 06:43:52 +01:00
mimaBinaryIssueFilters ++= Seq(),
2017-01-05 14:33:19 +01:00
contrabandFormatsForType in generateContrabands in Compile := DatatypeConfig.getFormats,
2016-12-14 11:26:53 +01:00
// WORKAROUND sbt/sbt#2205 include managed sources in packageSrc
mappings in (Compile, packageSrc) ++= {
val srcs = (managedSources in Compile).value
val sdirs = (managedSourceDirectories in Compile).value
val base = baseDirectory.value
(((srcs --- sdirs --- base) pair (relativeTo(sdirs) | relativeTo(base) | flat)) toSeq)
}
2016-10-27 14:35:29 +02:00
).
2016-11-02 16:22:55 +01:00
configure(addSbtIO, addSbtUtilLogging, addSbtUtilTesting, addSbtUtilCollection, addSbtUtilCompletion, addSbtUtilCache).
2017-01-05 14:33:19 +01:00
enablePlugins(ContrabandPlugin, JsonCodecPlugin)
2016-05-10 06:34:40 +02:00
def customCommands: Seq[Setting[_]] = Seq(
commands += Command.command("release") { state =>
// "clean" ::
"so compile" ::
"so publishSigned" ::
"reload" ::
state
}
)