From 25bbc5f488f608e102907cc4f222f26257c74254 Mon Sep 17 00:00:00 2001 From: Alistair Johnson Date: Mon, 2 Apr 2018 20:46:07 +0200 Subject: [PATCH] Add shadow tests for CompositeProjects --- .../project/sbt-composite-projects/build.sbt | 13 +++++- .../sbt-composite-projects/changes/shadow.sbt | 40 +++++++++++++++++++ .../project/sbt-composite-projects/test | 5 +++ 3 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 sbt/src/sbt-test/project/sbt-composite-projects/changes/shadow.sbt diff --git a/sbt/src/sbt-test/project/sbt-composite-projects/build.sbt b/sbt/src/sbt-test/project/sbt-composite-projects/build.sbt index cd56ca9e2..7bd373aa4 100644 --- a/sbt/src/sbt-test/project/sbt-composite-projects/build.sbt +++ b/sbt/src/sbt-test/project/sbt-composite-projects/build.sbt @@ -1,8 +1,10 @@ import sbt.internal.AddSettings import sbt.CompositeProject +lazy val check = taskKey[Unit]("check") + // Based on sbt-file-projects test -val cross = new CompositeProject +lazy val cross = new CompositeProject { val p1 = Project.apply("a", new File("a")) val p2 = Project.apply("b", new File("b")) @@ -11,3 +13,12 @@ val cross = new CompositeProject val g = taskKey[Unit]("A task in the root project") g := println("Hello.") + + +check := { + val verP1 = (version in cross.p1).?.value + assert (verP1 == Some("0.1.0-SNAPSHOT")) + + val verP2 = (version in cross.p2).?.value + assert (verP2 == Some("0.1.0-SNAPSHOT")) +} diff --git a/sbt/src/sbt-test/project/sbt-composite-projects/changes/shadow.sbt b/sbt/src/sbt-test/project/sbt-composite-projects/changes/shadow.sbt new file mode 100644 index 000000000..9bf54ab9f --- /dev/null +++ b/sbt/src/sbt-test/project/sbt-composite-projects/changes/shadow.sbt @@ -0,0 +1,40 @@ +import sbt.internal.AddSettings +import sbt.CompositeProject + +lazy val check = taskKey[Unit]("check") + +lazy val a = (project in file("a")) + .settings( + version := "0.2.0" + ) + +// Based on sbt-file-projects test +lazy val cross = new CompositeProject +{ + val p1 = Project.apply("a", new File("a")) + val p2 = Project.apply("b", new File("b")) + def componentProjects: Seq[Project] = Seq(p1, p2) +} + +lazy val b = (project in file("b")) + .settings( + version := "0.2.0" + ) + +val g = taskKey[Unit]("A task in the root project") +g := println("Hello.") + + +check := { + val verP1 = (version in cross.p1).?.value + assert (verP1 == Some("0.2.0"))//Some("0.1.0-SNAPSHOT")) + + val verP2 = (version in cross.p2).?.value + assert (verP2 == Some("0.1.0-SNAPSHOT")) + + val verA = (version in a).?.value + assert (verA == Some("0.2.0")) + + val verB = (version in b).?.value + assert (verA == Some("0.2.0")) +} diff --git a/sbt/src/sbt-test/project/sbt-composite-projects/test b/sbt/src/sbt-test/project/sbt-composite-projects/test index dbf2e5289..868ecac69 100644 --- a/sbt/src/sbt-test/project/sbt-composite-projects/test +++ b/sbt/src/sbt-test/project/sbt-composite-projects/test @@ -15,3 +15,8 @@ $ copy-file changes/basic.sbt basic.sbt > b/compile > b/h > c/compile +> check + +$ copy-file changes/shadow.sbt build.sbt +> reload +> check