Skip to content

Commit

Permalink
Merge branch 'main' into pr/bom-modules-cs-project
Browse files Browse the repository at this point in the history
  • Loading branch information
alexarchambault committed Dec 27, 2024
2 parents f9d1a06 + 2ff4923 commit 1ca26c7
Show file tree
Hide file tree
Showing 112 changed files with 4,017 additions and 208 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/pre-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
- run: ./mill -i -k selective.prepare ${{ inputs.prepareargs }}
if: ${{ github.event_name == 'pull_request' && !contains(github.event.pull_request.labels.*.name, 'run-all-tests') }}

- uses: actions/upload-artifact@v4.4.3
- uses: actions/upload-artifact@v4.5.0
with:
path: out/mill-selective-execution.json
name: ${{ inputs.os }}-selective-execution-artifact
Expand All @@ -50,7 +50,7 @@ jobs:

- run: ./mill -i -k ${{ inputs.compileargs }}

- uses: actions/upload-artifact@v4.4.3
- uses: actions/upload-artifact@v4.5.0
with:
path: .
name: ${{ inputs.os }}-artifact
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:

- run: ./mill -i __.publishArtifacts

- uses: actions/upload-artifact@v4.4.3
- uses: actions/upload-artifact@v4.5.0
with:
path: .
include-hidden-files: true
Expand Down
2 changes: 1 addition & 1 deletion blog/antora.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: blog
title: Mill Blog
title: The Mill Build Engineering Blog
version: ~
nav:
- modules/ROOT/nav.adoc
Expand Down
1 change: 1 addition & 0 deletions blog/modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

* xref:3-selective-testing.adoc[]
* xref:2-monorepo-build-tool.adoc[]
* xref:1-java-compile.adoc[]
5 changes: 3 additions & 2 deletions blog/modules/ROOT/pages/1-java-compile.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ not match today's reality. Nowadays the Java compiler can compile "typical" Java
should take more than 10s to compile in a single-threaded fashion, and should be even
faster in the presence of parallelism

// end::header[]


Doing some ad-hoc benchmarks, we find that although the compiler is blazing fast, all
build tools add significant overhead over compiling Java directly:

Expand All @@ -31,8 +34,6 @@ all build tools fall short of how fast compiling Java _should_ be. This post exp
these numbers were arrived at, and what that means in un-tapped potential for Java build
tooling to become truly great.

// end::header[]

## Mockito Core

To begin to understand the problem, lets consider the codebase of the popular Mockito project:
Expand Down
6 changes: 4 additions & 2 deletions blog/modules/ROOT/pages/2-monorepo-build-tool.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@ Software build tools mostly fall into two categories:
One question that comes up constantly is why do people use Monorepo build tools? Tools
like Bazel are orders of magnitude more complicated and hard to use than tools
like Poetry or Cargo, so why do people use them at all?
https://knowyourmeme.com/memes/is-he-stupid-is-she-smart-are-they-stupid[Are they stupid?]

// end::header[]



It turns out that Monorepo build tools like Bazel or Mill do a lot of non-obvious things that
other build tools don't, that become important in larger codebases (100-10,000 active developers).
Expand All @@ -32,7 +35,6 @@ features become critical. We'll explore some of the core features of "Monorepo B
below, from the perspective of Bazel (which I am familiar with) and Mill (which this
technical blog is about).

// end::header[]

## Support for Multiple Languages

Expand Down
Loading

0 comments on commit 1ca26c7

Please sign in to comment.