summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml2
-rwxr-xr-xbuild.sc10
-rwxr-xr-xci/test1.sh (renamed from ci/test.sh)0
-rwxr-xr-xci/test4.sh16
-rw-r--r--core/src/mill/main/RunScript.scala2
-rw-r--r--core/test/src/mill/main/ParseArgsTest.scala42
-rw-r--r--scalajslib/test/src/mill/scalajslib/HelloJSWorldTests.scala2
-rw-r--r--scalalib/test/src/mill/scalalib/HelloWorldTests.scala11
8 files changed, 49 insertions, 36 deletions
diff --git a/.travis.yml b/.travis.yml
index bc67a572..02d43def 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -11,7 +11,7 @@ jdk:
matrix:
include:
- stage: build
- env: CI_SCRIPT=ci/test.sh
+ env: CI_SCRIPT=ci/test1.sh
- stage: build
env: CI_SCRIPT=ci/test2.sh
- stage: build
diff --git a/build.sc b/build.sc
index 97b9afb8..3bcd0b44 100755
--- a/build.sc
+++ b/build.sc
@@ -205,17 +205,21 @@ val isMasterCommit = {
(sys.env.get("TRAVIS_BRANCH") == Some("master") || sys.env("TRAVIS_TAG") != "")
}
+def gitHead = T.input{
+ sys.env.get("TRAVIS_COMMIT").getOrElse(
+ %%('git, "rev-parse", "head")(pwd).out.string.trim()
+ )
+}
def publishVersion = T.input{
val tag =
- try Option(%%('git, 'describe, "--exact-match", "--tags", 'HEAD)(pwd).out.string)
+ try Option(%%('git, 'describe, "--exact-match", "--tags", gitHead())(pwd).out.string)
catch{case e => None}
tag match{
case Some(t) => (t, t)
case None =>
val timestamp = java.time.Instant.now().toString.replaceAll(":|\\.", "-")
- val gitHash = %%('git, "rev-parse", "head")(pwd).out.string.trim()
- ("unstable", timestamp + "-" + gitHash)
+ ("unstable", timestamp + "-" + gitHead())
}
}
diff --git a/ci/test.sh b/ci/test1.sh
index f77456f7..f77456f7 100755
--- a/ci/test.sh
+++ b/ci/test1.sh
diff --git a/ci/test4.sh b/ci/test4.sh
index fb3483e8..86e6ee29 100755
--- a/ci/test4.sh
+++ b/ci/test4.sh
@@ -12,15 +12,19 @@ git clean -xdf
sbt bin/test:assembly
# Build Mill using SBT
-target/bin/mill --all _.publishLocal releaseAssembly
+target/bin/mill --all \
+ scalaworker.publishLocal \
+ scalajslib.jsbridges[0.6].publishLocal \
+ scalajslib.jsbridges[1.0].publishLocal \
+ releaseAssembly
-mv out/releaseAssembly ~/mill
+mv out/releaseAssembly/dest/out.jar ~/mill-release
git clean -xdf
# Second build & run tests using Mill
-~/mill --all {core,scalalib,scalajslib}.test devAssembly
-~/mill integration.test mill.integration.AmmoniteTests
-~/mill integration.test "mill.integration.{AcyclicTests,BetterFilesTests,JawnTests}"
-~/mill devAssembly
+~/mill-release --all {core,scalalib,scalajslib}.test devAssembly
+~/mill-release integration.test mill.integration.AmmoniteTests
+~/mill-release integration.test "mill.integration.{AcyclicTests,BetterFilesTests,JawnTests}"
+~/mill-release devAssembly
diff --git a/core/src/mill/main/RunScript.scala b/core/src/mill/main/RunScript.scala
index 2efe0e97..4d74833e 100644
--- a/core/src/mill/main/RunScript.scala
+++ b/core/src/mill/main/RunScript.scala
@@ -142,8 +142,6 @@ object RunScript{
val moduleCls =
evaluator.rootModule.getClass.getClassLoader.loadClass(scoping.render + "$")
- pprint.log(moduleCls.getFields)
- pprint.log(moduleCls.getMethods)
val rootModule = moduleCls.getField("MODULE$").get(moduleCls).asInstanceOf[ExternalModule]
(rootModule, rootModule.millDiscover)
}
diff --git a/core/test/src/mill/main/ParseArgsTest.scala b/core/test/src/mill/main/ParseArgsTest.scala
index 2ef07d36..6678f12c 100644
--- a/core/test/src/mill/main/ParseArgsTest.scala
+++ b/core/test/src/mill/main/ParseArgsTest.scala
@@ -144,10 +144,14 @@ object ParseArgsTest extends TestSuite {
'apply - {
def check(input: Seq[String],
- expectedSelectors: List[List[Segment]],
+ expectedSelectors: List[(Option[List[Segment]], List[Segment])],
expectedArgs: Seq[String]) = {
- val Right((selectors, args)) = ParseArgs(input)
+ val Right((selectors0, args)) = ParseArgs(input)
+ val selectors = selectors0.map{
+ case (Some(v1), v2) => (Some(v1.value), v2.value)
+ case (None, v2) => (None, v2.value)
+ }
assert(
selectors == expectedSelectors,
args == expectedArgs
@@ -160,53 +164,60 @@ object ParseArgsTest extends TestSuite {
'singleSelector - check(
input = Seq("core.compile"),
expectedSelectors = List(
- List(Label("core"), Label("compile"))
+ None -> List(Label("core"), Label("compile"))
+ ),
+ expectedArgs = Seq.empty
+ )
+ 'externalSelector - check(
+ input = Seq("foo.bar/core.compile"),
+ expectedSelectors = List(
+ Some(List(Label("foo"), Label("bar"))) -> List(Label("core"), Label("compile"))
),
expectedArgs = Seq.empty
)
'singleSelectorWithArgs - check(
input = Seq("application.run", "hello", "world"),
expectedSelectors = List(
- List(Label("application"), Label("run"))
+ None -> List(Label("application"), Label("run"))
),
expectedArgs = Seq("hello", "world")
)
'singleSelectorWithCross - check(
input = Seq("bridges[2.12.4,jvm].compile"),
expectedSelectors = List(
- List(Label("bridges"), Cross(Seq("2.12.4", "jvm")), Label("compile"))
+ None -> List(Label("bridges"), Cross(Seq("2.12.4", "jvm")), Label("compile"))
),
expectedArgs = Seq.empty
)
'multiSelectorsBraceExpansion - check(
input = Seq("--all", "{core,application}.compile"),
expectedSelectors = List(
- List(Label("core"), Label("compile")),
- List(Label("application"), Label("compile"))
+ None -> List(Label("core"), Label("compile")),
+ None -> List(Label("application"), Label("compile"))
),
expectedArgs = Seq.empty
)
'multiSelectorsBraceExpansionWithArgs - check(
input = Seq("--all", "{core,application}.run", "--", "hello", "world"),
expectedSelectors = List(
- List(Label("core"), Label("run")),
- List(Label("application"), Label("run"))
+ None -> List(Label("core"), Label("run")),
+ None -> List(Label("application"), Label("run"))
),
expectedArgs = Seq("hello", "world")
)
'multiSelectorsBraceExpansionWithCross - check(
input = Seq("--all", "bridges[2.12.4,jvm].{test,jar}"),
expectedSelectors = List(
- List(Label("bridges"), Cross(Seq("2.12.4", "jvm")), Label("test")),
- List(Label("bridges"), Cross(Seq("2.12.4", "jvm")), Label("jar"))
+ None -> List(Label("bridges"), Cross(Seq("2.12.4", "jvm")), Label("test")),
+ None -> List(Label("bridges"), Cross(Seq("2.12.4", "jvm")), Label("jar"))
),
expectedArgs = Seq.empty
)
'multiSelectorsBraceExpansionInsideCross - check(
input = Seq("--all", "bridges[{2.11.11,2.11.8}].jar"),
expectedSelectors = List(
- List(Label("bridges"), Cross(Seq("2.11.11")), Label("jar")),
- List(Label("bridges"), Cross(Seq("2.11.8")), Label("jar"))
+ None -> List(Label("bridges"), Cross(Seq("2.11.11")), Label("jar")),
+ None -> List(Label("bridges"), Cross(Seq("2.11.8")), Label("jar"))
),
expectedArgs = Seq.empty
)
@@ -216,10 +227,11 @@ object ParseArgsTest extends TestSuite {
"Please use --all flag to run multiple tasks")
)
}
- 'multiSelectorsWithoutAllAsSingle - check( // this is how it works when we pass multiple tasks without --all flag
+ 'multiSelectorsWithoutAllAsSingle - check(
+ // this is how it works when we pass multiple tasks without --all flag
input = Seq("core.compile", "application.compile"),
expectedSelectors = List(
- List(Label("core"), Label("compile"))
+ None -> List(Label("core"), Label("compile"))
),
expectedArgs = Seq("application.compile")
)
diff --git a/scalajslib/test/src/mill/scalajslib/HelloJSWorldTests.scala b/scalajslib/test/src/mill/scalajslib/HelloJSWorldTests.scala
index cc44b7c8..e1ab3509 100644
--- a/scalajslib/test/src/mill/scalajslib/HelloJSWorldTests.scala
+++ b/scalajslib/test/src/mill/scalajslib/HelloJSWorldTests.scala
@@ -19,7 +19,7 @@ import scala.collection.JavaConverters._
object HelloJSWorldTests extends TestSuite {
val workspacePath = TestUtil.getOutPathStatic() / "hello-js-world"
- trait HelloJSWorldModule extends ScalaJSModule with PublishModule with CrossScalaModule{
+ trait HelloJSWorldModule extends CrossScalaModule with ScalaJSModule with PublishModule {
override def millSourcePath = workspacePath
def publishVersion = "0.0.1-SNAPSHOT"
override def mainClass = Some("Main")
diff --git a/scalalib/test/src/mill/scalalib/HelloWorldTests.scala b/scalalib/test/src/mill/scalalib/HelloWorldTests.scala
index fd8517f3..6fc26b03 100644
--- a/scalalib/test/src/mill/scalalib/HelloWorldTests.scala
+++ b/scalalib/test/src/mill/scalalib/HelloWorldTests.scala
@@ -199,9 +199,8 @@ object HelloWorldTests extends TestSuite {
'failOnError - workspaceTest(HelloWorld){eval =>
write.append(HelloWorld.millSourcePath / 'core / 'src / "Main.scala", "val x: ")
- val Left(Result.Exception(err, _)) = eval.apply(HelloWorld.core.compile)
+ val Left(Result.Failure("Compilation failed")) = eval.apply(HelloWorld.core.compile)
-// assert(err.isInstanceOf[CompileFailed])
val paths = Evaluator.resolveDestPaths(
eval.outPath,
@@ -222,9 +221,8 @@ object HelloWorldTests extends TestSuite {
}
'passScalacOptions - workspaceTest(HelloWorldFatalWarnings){ eval =>
// compilation fails because of "-Xfatal-warnings" flag
- val Left(Result.Exception(err, _)) = eval.apply(HelloWorldFatalWarnings.core.compile)
+ val Left(Result.Failure("Compilation failed")) = eval.apply(HelloWorldFatalWarnings.core.compile)
-// assert(err.isInstanceOf[CompileFailed])
}
}
'runMain - {
@@ -273,11 +271,8 @@ object HelloWorldTests extends TestSuite {
'notRunWhenCompileFailed - workspaceTest(HelloWorld){eval =>
write.append(HelloWorld.millSourcePath / 'core / 'src / "Main.scala", "val x: ")
- val Left(Result.Exception(err, _)) = eval.apply(HelloWorld.core.runMain("Main"))
+ val Left(Result.Failure("Compilation failed")) = eval.apply(HelloWorld.core.runMain("Main"))
-// assert(
-// err.isInstanceOf[CompileFailed]
-// )
}
}