= image:website/docs/logo.svg[title=Mill Logo] Mill: A Better Build Tool for Java, Scala, & Kotlin
:mill-stable-version: 1.0.6
:link-github: https://github.com/com-lihaoyi/mill
:link-current-doc-site: https://mill-build.org
:link-mill-moduledefs: https://github.com/com-lihaoyi/mill-moduledefs
// customize appearance on GitHub
:idprefix:
:idseparator: -
:toc:
:toc-placement: preamble
ifndef::env-github[]
:icons: font
endif::[]
ifdef::env-github[]
:caution-caption: :fire:
:important-caption: :exclamation:
:note-caption: :paperclip:
:tip-caption: :bulb:
:warning-caption: :warning:
endif::[]

link:changelog.adoc[image:https://img.shields.io/maven-central/v/com.lihaoyi/mill-dist?label=stable-version&versionSuffix={mill-stable-version}[d]]
https://central.sonatype.com/artifact/com.lihaoyi/mill-dist[image:https://img.shields.io/maven-central/v/com.lihaoyi/mill-dist?label=unstable-dev-version[Maven Central Version]]

Mill is a build tool that improves upon the tools traditionally used
in the JVM ecosystem:

* **https://mill-build.org/mill/comparisons/maven.html[xref:comparisons/maven.adoc][Simpler than Maven]**,
with declarative `build.mill.yaml` files often 1/10th the lines of a `pom.xml`

* **https://mill-build.org/mill/comparisons/gradle.html[xref:comparisons/gradle.adoc][Easier than Gradle]**,
with object-oriented programmable builds Java developers can intuitively understand

* **https://mill-build.org/mill/comparisons/performance.html[xref:comparisons/performance.adoc][Fastest builds on the JVM]**,
3-7x faster than Maven or Gradle due to aggressive caching & parallelism

Although the Java compiler is very fast and the Java language is easy to learn,
JVM build tools have a reputation for being sluggish, complicated, and confusing. Mill tries to
offer a better alternative that gives the Java platform the developer experience it deserves.

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

* {link-current-doc-site}[Documentation]

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

[source,yaml,subs="verbatim,attributes"]
----
extends: JavaModule
mvnDeps:
- org.thymeleaf:thymeleaf:3.1.1.RELEASE
- org.slf4j:slf4j-nop:2.0.7
----

[source,console]
----

> ./mill compile # compile sources into classfiles
...
compiling 1 Java source to...

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

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

----

* link:developer.adoc[Developer Documentation]
* link:changelog.adoc[Changelog]


