diff --git a/sbt/src/sbt-test/project/session-save/build.check.1 b/sbt/src/sbt-test/project/session-save/build.check.1 index f1dd6431d..6a74daa67 100755 --- a/sbt/src/sbt-test/project/session-save/build.check.1 +++ b/sbt/src/sbt-test/project/session-save/build.check.1 @@ -2,3 +2,11 @@ k1 := {error("k1")} k2 <<= k1 map identity +k3 := { + + + val x = "hi" + () +} + +k4 := { }; k5 := () \ No newline at end of file diff --git a/sbt/src/sbt-test/project/session-save/build.check.2 b/sbt/src/sbt-test/project/session-save/build.check.2 index 2bb4dc49d..99b769797 100755 --- a/sbt/src/sbt-test/project/session-save/build.check.2 +++ b/sbt/src/sbt-test/project/session-save/build.check.2 @@ -2,3 +2,11 @@ k1 := {} k2 <<= k1 map identity +k3 := { + + + val x = "hi" + () +} + +k4 := { }; k5 := () diff --git a/sbt/src/sbt-test/project/session-save/build.check.3 b/sbt/src/sbt-test/project/session-save/build.check.3 index 0c0b932c5..0acc048b2 100755 --- a/sbt/src/sbt-test/project/session-save/build.check.3 +++ b/sbt/src/sbt-test/project/session-save/build.check.3 @@ -2,5 +2,14 @@ k1 := {} k2 := {} +k3 := { + + + val x = "hi" + () +} + +k4 := { }; k5 := () + k1 <<= k1 map {_ => error("k1")} diff --git a/sbt/src/sbt-test/project/session-save/build.check.4 b/sbt/src/sbt-test/project/session-save/build.check.4 new file mode 100644 index 000000000..693c6cef6 --- /dev/null +++ b/sbt/src/sbt-test/project/session-save/build.check.4 @@ -0,0 +1,17 @@ +k1 := {} + +k2 := {} + +k3 := { + + + val x = "hi" + () +} + +k4 := { }; k5 := () + +k1 <<= k1 map {_ => error("k1")} + +k4 := { val x = k4.value; () } + diff --git a/sbt/src/sbt-test/project/session-save/build.check.5 b/sbt/src/sbt-test/project/session-save/build.check.5 new file mode 100644 index 000000000..11a7d317b --- /dev/null +++ b/sbt/src/sbt-test/project/session-save/build.check.5 @@ -0,0 +1,15 @@ +k1 := {} + +k2 := {} + +k3 := { + + + val x = "hi" + () +} + +k4 := (); k5 := () + +k1 <<= k1 map {_ => error("k1")} + diff --git a/sbt/src/sbt-test/project/session-save/build.sbt b/sbt/src/sbt-test/project/session-save/build.sbt index d0208fa47..b0d216327 100755 --- a/sbt/src/sbt-test/project/session-save/build.sbt +++ b/sbt/src/sbt-test/project/session-save/build.sbt @@ -4,3 +4,11 @@ k1 := { k2 := { } +k3 := { + + + val x = "hi" + () +} + +k4 := { }; k5 := () \ No newline at end of file diff --git a/sbt/src/sbt-test/project/session-save/project/Build.scala b/sbt/src/sbt-test/project/session-save/project/Build.scala index b7ba35d2f..2454b14e8 100755 --- a/sbt/src/sbt-test/project/session-save/project/Build.scala +++ b/sbt/src/sbt-test/project/session-save/project/Build.scala @@ -3,6 +3,9 @@ import sbt._ object TestBuild extends Build { val k1 = TaskKey[Unit]("k1") val k2 = TaskKey[Unit]("k2") + val k3 = TaskKey[Unit]("k3") + val k4 = TaskKey[Unit]("k4") + val k5 = TaskKey[Unit]("k4") lazy val root = Project("root", file(".")) } diff --git a/sbt/src/sbt-test/project/session-save/test b/sbt/src/sbt-test/project/session-save/test index 58f8a7b46..48f9dc28f 100755 --- a/sbt/src/sbt-test/project/session-save/test +++ b/sbt/src/sbt-test/project/session-save/test @@ -22,4 +22,12 @@ $ must-mirror build.sbt build.check.2 > reload -> k1 > k2 -$ must-mirror build.sbt build.check.3 \ No newline at end of file +$ must-mirror build.sbt build.check.3 + +> set k4 := { val x = k4.value; () } +> session save +$ must-mirror build.sbt exbuild.check.4 + +> set k4 := () +> session save +$ must-mirror build.sbt build.check.5 \ No newline at end of file diff --git a/sbt/src/sbt-test/project/session-update-from-cmd/build.check.1 b/sbt/src/sbt-test/project/session-update-from-cmd/build.check.1 index 6363b1678..019984510 100644 --- a/sbt/src/sbt-test/project/session-update-from-cmd/build.check.1 +++ b/sbt/src/sbt-test/project/session-update-from-cmd/build.check.1 @@ -8,3 +8,5 @@ k1 := { k2 := { println("This is k2") } + +val x = 5; k3 := {}; k4 := {} \ No newline at end of file diff --git a/sbt/src/sbt-test/project/session-update-from-cmd/build.check.2 b/sbt/src/sbt-test/project/session-update-from-cmd/build.check.2 index e69de29bb..f9128e0be 100644 --- a/sbt/src/sbt-test/project/session-update-from-cmd/build.check.2 +++ b/sbt/src/sbt-test/project/session-update-from-cmd/build.check.2 @@ -0,0 +1,15 @@ +name := "projectName" + +k1 := { +// +// +} + +k2 := { + println("This is k2") +} + +val x = 5; k3 := { +// +// +}; k4 := {} \ No newline at end of file diff --git a/sbt/src/sbt-test/project/session-update-from-cmd/build.sbt b/sbt/src/sbt-test/project/session-update-from-cmd/build.sbt index 8bd18ad5c..fdd333a83 100644 --- a/sbt/src/sbt-test/project/session-update-from-cmd/build.sbt +++ b/sbt/src/sbt-test/project/session-update-from-cmd/build.sbt @@ -5,3 +5,5 @@ k1 := {} k2 := { println("This is k2") } + +val x = 5; k3 := {}; k4 := {} \ No newline at end of file diff --git a/sbt/src/sbt-test/project/session-update-from-cmd/project/build.scala b/sbt/src/sbt-test/project/session-update-from-cmd/project/build.scala index c7c6c8238..06c554f22 100644 --- a/sbt/src/sbt-test/project/session-update-from-cmd/project/build.scala +++ b/sbt/src/sbt-test/project/session-update-from-cmd/project/build.scala @@ -4,6 +4,8 @@ import Keys._ object build extends Build { lazy val k1 = taskKey[Unit]("") lazy val k2 = taskKey[Unit]("") + lazy val k3 = taskKey[Unit]("") + lazy val k4 = taskKey[Unit]("") val UpdateK1 = Command.command("UpdateK1") { st: State => val ex = Project extract st @@ -17,8 +19,21 @@ object build extends Build { SessionSettings.saveAllSettings(st1) } + + val UpdateK3 = Command.command("UpdateK3") { st: State => + val ex = Project extract st + import ex._ + val session2 = BuiltinCommands.setThis(st, ex, Seq(k3 := {}), """k3 := { + |// + |// + |}""".stripMargin).session + val st1 = BuiltinCommands.reapply(session2, structure, st) + // SessionSettings.writeSettings(ex.currentRef, session2, ex.session.original, ex.structure) + SessionSettings.saveAllSettings(st1) + } + lazy val root = Project("root", file(".")) settings( - commands += UpdateK1 + commands ++= Seq(UpdateK1, UpdateK3) ) } diff --git a/sbt/src/sbt-test/project/session-update-from-cmd/test b/sbt/src/sbt-test/project/session-update-from-cmd/test index d29ba8270..428b462ba 100644 --- a/sbt/src/sbt-test/project/session-update-from-cmd/test +++ b/sbt/src/sbt-test/project/session-update-from-cmd/test @@ -2,3 +2,5 @@ $ must-mirror build.sbt build.check.1 > UpdateK1 $ must-mirror build.sbt build.check.1 +> UpdateK3 +$ must-mirror build.sbt build.check.2