summaryrefslogtreecommitdiff
path: root/build.sc
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2017-12-31 22:56:45 -0800
committerLi Haoyi <haoyi.sg@gmail.com>2018-01-01 10:10:19 -0800
commitcf5fb5fdfd477e0bb4ffa0e4fec3a8ec01bf5cf1 (patch)
treef3897463b6f55019f2bbd59ba5cff73cf0fb571f /build.sc
parent6996c01a391cb9aaa27268dd1f0cf0a1749ade21 (diff)
downloadmill-cf5fb5fdfd477e0bb4ffa0e4fec3a8ec01bf5cf1.tar.gz
mill-cf5fb5fdfd477e0bb4ffa0e4fec3a8ec01bf5cf1.tar.bz2
mill-cf5fb5fdfd477e0bb4ffa0e4fec3a8ec01bf5cf1.zip
Split Acyclic/Jawn/BetterFiles tests into their own `integration/` test suite.
Those tests now download a snapshot of the relevant git repo rather than vendoring the files, and use a bare `build.sc` instead of having the build object be included in the test classpath. Tests pass using `sbt integration/test`, but `mill integration.test` still doesn't work
Diffstat (limited to 'build.sc')
-rwxr-xr-xbuild.sc23
1 files changed, 20 insertions, 3 deletions
diff --git a/build.sc b/build.sc
index dfc0e46f..1528cf10 100755
--- a/build.sc
+++ b/build.sc
@@ -155,7 +155,7 @@ val jsbridges = for{
case "0.6" => "0.6.21"
case "1.0" => "1.0.0-M2"
}
- override def ivyDeps = Seq(
+ def ivyDeps = Seq(
Dep("org.scala-js", "scalajs-tools", scalajsVersion)
)
}
@@ -174,7 +174,24 @@ object scalajslib extends MillModule {
)
for((k, v) <- mapping.toSeq) yield s"-D$k=$v"
}
+}
+def testRepos = T{
+ Seq(
+ "MILL_ACYCLIC_REPO" ->
+ shared.downloadTestRepo("lihaoyi/acyclic", "bc41cd09a287e2c270271e27ccdb3066173a8598", T.ctx().dest/"acyclic"),
+ "MILL_JAWN_REPO" ->
+ shared.downloadTestRepo("non/jawn", "fd8dc2b41ce70269889320aeabf8614fe1e8fbcb", T.ctx().dest/"jawn"),
+ "MILL_BETTERFILES_REPO" ->
+ shared.downloadTestRepo("pathikrit/better-files", "e235722f91f78b8f34a41b8332d7fae3e8a64141", T.ctx().dest/"better-files")
+ )
+}
+object integration extends MillModule{
+ def projectDeps = Seq(moduledefs, scalalib, scalajslib)
+ def basePath = pwd / 'integration
+ def testArgs = T{
+ for((k, v) <- testRepos()) yield s"-D$k=$v"
+ }
}
val assemblyProjects = Seq(scalalib, scalajslib)
@@ -196,11 +213,11 @@ def assemblyBase(classpath: Seq[Path], extraArgs: String)
}
def devAssembly = T{
- assemblyBase(assemblyClasspath().flatten, (scalalib.testArgs() ++ scalajslib.testArgs()).mkString(" "))
+ assemblyBase(assemblyClasspath().flatten.map(_.path), (scalalib.testArgs() ++ scalajslib.testArgs()).mkString(" "))
}
def releaseAssembly = T{
- assemblyBase(assemblyClasspath().flatten, "")
+ assemblyBase(assemblyClasspath().flatten.map(_.path), "")
}
def idea() = T.command{ mill.scalalib.GenIdea() } \ No newline at end of file