refactor project/transitive-plugins

This commit is contained in:
Eugene Yokota 2019-04-22 14:19:18 -04:00
parent bf44a6f446
commit 3a355f6025
4 changed files with 41 additions and 53 deletions

View File

@ -1,11 +0,0 @@
publishTo := Some(Resolver.file("test-publish", (baseDirectory in ThisBuild).value / "repo/"))
resolvers += ("test" at ((baseDirectory in ThisBuild).value / "repo/").asURL.toString)
resolvers += Resolver.mavenLocal
name := "demo1"
organization := "org.example"
version := "0.1"
sbtPlugin := true

View File

@ -1,13 +0,0 @@
publishTo := Some(Resolver.file("test-publish", (baseDirectory in ThisBuild).value / "repo"))
resolvers += ("test" at ((baseDirectory in ThisBuild).value / "repo").asURL.toString)
resolvers += Resolver.mavenLocal
name := "demo2"
organization := "org.example"
version := "0.2"
sbtPlugin := true
addSbtPlugin("org.example" % "demo1" % "0.1")

View File

@ -1,17 +1,44 @@
ThisBuild / organization := "org.example"
lazy val root = (project in file(".")) lazy val root = (project in file("."))
.settings(
lazy val a = proj(project in file("a")) commonSettings
lazy val b = proj(project in file("b")) )
lazy val c = proj(project in file("c"))
lazy val commonSettings = Seq(
def proj(p: Project): Project = ivyPaths := IvyPaths((baseDirectory in ThisBuild).value, Some((target in LocalRootProject).value / "ivy-cache")),
p.settings( publishTo := Some(Resolver.file("test-publish", (baseDirectory in ThisBuild).value / "repo/")),
ivyPaths := IvyPaths((baseDirectory in root).value, Some((target in root).value / "ivy-cache")), // to get sbt artifacts
resolvers += { resolvers += {
val ivyHome = Classpaths.bootIvyHome(appConfiguration.value) getOrElse sys.error("Launcher did not provide the Ivy home directory.") val ivyHome = Classpaths.bootIvyHome(appConfiguration.value) getOrElse sys.error("Launcher did not provide the Ivy home directory.")
Resolver.file("real-local", ivyHome / "local")(Resolver.ivyStylePatterns) Resolver.file("real-local", ivyHome / "local")(Resolver.ivyStylePatterns)
}, },
resolvers += Resolver.typesafeIvyRepo("releases"), // not sure why this isn't included by default resolvers += Resolver.mavenLocal,
resolvers += Resolver.mavenLocal resolvers += ("test-repo" at ((baseDirectory in ThisBuild).value / "repo/").asURL.toString)
)
lazy val a = (project in file("a"))
.enablePlugins(SbtPlugin)
.settings(
commonSettings,
name := "demo1",
version := "0.1"
)
lazy val b = (project in file("b"))
.enablePlugins(SbtPlugin)
.settings(
commonSettings,
name := "demo2",
version := "0.2",
addSbtPlugin("org.example" % "demo1" % "0.1")
)
lazy val c = (project in file("c"))
.enablePlugins(SbtPlugin)
.settings(
commonSettings,
name := "demo3",
version := "0.3",
addSbtPlugin("org.example" % "demo2" % "0.2")
) )

View File

@ -1,15 +0,0 @@
publishTo := Some(Resolver.file("test-publish", (baseDirectory in ThisBuild).value / "repo"))
resolvers += ("test" at ((baseDirectory in ThisBuild).value / "repo").asURL.toString)
resolvers += Resolver.mavenLocal
name := "demo3"
organization := "org.example"
version := "0.3"
sbtPlugin := true
//addSbtPlugin("org.example" % "demo1" % "0.1")
addSbtPlugin("org.example" % "demo2" % "0.2")