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 →
Mill Alternatives
Similar projects and alternatives to Mill
-
-
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.
-
-
-
-
manifold
Manifold is a Java compiler plugin, its features include Metaprogramming, Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor, and more.
-
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."
-
-
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.
-
-
linguist
Language Savant. If your repository's language is being reported incorrectly, send us a pull request!
-
-
gs-spring-boot
Building an Application with Spring Boot :: Learn how to build an application with minimal configuration.
-
-
-
-
-
bloop
Bloop is a build server and CLI tool to compile, test and run Scala fast from any editor or build tool. (by scalacenter)
-
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Mill discussion
Mill reviews and mentions
-
Scala 3 Migration: Report from the Field
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
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
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
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
https://mill-build.org/ you'll need to know some Scala
-
Mill project structure
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
-
Why is Scala a mildly loved language?
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?
sbt (lowercase) has improved a lot, but Mill is a serious alternative today.
-
Best Scala framework / libraries out there ?
Akka HTTP, Cats, Quill, ninny, Monix Observable, mill.
-
A note from our sponsor - CodeRabbit
coderabbit.ai | 18 Feb 2025
Stats
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.