sbt/build.sbt

164 lines
4.9 KiB
Plaintext
Raw Normal View History

2017-05-15 15:32:47 +02:00
import Settings._
2018-10-17 14:18:03 +02:00
inThisBuild(List(
organization := "io.get-coursier",
2018-11-05 10:35:18 +01:00
homepage := Some(url("https://github.com/coursier/sbt-coursier")),
2018-10-17 14:18:03 +02:00
licenses := Seq("Apache 2.0" -> url("http://opensource.org/licenses/Apache-2.0")),
developers := List(
Developer(
"alexarchambault",
"Alexandre Archambault",
"",
url("https://github.com/alexarchambault")
)
)
))
2020-08-21 17:10:24 +02:00
val coursierVersion0 = "2.0.0-RC6-25"
2019-04-25 16:28:11 +02:00
lazy val `lm-coursier` = project
.in(file("modules/lm-coursier"))
.settings(
shared,
Mima.settings,
2019-07-02 14:01:08 +02:00
Mima.lmCoursierFilters,
2018-09-28 17:55:42 +02:00
libraryDependencies ++= Seq(
2019-04-25 16:28:11 +02:00
"io.get-coursier" %% "coursier" % coursierVersion0,
2020-04-27 18:39:52 +02:00
"io.github.alexarchambault" %% "data-class" % "0.2.3" % Provided,
// We depend on librarymanagement-ivy rather than just
// librarymanagement-core to handle the ModuleDescriptor passed
// to DependencyResolutionInterface.update, which is an
// IvySbt#Module (seems DependencyResolutionInterface.moduleDescriptor
// is ignored).
"org.scala-sbt" %% "librarymanagement-ivy" % "1.3.4",
2020-08-21 17:11:02 +02:00
"org.scalatest" %% "scalatest" % "3.2.1" % Test
2019-10-18 13:39:03 +02:00
)
)
lazy val `lm-coursier-shaded` = project
.in(file("modules/lm-coursier/target/shaded-module"))
.enablePlugins(ShadingPlugin)
.settings(
shared,
Mima.settings,
2019-07-02 14:01:08 +02:00
Mima.lmCoursierFilters,
Mima.lmCoursierShadedFilters,
unmanagedSourceDirectories.in(Compile) := unmanagedSourceDirectories.in(Compile).in(`lm-coursier`).value,
2020-05-12 00:16:06 +02:00
shadedModules += "io.get-coursier" %% "coursier",
validNamespaces += "lmcoursier",
shadingRules ++= {
val toShade = Seq(
"coursier",
"shapeless",
"argonaut",
"org.fusesource",
"macrocompat",
"io.github.alexarchambault.windowsansi"
)
for (ns <- toShade)
yield ShadingRule.moveUnder(ns, "lmcoursier.internal.shaded")
},
libraryDependencies ++= Seq(
2020-05-12 00:16:06 +02:00
"io.get-coursier" %% "coursier" % coursierVersion0,
2020-04-27 18:39:52 +02:00
"io.github.alexarchambault" %% "data-class" % "0.2.3" % Provided,
"org.scala-lang.modules" %% "scala-xml" % "1.3.0", // depending on that one so that it doesn't get shaded
"org.scala-sbt" %% "librarymanagement-ivy" % "1.3.4",
2020-08-21 17:11:02 +02:00
"org.scalatest" %% "scalatest" % "3.2.1" % Test
2020-05-12 00:16:06 +02:00
)
)
lazy val `sbt-coursier-shared` = project
.in(file("modules/sbt-coursier-shared"))
.disablePlugins(MimaPlugin)
.dependsOn(`lm-coursier`)
.settings(
plugin,
generatePropertyFile,
2020-09-04 14:20:39 +02:00
libraryDependencies += "com.lihaoyi" %% "utest" % "0.7.5" % Test,
testFrameworks += new TestFramework("utest.runner.Framework")
)
lazy val `sbt-coursier-shared-shaded` = project
.in(file("modules/sbt-coursier-shared/target/shaded-module"))
.disablePlugins(MimaPlugin)
.dependsOn(`lm-coursier-shaded`)
.settings(
plugin,
generatePropertyFile,
unmanagedSourceDirectories.in(Compile) := unmanagedSourceDirectories.in(Compile).in(`sbt-coursier-shared`).value
)
2018-11-20 11:38:41 +01:00
lazy val `sbt-lm-coursier` = project
.in(file("modules/sbt-lm-coursier"))
.enablePlugins(ScriptedPlugin)
.disablePlugins(MimaPlugin)
.dependsOn(`sbt-coursier-shared-shaded`)
2018-11-20 11:38:41 +01:00
.settings(
plugin,
sbtTestDirectory := sbtTestDirectory.in(`sbt-coursier`).value,
scriptedDependencies := {
scriptedDependencies.value
// TODO Get those automatically
// (but shouldn't scripted itself handle that…?)
publishLocal.in(`lm-coursier-shaded`).value
publishLocal.in(`sbt-coursier-shared-shaded`).value
2018-11-20 11:38:41 +01:00
}
)
2017-02-02 02:06:04 +01:00
lazy val `sbt-coursier` = project
2018-09-28 18:36:32 +02:00
.in(file("modules/sbt-coursier"))
2018-10-17 14:18:03 +02:00
.enablePlugins(ScriptedPlugin)
.disablePlugins(MimaPlugin)
.dependsOn(`sbt-coursier-shared`)
.settings(
plugin,
scriptedDependencies := {
scriptedDependencies.value
// TODO Get dependency projects automatically
// (but shouldn't scripted itself handle that…?)
publishLocal.in(`lm-coursier`).value
publishLocal.in(`sbt-coursier-shared`).value
}
)
2017-01-30 22:57:24 +01:00
2017-06-06 19:51:38 +02:00
lazy val `sbt-pgp-coursier` = project
2018-09-28 18:36:32 +02:00
.in(file("modules/sbt-pgp-coursier"))
2018-10-17 14:18:03 +02:00
.enablePlugins(ScriptedPlugin)
.disablePlugins(MimaPlugin)
2017-06-06 19:51:38 +02:00
.dependsOn(`sbt-coursier`)
.settings(
plugin,
2018-10-17 14:18:03 +02:00
libraryDependencies += {
val sbtv = CrossVersion.binarySbtVersion(sbtVersion.in(pluginCrossBuild).value)
val sv = scalaBinaryVersion.value
val ver = "1.1.2-1"
2018-10-17 14:18:03 +02:00
Defaults.sbtPluginExtra("com.jsuereth" % "sbt-pgp" % ver, sbtv, sv)
},
scriptedDependencies := {
scriptedDependencies.value
// TODO Get dependency projects automatically
scriptedDependencies.in(`sbt-coursier`).value
2017-06-06 19:51:38 +02:00
}
)
2018-11-05 10:35:18 +01:00
lazy val `sbt-coursier-root` = project
2018-09-28 18:36:32 +02:00
.in(file("."))
.disablePlugins(MimaPlugin)
2017-01-30 23:28:45 +01:00
.aggregate(
`lm-coursier`,
`lm-coursier-shaded`,
2017-02-02 02:06:04 +01:00
`sbt-coursier`,
`sbt-coursier-shared`,
`sbt-coursier-shared-shaded`,
2018-11-20 11:38:41 +01:00
`sbt-lm-coursier`,
`sbt-pgp-coursier`
2017-01-30 23:28:45 +01:00
)
.settings(
2017-04-02 21:51:11 +02:00
shared,
2018-11-05 10:35:18 +01:00
skip.in(publish) := true
)
2017-01-30 23:28:45 +01:00