Skip to content

Commit 4cec507

Browse files
authored
Clean up mill comparison docs (#4773)
1 parent 2bc69a7 commit 4cec507

14 files changed

+331
-586
lines changed

readme.adoc

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,15 @@ https://central.sonatype.com/artifact/com.lihaoyi/mill-dist[image:https://img.sh
2525
Mill is a fast, scalable, multi-language build tool that supports Java, Scala,
2626
Kotlin, and Python:
2727

28-
* Mill can build the same Java codebase 4-10x faster than Maven,
29-
or 2-4x faster than Gradle
28+
* Mill builds the same Java project 3-6x faster than Maven
29+
or Gradle due to aggressive caching & parallelism
3030
31-
* Mill comes builtin with all the tools needed to develop and publish your project without
32-
needing plugins
31+
* Mill has better IDE support than other build tools, with
32+
superior autocomplete and navigation in IntelliJ
3333
34-
* Mill's typed config language and immutable task graph
35-
helps keep builds clean and understandable
34+
* Mill builds require fewer plugins for common workflows,
35+
and are easier to extend with custom tasks
3636
37-
* Mill scales well from small projects to
38-
large multi-language monorepos with hundreds of modules
3937
4038
If you want to use Mill in your own projects, check out our documentation:
4139

Loading
Loading
Loading
Loading
Loading
Loading
Loading

website/docs/modules/ROOT/pages/comparisons/gradle.adoc

Lines changed: 128 additions & 135 deletions
Large diffs are not rendered by default.

website/docs/modules/ROOT/pages/comparisons/maven.adoc

Lines changed: 83 additions & 247 deletions
Large diffs are not rendered by default.

website/docs/modules/ROOT/pages/comparisons/unique.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
https://mill-build.org/[Mill] is a JVM build tool that targets Java/Scala/Kotlin and has
66
potential to serve the large-monorepo codebases that Bazel currently serves. Mill has good
7-
traction among its users, benchmarks that demonstrate 2-10x faster builds than its competitors,
7+
traction among its users, benchmarks that demonstrate 3-6x faster builds than its competitors,
88
and a unique "direct-style" design that make it easy to use and extend. This page discusses
99
some of the most interesting design decisions in Mill, and how it sets Mill apart from
1010
other build tools on the market.
@@ -80,7 +80,7 @@ had reached around 5-10% market share in the Scala community
8080
(https://www.jetbrains.com/lp/devecosystem-2023/scala/[Jetbrains Survey],
8181
https://scalasurvey2023.virtuslab.com/[VirtusLabs Survey]).
8282
It recently grew first-class Java support, demonstrating
83-
xref:comparisons/why-mill.adoc[2-10x speedups] over existing Java build tools
83+
xref:comparisons/why-mill.adoc[3-6x speedups] over existing Java build tools
8484
like Maven or Gradle. Mill also has gained experimental support for Java-adjacent platforms
8585
like xref:kotlinlib/intro.adoc[Kotlin] and
8686
xref:android/java.adoc[Android], and has demonstrated the ability to branch out into supporting
@@ -412,7 +412,7 @@ ecosystems rely on tools like Maven or Gradle to build their code, and I believe
412412
can provide a better alternative. Even today, there are already many advantages of
413413
using Mill over the incumbent build tools:
414414

415-
1. Mill today runs the equivalent local workflows xref:comparisons/maven.adoc[4-10x faster than Maven]
415+
1. Mill today runs the equivalent local workflows xref:comparisons/maven.adoc[3-6x faster than Maven]
416416
and xref:comparisons/gradle.adoc[2-4x faster than Gradle], with automatic parallelization and caching for
417417
every part of your build
418418

website/docs/modules/ROOT/pages/comparisons/why-mill.adoc

Lines changed: 94 additions & 175 deletions
Large diffs are not rendered by default.

website/docs/modules/ROOT/pages/index.adoc

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,21 @@
11
= Mill: A Fast, Scalable JVM Build Tool
22

3-
4-
53
https://github.com/com-lihaoyi/mill/blob/main/changelog.adoc[image:https://index.scala-lang.org/com-lihaoyi/mill/mill-main/latest.svg[Mill]]
64
https://central.sonatype.com/artifact/com.lihaoyi/mill-dist[image:https://img.shields.io/maven-central/v/com.lihaoyi/mill-dist?label=latest-unstable&versionPrefix=0.12.[Maven Central Version]]
75

8-
Mill is a fast, scalable, multi-language build tool that supports Java, Scala,
9-
Kotlin:
6+
Mill is a fast JVM build tool that supports Java, Scala, and Kotlin:
107

11-
* Mill can build the same Java codebase xref:comparisons/maven.adoc[4-10x faster than Maven],
12-
or xref:comparisons/gradle.adoc[2-4x faster than Gradle]
8+
* Mill builds the same Java project xref:comparisons/maven.adoc[3-6x faster than Maven]
9+
xref:comparisons/gradle.adoc[or Gradle] due to aggressive caching & parallelism
1310
14-
* Mill comes builtin with all the tools needed to develop and publish your project without
15-
needing plugins
11+
* Mill has better IDE support than other build tools, with
12+
superior autocomplete and navigation in IntelliJ
1613
17-
* Mill's typechecked configuration and immutable xref:depth/design-principles.adoc[task graph]
18-
helps keep builds clean and understandable
19-
20-
* Mill scales well from small projects to
21-
xref:large/large.adoc[large multi-language monorepos] with hundreds of modules
14+
* Mill builds require fewer plugins for common workflows,
15+
and are easier to extend with custom tasks
2216
2317
To get started using Mill for the first time, or migrating and existing JVM
24-
codebase (build using Maven, Gradle, or SBT) to Mill, see:
18+
codebase (built using Maven, Gradle, or SBT) to Mill, see:
2519

2620
[cols="1a,1a"]
2721
|===
@@ -37,8 +31,6 @@ Or see the language-specific introductory documentation linked below:
3731
| xref:kotlinlib/intro.adoc[image:index/iconscout-kotlin.svg[kotlin,28] Kotlin with Mill]
3832
|===
3933

40-
If you want to use Mill on an existing codebase, see xref:migrating/migrating.adoc[]
41-
4234
=== Why Mill?
4335

4436
Although the Java compiler is very fast and the Java language is easy to learn,
@@ -47,7 +39,7 @@ offer a better alternative, letting your build system take full advantage of the
4739
Java platform's performance and usability:
4840

4941
* *Performance*: Mill automatically xref:depth/execution-model.adoc#_caching_in_mill[caches]
50-
and xref:cli/flags.adoc#_jobs_j[parallelizes] build tasks https://mill-build.org/blog/11-jvm-test-parallelism.html[and tests]
42+
and xref:depth/parallelism.adoc[parallelizes build tasks] and https://mill-build.org/blog/11-jvm-test-parallelism.html[tests]
5143
to keep local development fast, https://mill-build.org/blog/9-mill-faster-assembly-jars.html[incrementally builds assembly jars]
5244
to speed up manual testing workflows, and shortens CI times with xref:large/selective-execution.adoc[selective test execution]
5345
to only runs the subset of tests necessary to validate a code change.
@@ -77,6 +69,11 @@ use Mill's rich ecosystem of xref:extending/thirdparty-plugins.adoc[Third-Party
7769
or xref:extending/writing-plugins.adoc[write plugins yourself] and
7870
publish them to Maven Central for others to use.
7971

72+
* *Scalability* Mill scales well from small projects to
73+
xref:large/large.adoc[large monorepos] with hundreds of modules and
74+
xref:large/multi-language-builds.adoc[multiple languages].
75+
Even projects with hundreds or thousands of sub-modules can be handled performantly
76+
and with minimal overhead.
8077

8178
For a quick introduction of why you may care about Mill, see:
8279

website/docs/modules/ROOT/pages/large/large.adoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,6 @@ that can be utilized to help you manage the build system of a large project or c
1616

1717
* xref:large/selective-execution.adoc[]
1818
19-
* xref:large/multi-file-builds.adoc[]
19+
* xref:large/multi-file-builds.adoc[]
20+
21+
* xref:large/multi-language-builds.adoc[]

0 commit comments

Comments
 (0)