summaryrefslogtreecommitdiff
path: root/scalaplugin
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2017-11-14 23:52:49 -0800
committerLi Haoyi <haoyi.sg@gmail.com>2017-11-14 23:52:49 -0800
commit1045ed4589e602a2727c7ba014b820e134100e1f (patch)
tree2c185420b4da1eb6a2e8e74d8fd0eb8d513585c0 /scalaplugin
parentd2598aa69c866236c9b5eddac2e03161b2456848 (diff)
downloadmill-1045ed4589e602a2727c7ba014b820e134100e1f.tar.gz
mill-1045ed4589e602a2727c7ba014b820e134100e1f.tar.bz2
mill-1045ed4589e602a2727c7ba014b820e134100e1f.zip
First pass at an `assembly` task now works, rudimentary but enough to be used metacircularly
Diffstat (limited to 'scalaplugin')
-rw-r--r--scalaplugin/src/main/scala/mill/scalaplugin/Module.scala15
1 files changed, 14 insertions, 1 deletions
diff --git a/scalaplugin/src/main/scala/mill/scalaplugin/Module.scala b/scalaplugin/src/main/scala/mill/scalaplugin/Module.scala
index 04d3e04b..0fb5fd35 100644
--- a/scalaplugin/src/main/scala/mill/scalaplugin/Module.scala
+++ b/scalaplugin/src/main/scala/mill/scalaplugin/Module.scala
@@ -9,6 +9,7 @@ import mill.define.Task
import mill.define.Task.Cacher
import mill.discover.{Discovered, Hierarchy}
import mill.eval.{Evaluator, PathRef}
+import mill.modules.Jvm.{createJar, createAssembly}
import mill.util.OSet
import sbt.internal.inc.{FreshCompilerCache, ScalaInstance, ZincUtil}
import sbt.internal.util.{ConsoleOut, MainAppender}
@@ -195,9 +196,21 @@ trait Module extends Cacher{
def compile = T{
compileScala(scalaVersion(), sources(), compileDepClasspath(), Task.ctx().dest)
}
+ def assembly = T{
+ val dest = Task.ctx().dest
+ createAssembly(
+ dest,
+ (runDepClasspath().filter(_.path.ext != "pom") ++ Seq(resources(), compile())).map(_.path).filter(exists)
+ )
+ PathRef(dest)
+ }
def classpath = T{ Seq(resources(), compile()) }
- def jar = T{ modules.Jvm.jarUp(resources, compile) }
+ def jar = T{
+ val dest = Task.ctx().dest
+ createJar(dest, Seq(resources(), compile()).map(_.path).filter(exists))
+ PathRef(dest)
+ }
def run(mainClass: String) = T.command{
import ammonite.ops._, ImplicitWd._