Merged
Conversation
Support <commit>, <commitN> placeholders in version overlay snapshot qualifiers that resolve to the git commit hash (first N chars, default 7). When present in a TypeScript qualifier, the automatic timestamp suffix is suppressed. Falls back to "unknown" on git errors. Includes unit tests for CommitHashResolver and shellspec integration tests covering release mode, SNAPSHOT, timestamp, and commit hash qualifiers for TypeScript, Scala, CSharp, and Go.
The Scala 3 PlatformEnumCodecs used deriveDecoder/deriveEncoder from
circe-generic which encodes sealed trait case objects as {"PLAIN": {}}
objects. This broke `-d layout=PLAIN` overrides on Scala 3 since the
decoder expected objects, not strings.
Switch Scala 3 to deriveEnumerationDecoder/Encoder from
circe-generic-extras (0.14.5-RC1, the only Scala 3 build available),
matching the Scala 2 behavior of encoding as plain strings.
Add PlatformEnumCodecsTest verifying string encoding/decoding roundtrips
for all layout enums on both Scala versions. Parameterize version overlay
integration tests to run on both Scala 2.13 and 3.
Bump circe-generic-extras from 0.14.4 to 0.14.5-RC1 (the only version with Scala 3 artifacts) and make it available for all Scala versions in sbtgen/Deps.scala, removing the AllScala2 restriction. Regenerated build.sbt via sbtgen.
Extract snapshotQualifier from compiler log output to verify commit hash resolution for Go and Protobuf (which don't embed versions in generated files). Tighten all <commitN> patterns to assert exact character counts instead of wildcards.
Now that both Scala 2 and 3 use the same circe-generic-extras deriveEnumerationDecoder/Encoder, the platform-specific files are identical. Move to shared scala/ source dir.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Support
<commit>in snapshotQualifiers, allows publishing versions1.2.3-git-abcdef1whensnapshotQualifiersis set to"git-<commit>"Fix manifests generated by Scala 3 version of the compiler