Skip to content

Conversation

jackkoenig
Copy link
Contributor

@jackkoenig jackkoenig commented Jul 10, 2025

Mill 1.0.0 is here 🎉. We badly need this so we can publish Snapshots to Maven Central.

Lots to be aware of for Chisel developers:

  • Mill files are now Scala 3.7.1
  • ivy has been replaced with mvn (which makes more sense)
  • Agg is gone, just use Seq
  • Reading from files need to be guarded in BuildCtx.watchValue due to sandboxing
  • VcsVersion has not yet been published for Mill 1.0.0 (not even the RCs) so I just re-implemented it
  • docs is lousy with doing things outside of the out/ folder which is bad, but rather than tweaking all of that, I just guarded with BuildCtx.withFilesystemCheckerDisabled, we should try to remove those.
  • We can probably get rid of the cross business but I will leave that for follow on work.
  • See Mill 1.0.0 changelog: https://github.com/com-lihaoyi/mill/blob/main/changelog.adoc#100

Contributor Checklist

  • Did you add Scaladoc to every public function/method?
  • Did you add at least one test demonstrating the PR?
  • Did you delete any extraneous printlns/debugging code?
  • Did you specify the type of improvement?
  • Did you add appropriate documentation in docs/src?
  • Did you request a desired merge strategy?
  • Did you add text to be included in the Release Notes for this change?

Type of Improvement

  • Internal or build-related (includes code refactoring/cleanup)

Desired Merge Strategy

  • Squash

Release Notes

No SNAPSHOT publishing yet, that will be follow on work. See the Mill 1.0.0 changelog.

Reviewer Checklist (only modified by reviewer)

  • Did you add the appropriate labels? (Select the most appropriate one based on the "Type of Improvement")
  • Did you mark the proper milestone (Bug fix: 3.6.x, 5.x, or 6.x depending on impact, API modification or big change: 7.0)?
  • Did you review?
  • Did you check whether all relevant Contributor checkboxes have been checked?
  • Did you do one of the following when ready to merge:
    • Squash: You/ the contributor Enable auto-merge (squash) and clean up the commit message.
    • Merge: Ensure that contributor has cleaned up their commit history, then merge with Create a merge commit.

@jackkoenig jackkoenig requested a review from seldridge July 10, 2025 22:47
@jackkoenig jackkoenig added the Internal Internal change, does not affect users, will be included in release notes label Jul 10, 2025
@jackkoenig jackkoenig force-pushed the mill-1.0.0 branch 4 times, most recently from c74a32f to 563538d Compare July 11, 2025 04:05
Copy link
Member

@seldridge seldridge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

I don't understand the actual mill changes, however, I reviewed for consistent application of mechanical changes.

s"$previousTagNoV+$commitsSincePreviousTag-$currentCommit-SNAPSHOT"
}
}
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not actionable in this PR: doing a simpler git --describe --tag as opposed to rolling our own here would be good. Granted, this differs slightly from your format as it adds the g before the $currentCommit and appends -SNAPSHOT:

# git describe --tag
v7.0.0-RC2-4-gece296e71

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer our versioning to the default output of git describe as it more closely matches what other Scala projects do.

That being said I think a regex to convert the output of git describe --tag would perhaps be simpler.

Comment on lines -38 to +40
def scalaLibraryIvy = v.scalaLibrary(crossScalaVersion)
def scalaReflectIvy = v.scalaReflect(crossScalaVersion)
def scala2CompilerIvy: Dep = v.scala2Compiler(crossScalaVersion)
def scala3CompilerIvy: Dep = v.scala3Compiler(crossScalaVersion)
def scalaLibraryMvn = v.scalaLibrary(crossScalaVersion)
def scalaReflectMvn = v.scalaReflect(crossScalaVersion)
def scala2CompilerMvn: Dep = v.scala2Compiler(crossScalaVersion)
def scala3CompilerMvn: Dep = v.scala3Compiler(crossScalaVersion)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for updating the method names even though this was not necessary. 👍

Copy link
Contributor Author

@jackkoenig jackkoenig Jul 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW it was sort of a happy accident, I updated these with sed 😂

@jackkoenig jackkoenig enabled auto-merge (squash) July 11, 2025 19:12
@jackkoenig jackkoenig merged commit 1a2980c into main Jul 11, 2025
15 checks passed
@jackkoenig jackkoenig deleted the mill-1.0.0 branch July 11, 2025 19:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Internal Internal change, does not affect users, will be included in release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants