Skip to content

Add a Mill build script#269

Merged
mkurz merged 1 commit into
playframework:3.0.xfrom
houyuanjie:3.0.x
Jul 13, 2026
Merged

Add a Mill build script#269
mkurz merged 1 commit into
playframework:3.0.xfrom
houyuanjie:3.0.x

Conversation

@houyuanjie

Copy link
Copy Markdown
Contributor

Summary

Since playframework/play-scala-seed.g8 has been updated to support Mill 1.x, this PR introduces Mill build tool support to the current repository.

Key Changes

The build.mill script is largely identical to the upstream version, with two main differences:

  1. Explicit mill-version Configuration: The mill-version is explicitly set in the build.
  2. Giter8 verbatim Configuration: Instead of using phantomDeps, the build.mill file is simply added to the Giter8 verbatim list.

Rationale & Design Decisions

1. Explicit mill-version

Explicitly defining the mill-version is considered the better approach. Scala Steward should be fully capable of detecting and managing this version number automatically, just as it currently does for sbt.version.

2. Avoiding phantomDeps and $ Escaping Issues

Adding build.mill to the verbatim list bypasses the parsing confusion caused by the backslash-dollar (\$) escape sequence for both Scala Steward and Mill.
Conveniently, since build.mill now strictly accepts package as the RootModule name, we no longer need to engineer complex workarounds for Giter8 to process it dynamically.

Future Work

If this approach proves successful and stable here, these two modifications can and should be contributed back to playframework/play-scala-seed.g8.

@mergify

mergify Bot commented Jul 9, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@mkurz mkurz merged commit c9ef271 into playframework:3.0.x Jul 13, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants