aboutsummaryrefslogtreecommitdiff
path: root/sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java
diff options
context:
space:
mode:
Diffstat (limited to 'sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java')
-rw-r--r--sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/A.java3
-rw-r--r--sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/B.java1
-rw-r--r--sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/C.java1
-rw-r--r--sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/D.java4
-rw-r--r--sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/E.java5
-rw-r--r--sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/build.sbt10
-rw-r--r--sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/changes/A2.java3
-rw-r--r--sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/project/DottyInjectedPlugin.scala17
-rw-r--r--sbt-bridge/src/sbt-test/source-dependencies/less-inter-inv-java/test9
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