mill :Java,Scala和Kotlin的更好的构建工具
mill是一种构建工具,试图改进JVM生态系统中传统上使用的工具:
-
由于激进的缓存和并行性, mill比Maven或Gradle构建相同的Java项目3-6倍
-
mill的丰富功能集意味着减少插件的摆弄,因为内置的所有开发所需的一切
-
在IDE中可以探索mill构建
尽管Java编译器非常快,并且Java语言易于学习,但JVM构建工具以缓慢和混乱而闻名。 mill试图提供更好的替代方案,其面向对象的构建可以减少学习曲线,并让您的构建系统充分利用Java平台的性能,可用性和IDE支持。
如果您想在自己的项目中使用mill ,请查看我们的文档:
-
文档
这是一些快速的例子,以便您可以想象它的外观:
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"
)
}
}\”>
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, …\”>
> ./ 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, ...
-
开发人员文档
-
ChangElog
