diff options
Diffstat (limited to 'sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java')
9 files changed, 53 insertions, 0 deletions
diff --git a/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/A.java b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/A.java new file mode 100644 index 000000000..2bce1ee78 --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/A.java @@ -0,0 +1,3 @@ +public class A { + public Integer x() { return 3; } +} diff --git a/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/B.java b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/B.java new file mode 100644 index 000000000..7e9bb5574 --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/B.java @@ -0,0 +1 @@ +public class B extends A {} diff --git a/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/C.java b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/C.java new file mode 100644 index 000000000..042c2b2a3 --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/C.java @@ -0,0 +1 @@ +public class C extends B {} diff --git a/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/D.java b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/D.java new file mode 100644 index 000000000..03e6ad740 --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/D.java @@ -0,0 +1,4 @@ +public class D { + public static final C c = new C(); + public static String x() { return c.x().toString(); } +} diff --git a/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/E.java b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/E.java new file mode 100644 index 000000000..d28336ed5 --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/E.java @@ -0,0 +1,5 @@ +public class E { + public static void main(String[] args) { + assert(D.x() == "3"); + } +} diff --git a/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/build.sbt b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/build.sbt new file mode 100644 index 000000000..d23dff705 --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/build.sbt @@ -0,0 +1,10 @@ +import complete.DefaultParsers._ + +val checkIterations = inputKey[Unit]("Verifies the accumlated number of iterations of incremental compilation.") + +checkIterations := { + val expected: Int = (Space ~> NatBasic).parsed + val actual: Int = (compile in Compile).value.compilations.allCompilations.size + assert(expected == actual, s"Expected $expected compilations, got $actual") +} + diff --git a/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/changes/A2.java b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/changes/A2.java new file mode 100644 index 000000000..610c20407 --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/changes/A2.java @@ -0,0 +1,3 @@ +public class A { + public String x() { return "3"; } +} diff --git a/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/project/DottyInjectedPlugin.scala b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/project/DottyInjectedPlugin.scala new file mode 100644 index 000000000..3433779b6 --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/project/DottyInjectedPlugin.scala @@ -0,0 +1,17 @@ +import sbt._ +import Keys._ + +object DottyInjectedPlugin extends AutoPlugin { + override def requires = plugins.JvmPlugin + override def trigger = allRequirements + + override val projectSettings = Seq( + scalaVersion := "0.1-SNAPSHOT", + scalaOrganization := "ch.epfl.lamp", + scalacOptions += "-language:Scala2", + scalaBinaryVersion := "2.11", + autoScalaLibrary := false, + libraryDependencies ++= Seq("org.scala-lang" % "scala-library" % "2.11.5"), + scalaCompilerBridgeSource := ("ch.epfl.lamp" % "dotty-bridge" % "0.1.1-SNAPSHOT" % "component").sources() + ) +} diff --git a/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/test b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/test new file mode 100644 index 000000000..85a7c97e9 --- /dev/null +++ b/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/test @@ -0,0 +1,9 @@ +# 1 iteration from initial full compile +> run +$ copy-file changes/A2.java A.java + +# 1 iteration for the initial changes +# 1 iteration to recompile all descendents and direct dependencies +# no further iteration, because APIs of directs don't change +> run +> checkIterations 3 |