summaryrefslogtreecommitdiff
path: root/main/test/resources/examples/javac/build.sc
blob: 173662198a365b07d36f8b39b15e5bcb868d874c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import mill.T
import mill.eval.JavaCompileJarTests.compileAll
import mill.api.PathRef
import mill.modules.Jvm
import mill.api.Loose

def sourceRootPath = millSourcePath / 'src
def resourceRootPath = millSourcePath / 'resources

// sourceRoot -> allSources -> classFiles
//                                |
//                                v
//           resourceRoot ---->  jar
def sourceRoot = T.sources{ sourceRootPath }
def resourceRoot = T.sources{ resourceRootPath }
def allSources = T{ sourceRoot().flatMap(p => os.walk(p.path)).map(PathRef(_)) }
def classFiles = T{ compileAll(allSources()) }
def jar = T{ Jvm.createJar(Loose.Agg(classFiles().path) ++ resourceRoot().map(_.path)) }

def run(mainClsName: String) = T.command{
  os.proc('java, "-cp", classFiles().path, mainClsName).call(T.ctx().dest)
}