aboutsummaryrefslogtreecommitdiff
path: root/sbt-bridge/sbt-test/source-dependencies/replace-test-a
diff options
context:
space:
mode:
Diffstat (limited to 'sbt-bridge/sbt-test/source-dependencies/replace-test-a')
-rw-r--r--sbt-bridge/sbt-test/source-dependencies/replace-test-a/changes/first.scala4
-rw-r--r--sbt-bridge/sbt-test/source-dependencies/replace-test-a/changes/second.scala4
-rw-r--r--sbt-bridge/sbt-test/source-dependencies/replace-test-a/project/Build.scala19
-rw-r--r--sbt-bridge/sbt-test/source-dependencies/replace-test-a/project/DottyInjectedPlugin.scala17
-rw-r--r--sbt-bridge/sbt-test/source-dependencies/replace-test-a/test9
5 files changed, 53 insertions, 0 deletions
diff --git a/sbt-bridge/sbt-test/source-dependencies/replace-test-a/changes/first.scala b/sbt-bridge/sbt-test/source-dependencies/replace-test-a/changes/first.scala
new file mode 100644
index 000000000..9e12604c2
--- /dev/null
+++ b/sbt-bridge/sbt-test/source-dependencies/replace-test-a/changes/first.scala
@@ -0,0 +1,4 @@
+object First
+{
+ def main(args: Array[String]): Unit = ()
+}
diff --git a/sbt-bridge/sbt-test/source-dependencies/replace-test-a/changes/second.scala b/sbt-bridge/sbt-test/source-dependencies/replace-test-a/changes/second.scala
new file mode 100644
index 000000000..45ce49a65
--- /dev/null
+++ b/sbt-bridge/sbt-test/source-dependencies/replace-test-a/changes/second.scala
@@ -0,0 +1,4 @@
+object Second
+{
+ def main(args: Array[String]): Unit = ()
+}
diff --git a/sbt-bridge/sbt-test/source-dependencies/replace-test-a/project/Build.scala b/sbt-bridge/sbt-test/source-dependencies/replace-test-a/project/Build.scala
new file mode 100644
index 000000000..9c2678540
--- /dev/null
+++ b/sbt-bridge/sbt-test/source-dependencies/replace-test-a/project/Build.scala
@@ -0,0 +1,19 @@
+import sbt._
+import Keys._
+import java.net.URLClassLoader
+
+object B extends Build
+{
+ lazy val root = Project("root", file(".")) settings( ss : _*)
+
+ def ss = Seq(
+ TaskKey[Unit]("check-first") <<= checkTask("First"),
+ TaskKey[Unit]("check-second") <<= checkTask("Second")
+ )
+ private def checkTask(className: String) =
+ fullClasspath in Configurations.Runtime map { runClasspath =>
+ val cp = runClasspath.map(_.data.toURI.toURL).toArray
+ Class.forName(className, false, new URLClassLoader(cp))
+ ()
+ }
+}
diff --git a/sbt-bridge/sbt-test/source-dependencies/replace-test-a/project/DottyInjectedPlugin.scala b/sbt-bridge/sbt-test/source-dependencies/replace-test-a/project/DottyInjectedPlugin.scala
new file mode 100644
index 000000000..3433779b6
--- /dev/null
+++ b/sbt-bridge/sbt-test/source-dependencies/replace-test-a/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/sbt-test/source-dependencies/replace-test-a/test b/sbt-bridge/sbt-test/source-dependencies/replace-test-a/test
new file mode 100644
index 000000000..4b4ad3a2b
--- /dev/null
+++ b/sbt-bridge/sbt-test/source-dependencies/replace-test-a/test
@@ -0,0 +1,9 @@
+$ copy-file changes/first.scala src/main/scala/A.scala
+> compile
+> check-first
+-> check-second
+
+$ copy-file changes/second.scala src/main/scala/A.scala
+> compile
+-> check-first
+> check-second \ No newline at end of file