summaryrefslogtreecommitdiff
path: root/integration
diff options
context:
space:
mode:
Diffstat (limited to 'integration')
-rw-r--r--integration/test/resources/large-project/build.sc293
-rw-r--r--integration/test/resources/large-project/foo/common/one/src/main/scala/foo/common/one/Main.scala5
-rw-r--r--integration/test/src/AcyclicTests.scala (renamed from integration/test/src/mill/integration/AcyclicTests.scala)0
-rw-r--r--integration/test/src/AmmoniteTests.scala (renamed from integration/test/src/mill/integration/AmmoniteTests.scala)0
-rw-r--r--integration/test/src/BetterFilesTests.scala (renamed from integration/test/src/mill/integration/BetterFilesTests.scala)0
-rw-r--r--integration/test/src/CaffeineTests.scala (renamed from integration/test/src/mill/integration/CaffeineTests.scala)0
-rw-r--r--integration/test/src/DocAnnotationsTests.scala (renamed from integration/test/src/mill/integration/DocAnnotationsTests.scala)0
-rw-r--r--integration/test/src/IntegrationTestSuite.scala (renamed from integration/test/src/mill/integration/IntegrationTestSuite.scala)0
-rw-r--r--integration/test/src/JawnTests.scala (renamed from integration/test/src/mill/integration/JawnTests.scala)0
-rw-r--r--integration/test/src/LargeProjectTests.scala19
-rw-r--r--integration/test/src/PlayJsonTests.scala (renamed from integration/test/src/mill/integration/PlayJsonTests.scala)0
-rw-r--r--integration/test/src/UpickleTests.scala (renamed from integration/test/src/mill/integration/UpickleTests.scala)0
-rw-r--r--integration/test/src/forked/Tests.scala (renamed from integration/test/src/mill/integration/forked/Tests.scala)1
-rw-r--r--integration/test/src/local/Tests.scala (renamed from integration/test/src/mill/integration/local/Tests.scala)3
14 files changed, 320 insertions, 1 deletions
diff --git a/integration/test/resources/large-project/build.sc b/integration/test/resources/large-project/build.sc
new file mode 100644
index 00000000..27844c90
--- /dev/null
+++ b/integration/test/resources/large-project/build.sc
@@ -0,0 +1,293 @@
+import mill._, scalalib._
+
+trait TModule extends SbtModule {
+ def scalaVersion = "2.12.7"
+}
+
+object foo extends Module {
+ object common extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq(foo.common.one)
+ }
+ object three extends TModule {
+ def moduleDeps = Seq(foo.common.two)
+ }
+ }
+ object domain extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq(foo.common.one)
+ }
+ object two extends TModule {
+ def moduleDeps = Seq(foo.domain.one)
+ }
+ object three extends TModule {
+ def moduleDeps = Seq(foo.domain.two)
+ }
+ }
+ object server extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq(foo.domain.three)
+ }
+ object two extends TModule {
+ def moduleDeps = Seq(foo.server.one)
+ }
+ object three extends TModule {
+ def moduleDeps = Seq(foo.server.two)
+ }
+ }
+}
+
+object bar extends Module {
+ object common extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq(foo.common.three)
+ }
+ object two extends TModule {
+ def moduleDeps = Seq(bar.common.one)
+ }
+ object three extends TModule {
+ def moduleDeps = Seq(bar.common.two)
+ }
+ }
+ object domain extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq(foo.domain.three)
+ }
+ object two extends TModule {
+ def moduleDeps = Seq(bar.domain.one)
+ }
+ object three extends TModule {
+ def moduleDeps = Seq(bar.domain.two)
+ }
+ }
+ object server extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq(foo.server.one)
+ }
+ object two extends TModule {
+ def moduleDeps = Seq(bar.server.one)
+ }
+ object three extends TModule {
+ def moduleDeps = Seq(bar.server.two)
+ }
+ }
+}
+
+object ham extends Module {
+ object common extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq(bar.common.one)
+ }
+ object two extends TModule {
+ def moduleDeps = Seq(bar.common.two)
+ }
+ object three extends TModule {
+ def moduleDeps = Seq(bar.common.three)
+ }
+ }
+ object domain extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq(bar.domain.three)
+ }
+ object two extends TModule {
+ def moduleDeps = Seq(bar.domain.two, ham.common.three)
+ }
+ object three extends TModule {
+ def moduleDeps = Seq(bar.domain.two)
+ }
+ }
+ object server extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq()
+ }
+ object three extends TModule {
+ def moduleDeps = Seq()
+ }
+ }
+}
+
+object eggs extends Module {
+ object common extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq()
+ }
+ object three extends TModule {
+ def moduleDeps = Seq()
+ }
+ }
+ object domain extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq()
+ }
+ object three extends TModule {
+ def moduleDeps = Seq()
+ }
+ }
+ object server extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq()
+ }
+ object three extends TModule {
+ def moduleDeps = Seq()
+ }
+ }
+}
+
+object salt extends Module {
+ object common extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq()
+ }
+ object three extends TModule {
+ def moduleDeps = Seq()
+ }
+ }
+ object domain extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq()
+ }
+ object three extends TModule {
+ def moduleDeps = Seq()
+ }
+ }
+ object server extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq()
+ }
+ object three extends TModule {
+ def moduleDeps = Seq()
+ }
+ }
+}
+
+object pepper extends Module {
+ object common extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq()
+ }
+ object three extends TModule {
+ def moduleDeps = Seq()
+ }
+ }
+ object domain extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq()
+ }
+ object three extends TModule {
+ def moduleDeps = Seq()
+ }
+ }
+ object server extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq()
+ }
+ object three extends TModule {
+ def moduleDeps = Seq()
+ }
+ }
+}
+
+object oregano extends Module {
+ object common extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq()
+ }
+ object three extends TModule {
+ def moduleDeps = Seq()
+ }
+ }
+ object domain extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq()
+ }
+ object three extends TModule {
+ def moduleDeps = Seq()
+ }
+ }
+ object server extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq()
+ }
+ object three extends TModule {
+ def moduleDeps = Seq()
+ }
+ }
+}
+
+object rosmarin extends Module {
+ object common extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq()
+ }
+ object three extends TModule {
+ def moduleDeps = Seq()
+ }
+ }
+ object domain extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq()
+ }
+ object three extends TModule {
+ def moduleDeps = Seq()
+ }
+ }
+ object server extends Module {
+ object one extends TModule {
+ def moduleDeps = Seq()
+ }
+ object two extends TModule {
+ def moduleDeps = Seq()
+ }
+ object three extends TModule {
+ def moduleDeps = Seq()
+ }
+ }
+}
diff --git a/integration/test/resources/large-project/foo/common/one/src/main/scala/foo/common/one/Main.scala b/integration/test/resources/large-project/foo/common/one/src/main/scala/foo/common/one/Main.scala
new file mode 100644
index 00000000..4fd74836
--- /dev/null
+++ b/integration/test/resources/large-project/foo/common/one/src/main/scala/foo/common/one/Main.scala
@@ -0,0 +1,5 @@
+package foo.common.one
+
+object Main extends App {
+ println("large-project")
+}
diff --git a/integration/test/src/mill/integration/AcyclicTests.scala b/integration/test/src/AcyclicTests.scala
index 145c106d..145c106d 100644
--- a/integration/test/src/mill/integration/AcyclicTests.scala
+++ b/integration/test/src/AcyclicTests.scala
diff --git a/integration/test/src/mill/integration/AmmoniteTests.scala b/integration/test/src/AmmoniteTests.scala
index 5851a393..5851a393 100644
--- a/integration/test/src/mill/integration/AmmoniteTests.scala
+++ b/integration/test/src/AmmoniteTests.scala
diff --git a/integration/test/src/mill/integration/BetterFilesTests.scala b/integration/test/src/BetterFilesTests.scala
index bdbaa2e3..bdbaa2e3 100644
--- a/integration/test/src/mill/integration/BetterFilesTests.scala
+++ b/integration/test/src/BetterFilesTests.scala
diff --git a/integration/test/src/mill/integration/CaffeineTests.scala b/integration/test/src/CaffeineTests.scala
index 56c66b21..56c66b21 100644
--- a/integration/test/src/mill/integration/CaffeineTests.scala
+++ b/integration/test/src/CaffeineTests.scala
diff --git a/integration/test/src/mill/integration/DocAnnotationsTests.scala b/integration/test/src/DocAnnotationsTests.scala
index 4d7ef11b..4d7ef11b 100644
--- a/integration/test/src/mill/integration/DocAnnotationsTests.scala
+++ b/integration/test/src/DocAnnotationsTests.scala
diff --git a/integration/test/src/mill/integration/IntegrationTestSuite.scala b/integration/test/src/IntegrationTestSuite.scala
index ca041eea..ca041eea 100644
--- a/integration/test/src/mill/integration/IntegrationTestSuite.scala
+++ b/integration/test/src/IntegrationTestSuite.scala
diff --git a/integration/test/src/mill/integration/JawnTests.scala b/integration/test/src/JawnTests.scala
index eafd1009..eafd1009 100644
--- a/integration/test/src/mill/integration/JawnTests.scala
+++ b/integration/test/src/JawnTests.scala
diff --git a/integration/test/src/LargeProjectTests.scala b/integration/test/src/LargeProjectTests.scala
new file mode 100644
index 00000000..e20bc932
--- /dev/null
+++ b/integration/test/src/LargeProjectTests.scala
@@ -0,0 +1,19 @@
+package mill.integration
+
+import mill.util.ScriptTestSuite
+import utest._
+
+class LargeProjectTests(fork: Boolean)
+ extends ScriptTestSuite(fork) {
+ def workspaceSlug: String = "large-project"
+ def scriptSourcePath: os.Path = os.pwd / 'integration / 'test / 'resources / workspaceSlug
+
+ val tests = Tests{
+ initWorkspace()
+ 'test - {
+
+ assert(eval("foo.common.one.compile"))
+ }
+
+ }
+}
diff --git a/integration/test/src/mill/integration/PlayJsonTests.scala b/integration/test/src/PlayJsonTests.scala
index 262dcb36..262dcb36 100644
--- a/integration/test/src/mill/integration/PlayJsonTests.scala
+++ b/integration/test/src/PlayJsonTests.scala
diff --git a/integration/test/src/mill/integration/UpickleTests.scala b/integration/test/src/UpickleTests.scala
index 133188d3..133188d3 100644
--- a/integration/test/src/mill/integration/UpickleTests.scala
+++ b/integration/test/src/UpickleTests.scala
diff --git a/integration/test/src/mill/integration/forked/Tests.scala b/integration/test/src/forked/Tests.scala
index 41844b58..b31042bb 100644
--- a/integration/test/src/mill/integration/forked/Tests.scala
+++ b/integration/test/src/forked/Tests.scala
@@ -3,6 +3,7 @@ package mill.integration.forked
object AcyclicTests extends mill.integration.AcyclicTests(fork = true)
object AmmoniteTests extends mill.integration.AmmoniteTests(fork = true)
object BetterFilesTests extends mill.integration.BetterFilesTests(fork = true)
+object LargeProjectTests extends mill.integration.LargeProjectTests(fork = true)
object JawnTests extends mill.integration.JawnTests(fork = true)
object UpickleTests extends mill.integration.UpickleTests(fork = true)
object PlayJsonTests extends mill.integration.PlayJsonTests(fork = true)
diff --git a/integration/test/src/mill/integration/local/Tests.scala b/integration/test/src/local/Tests.scala
index e95aac54..efc45b94 100644
--- a/integration/test/src/mill/integration/local/Tests.scala
+++ b/integration/test/src/local/Tests.scala
@@ -3,8 +3,9 @@ package mill.integration.local
object AcyclicTests extends mill.integration.AcyclicTests(fork = false)
object AmmoniteTests extends mill.integration.AmmoniteTests(fork = false)
object BetterFilesTests extends mill.integration.BetterFilesTests(fork = false)
+object LargeProjectTests extends mill.integration.LargeProjectTests(fork = false)
object JawnTests extends mill.integration.JawnTests(fork = false)
object UpickleTests extends mill.integration.UpickleTests(fork = false)
object PlayJsonTests extends mill.integration.PlayJsonTests(fork = false)
object CaffeineTests extends mill.integration.CaffeineTests(fork = false)
-object DocAnnotationsTests extends mill.integration.DocAnnotationsTests(fork = false) \ No newline at end of file
+object DocAnnotationsTests extends mill.integration.DocAnnotationsTests(fork = false)