Skip to content

lihaoyi/mill-1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mill Logo Mill: A Better Build Tool for Java, Scala, & Kotlin

d Maven Central Version

Mill is a build tool that tries to improve upon the tools traditionally used in the JVM ecosystem:

Although the Java compiler is very fast and the Java language is easy to learn, JVM build tools have a reputation for being sluggish and confusing. Mill tries to offer a better alternative, its object-oriented builds reducing the learning curve and letting your build system take full advantage of the Java platform’s performance, usability, and IDE support.

If you want to use Mill in your own projects, check out our documentation:

Here is some quick example, so that you can imagine how it looks:

package build
import mill._, javalib._

object foo extends JavaModule {
  def mvnDeps = Seq(
    mvn"net.sourceforge.argparse4j:argparse4j:0.9.0",
    mvn"org.thymeleaf:thymeleaf:3.1.1.RELEASE"
  )

  object test extends JavaTests, TestModule.Junit4 {
    def mvnDeps = Seq(
      mvn"com.google.guava:guava:33.3.0-jre"
    )
  }
}
> ./mill foo.compile # compile sources into classfiles
...
compiling 1 Java source to...

> ./mill foo.run --text hello
<h1>hello</h1>

> ./mill foo.test
...
Test foo.FooTest.testEscaping finished, ...
Test foo.FooTest.testSimple finished, ...
Test run foo.FooTest finished: 0 failed, 0 ignored, 2 total, ...

About

Your shiny new Java/Scala build tool!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Scala 84.6%
  • Java 7.1%
  • Kotlin 2.0%
  • CSS 1.7%
  • TypeScript 1.3%
  • Python 1.0%
  • Other 2.3%