Mill

Mill is a fast build tool that supports Java, Scala, Kotlin and many other languages. 2-4x faster than Gradle and 4-10x faster than Maven for common workflows, Mill aims to make your project’s build process performant, maintainable, and flexible (by lihaoyi)

Mill Alternatives

Similar projects and alternatives to Mill

  1. Pulumi

    193 Mill VS Pulumi

    Pulumi - Infrastructure as Code in any programming language 🚀

  2. Nutrient

    Nutrient - The #1 PDF SDK Library. Bad PDFs = bad UX. Slow load times, broken annotations, clunky UX frustrates users. Nutrient’s PDF SDKs gives seamless document experiences, fast rendering, annotations, real-time collaboration, 100+ features. Used by 10K+ devs, serving ~half a billion users worldwide. Explore the SDK for free.

    Nutrient logo
  3. cue

    119 Mill VS cue

    The home of the CUE language! Validate and define text-based and dynamic configuration

  4. Gradle

    101 Mill VS Gradle

    Adaptable, fast automation for all

  5. maven-mvnd

    94 Mill VS maven-mvnd

    Apache Maven Daemon

  6. manifold

    93 Mill VS manifold

    Manifold is a Java compiler plugin, its features include Metaprogramming, Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor, and more.

  7. JHipster

    65 Mill VS JHipster

    JHipster, much like Spring initializr, is a generator to create a boilerplate backend application, but also with an integrated front end implementation in React, Vue or Angular. In their own words, it "Is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures."

  8. ZIO

    61 Mill VS ZIO

    ZIO — A type-safe, composable library for async and concurrent programming in Scala

  9. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  10. tilt

    56 Mill VS tilt

    Define your dev environment as code. For microservice apps on Kubernetes.

  11. linguist

    43 Mill VS linguist

    Language Savant. If your repository's language is being reported incorrectly, send us a pull request!

  12. cats

    43 Mill VS cats

    Lightweight, modular, and extensible library for functional programming.

  13. gs-spring-boot

    Building an Application with Spring Boot :: Learn how to build an application with minimal configuration.

  14. handsonscala

    Discussion and and code examples for the book Hands-on Scala Programming

  15. Quill

    15 Mill VS Quill

    Compile-time Language Integrated Queries for Scala

  16. Polyglot for Maven

    Support alternative markup for Apache Maven POM files

  17. sbt

    21 Mill VS sbt

    sbt, the interactive build tool

  18. bloop

    6 Mill VS bloop

    Bloop is a build server and CLI tool to compile, test and run Scala fast from any editor or build tool. (by scalacenter)

  19. dotty

    72 Mill VS dotty

    The Scala 3 compiler, also known as Dotty.

  20. Scalastyle

    1 Mill VS Scalastyle

    scalastyle

  21. Akka HTTP

    6 Mill VS Akka HTTP

    The Streaming-first HTTP server/module of Akka

  22. Wartremover

    6 Mill VS Wartremover

    Flexible Scala code linting tool

  23. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better Mill alternative or higher similarity.

Mill discussion

Log in or Post with

Mill reviews and mentions

