diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2017-11-14 23:52:49 -0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2017-11-14 23:52:49 -0800 |
commit | 1045ed4589e602a2727c7ba014b820e134100e1f (patch) | |
tree | 2c185420b4da1eb6a2e8e74d8fd0eb8d513585c0 /scalaplugin | |
parent | d2598aa69c866236c9b5eddac2e03161b2456848 (diff) | |
download | mill-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.scala | 15 |
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._ |