summaryrefslogtreecommitdiff
path: root/scalalib/src/main
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 /scalalib/src/main
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 'scalalib/src/main')
-rw-r--r--scalalib/src/main/scala/mill/scalalib/Lib.scala2
-rw-r--r--scalalib/src/main/scala/mill/scalalib/Module.scala12
-rw-r--r--scalalib/src/main/scala/mill/scalalib/TestRunner.scala5
3 files changed, 10 insertions, 9 deletions
diff --git a/scalalib/src/main/scala/mill/scalalib/Lib.scala b/scalalib/src/main/scala/mill/scalalib/Lib.scala
index 55c28a06..098da786 100644
--- a/scalalib/src/main/scala/mill/scalalib/Lib.scala
+++ b/scalalib/src/main/scala/mill/scalalib/Lib.scala
@@ -206,7 +206,7 @@ object Lib{
.unsafePerformSync
.flatMap(_.toOption)
- localArtifacts.map(p => PathRef(Path(p), quick = true))
+ localArtifacts.map(p => PathRef(Path(p), quick = true)).filter(_.path.ext == "jar")
}
}
def scalaCompilerIvyDeps(scalaVersion: String) = Seq(
diff --git a/scalalib/src/main/scala/mill/scalalib/Module.scala b/scalalib/src/main/scala/mill/scalalib/Module.scala
index 1ff4c240..c444aeaa 100644
--- a/scalalib/src/main/scala/mill/scalalib/Module.scala
+++ b/scalalib/src/main/scala/mill/scalalib/Module.scala
@@ -36,7 +36,7 @@ trait TestModule extends Module with TaskModule {
jvmOptions = forkArgs(),
options = Seq(
testFramework(),
- (runDepClasspath().map(_.path) :+ compile().classes.path).mkString(" "),
+ (runDepClasspath().map(_.path) :+ compile().classes.path).distinct.mkString(" "),
Seq(compile().classes.path).mkString(" "),
args.mkString(" "),
outputPath.toString
@@ -210,12 +210,14 @@ trait Module extends mill.Module with TaskModule { outer =>
)
}
def assemblyClasspath = T{
- (runDepClasspath().filter(_.path.ext != "pom") ++
- Seq(resources(), compile().classes)).map(_.path).filter(exists)
+ runDepClasspath() ++ Seq(resources(), compile().classes)
}
def assembly = T{
- createAssembly(assemblyClasspath(), prependShellScript = prependShellScript())
+ createAssembly(
+ assemblyClasspath().map(_.path).filter(exists),
+ prependShellScript = prependShellScript()
+ )
}
def classpath = T{ Seq(resources(), compile().classes) }
@@ -263,7 +265,7 @@ trait Module extends mill.Module with TaskModule { outer =>
def console() = T.command{
interactiveSubprocess(
mainClass = "scala.tools.nsc.MainGenericRunner",
- classPath = externalCompileDepClasspath().map(_.path) :+ compile().classes.path,
+ classPath = assemblyClasspath().map(_.path),
options = Seq("-usejavacp")
)
}
diff --git a/scalalib/src/main/scala/mill/scalalib/TestRunner.scala b/scalalib/src/main/scala/mill/scalalib/TestRunner.scala
index d92a9deb..0a3df35e 100644
--- a/scalalib/src/main/scala/mill/scalalib/TestRunner.scala
+++ b/scalalib/src/main/scala/mill/scalalib/TestRunner.scala
@@ -62,6 +62,7 @@ object TestRunner {
args: Seq[String])
(implicit ctx: LogCtx): (String, Seq[Result]) = {
val outerClassLoader = getClass.getClassLoader
+ pprint.log(entireClasspath.map(_.toIO.toURI.toURL).toArray, height=9999)
val cl = new URLClassLoader(
entireClasspath.map(_.toIO.toURI.toURL).toArray,
ClassLoader.getSystemClassLoader().getParent()){
@@ -84,9 +85,7 @@ object TestRunner {
val tasks = runner.tasks(
for((cls, fingerprint) <- testClasses.toArray)
- yield {
- new TaskDef(cls.getName.stripSuffix("$"), fingerprint, true, Array())
- }
+ yield new TaskDef(cls.getName.stripSuffix("$"), fingerprint, true, Array())
)
val events = mutable.Buffer.empty[Event]
for(t <- tasks){