Posts with mentions or reviews of Mill. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-02-06.
  • Scala 3 Migration: Report from the Field
    4 projects | news.ycombinator.com | 6 Feb 2025
    This might be a bit of a shameless plug, but because you ask :)

    Regarding no sbt, I would highly recommend to have a look at the mill build tool https://mill-build.org. I personally find it very pleasant to use as a replacement for sbt, mostly because of the following points:

    - it uses regular Scala code to define a build

  • Bazel 8.0 Released
    3 projects | news.ycombinator.com | 9 Dec 2024
    In most build tools, caching is opt in, so most things dont get cached and instead are wastefully recomputed. In Bazel caching is the default so everything is cached. Even tests are cached so if you run a test twice on the same code, the second time it is skipped

    - Dependency bazed test selection: You can use bazel query to determine the possible targets and tests affected by a code change, allowing you to trivially set up CI to only run tests downstream of a PR diff and skip unrelated ones

    - Automatic sandboxing of your build steps in CGroup/NS containers, to ensure your build steps do not make use of un-declared files.

    - At my last job we extended these cgroups to limit CPU/Memory usage as well, which eliminates the noisy neigjbour problem and ensures a build step or test gets the same compute footprint whether run alone during development or in parallel on a CI worker

    - Built in support for seamless shared caches (e.g. I compile something on my laptop, you download it to your laptop for usage)

    - Built in support for shared compute clusters (e.g. I compile stuff and it automatically happens in the cloud on 96 core machines)

    - Support for deep integration between multiple languages (e.g. building a Go binary and Rust libeary which are both used in a Python binary, which is then tested using a Bash script)

    If you never hit these needs, you don't need Bazel. If you do hit these needs, most other build tools simply do not cut it. We're trying to support some of these use cases and provide an alternative in https://mill-build.org, but Bazel really is a high bar to reach in terms of features that support latge monorepos

  • Starlark Programming Language
    10 projects | news.ycombinator.com | 9 Dec 2024
    Starlark is definitely a mixed experience IMO.

    On one hand, having a "hermetic" subset of Python is nice. You can be sure your starlark codebase isn't going to be making network calls or reading files or shelling out to subprocesses and all that. The fact that it is hermetic does help make things reproducible and deterministic, and enables paralleization and caching and other things

    On the other hand, a large Starlark codebase is a large Python codebase, and large Python codebases are imperative, untyped, and can get messy even without all the things mentioned above. Even though your Starlark is pure and deterministic, it still easily ends up a rats nest of sphagetti.

    For https://mill-build.org we went the opposite route: not enforcing purity, but using a language with strong types and a strong functional bent to it. So far it's been working out OK, but it remains to be seen how well it scales to ever larger and more complex build setups

  • Mill: A fast JVM build tool for Java and Scala
    17 projects | news.ycombinator.com | 27 Oct 2024
    Author here. Unfortunately this is because my own experience with Gradle is not up to date; I've only lived in the Gradle Groovy world! If anyone is interested in helping out, I have a 1500USD bounty on porting a gradle.kts build to Mill, so we can do a fair up-to-date comparison https://github.com/com-lihaoyi/mill/issues/3670
  • A Java Language Cumulative Feature Rollup
    4 projects | news.ycombinator.com | 29 Aug 2024
    https://mill-build.org/ you'll need to know some Scala
  • Mill project structure
    2 projects | /r/scala | 7 Dec 2023
    I had filed a GitHub ticket, but it was closed as "out of scope". I'm not sure why the maintainers insisted on perpetuating the ambiguity, and would like to know your opinion about the following. None of the references above answer these very basic and very important questions.
  • Version 0.11.0 of the Mill Scala Build Tool is out
    1 project | /r/scala | 8 Jun 2023
  • Why is Scala a mildly loved language?
    1 project | /r/scala | 24 Jun 2022
    It was my case, but https://github.com/com-lihaoyi/mill made my life easier
  • Potentially picking up Scala for a project after a 5 year hiatus - what's changed?
    1 project | /r/scala | 4 Apr 2022
    sbt (lowercase) has improved a lot, but Mill is a serious alternative today.
  • Best Scala framework / libraries out there ?
    4 projects | /r/scala | 31 Oct 2021
    Akka HTTP, Cats, Quill, ninny, Monix Observable, mill.
  • A note from our sponsor - CodeRabbit
    coderabbit.ai | 18 Feb 2025
    Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR. Learn more →

Stats

Basic Mill repo stats
14
2,323
9.9
4 days ago

lihaoyi/mill is an open source project licensed under MIT License which is an OSI approved license.

The primary programming language of Mill is Scala.


Sponsored
Nutrient - The #1 PDF SDK Library
Bad PDFs = bad UX. Slow load times, broken annotations, clunky UX frustrates users. Nutrient’s PDF SDKs gives seamless document experiences, fast rendering, annotations, real-time collaboration, 100+ features. Used by 10K+ devs, serving ~half a billion users worldwide. Explore the SDK for free.
nutrient.io

Did you know that Scala is
the 38th most popular programming language
based on number of references?