diff --git a/sbt/src/sbt-test/source-dependencies/constants/changes/A1.scala b/sbt/src/sbt-test/source-dependencies/constants/changes/A1.scala new file mode 100644 index 000000000..f67b6f474 --- /dev/null +++ b/sbt/src/sbt-test/source-dependencies/constants/changes/A1.scala @@ -0,0 +1 @@ +object A { final val x = 1 } diff --git a/sbt/src/sbt-test/source-dependencies/constants/changes/A2.scala b/sbt/src/sbt-test/source-dependencies/constants/changes/A2.scala new file mode 100644 index 000000000..4f9396f13 --- /dev/null +++ b/sbt/src/sbt-test/source-dependencies/constants/changes/A2.scala @@ -0,0 +1 @@ +object A { final val x = 2 } diff --git a/sbt/src/sbt-test/source-dependencies/constants/changes/B.scala b/sbt/src/sbt-test/source-dependencies/constants/changes/B.scala new file mode 100644 index 000000000..058527993 --- /dev/null +++ b/sbt/src/sbt-test/source-dependencies/constants/changes/B.scala @@ -0,0 +1,4 @@ +object B +{ + def main(args: Array[String]) = assert(args(0).toInt == A.x ) +} \ No newline at end of file diff --git a/sbt/src/sbt-test/source-dependencies/constants/test b/sbt/src/sbt-test/source-dependencies/constants/test new file mode 100644 index 000000000..61df26ef6 --- /dev/null +++ b/sbt/src/sbt-test/source-dependencies/constants/test @@ -0,0 +1,11 @@ +# Tests if source dependencies are tracked properly +# for compile-time constants (like final vals in top-level objects) +# see https://issues.scala-lang.org/browse/SI-7173 for details +# why compile-time constants can be tricky to track due to early inlining + +$ copy-file changes/B.scala B.scala + +$ copy-file changes/A1.scala A.scala +> run 1 +$ copy-file changes/A2.scala A.scala +> run 2 diff --git a/sbt/src/sbt-test/source-dependencies/export-jars/changes/A1.scala b/sbt/src/sbt-test/source-dependencies/export-jars/changes/A1.scala index bfab0f263..210adf865 100644 --- a/sbt/src/sbt-test/source-dependencies/export-jars/changes/A1.scala +++ b/sbt/src/sbt-test/source-dependencies/export-jars/changes/A1.scala @@ -1 +1 @@ -object A { final val x = 1 } \ No newline at end of file +object A { val x = 1 } diff --git a/sbt/src/sbt-test/source-dependencies/export-jars/changes/A2.scala b/sbt/src/sbt-test/source-dependencies/export-jars/changes/A2.scala index d18ff057c..799400c8c 100644 --- a/sbt/src/sbt-test/source-dependencies/export-jars/changes/A2.scala +++ b/sbt/src/sbt-test/source-dependencies/export-jars/changes/A2.scala @@ -1 +1 @@ -object A { final val x = 2 } \ No newline at end of file +object A { val x = 2 } diff --git a/sbt/src/sbt-test/source-dependencies/export-jars/changes/A3.scala b/sbt/src/sbt-test/source-dependencies/export-jars/changes/A3.scala index f34adf32f..25fb93965 100644 --- a/sbt/src/sbt-test/source-dependencies/export-jars/changes/A3.scala +++ b/sbt/src/sbt-test/source-dependencies/export-jars/changes/A3.scala @@ -1 +1 @@ -object A { def x = 3 } \ No newline at end of file +object A { def x = 3 }