build(japicmp): exclude internal layout.payloads from the binary-compat gate#135
Merged
Merged
Conversation
…at gate The document.layout.payloads package is internal layout->render handoff plumbing: its records carry engine-internal types (TextStyle, Padding, ...) and evolve with rendering features. ParagraphFragmentPayload gained a verticalAlign component in 1.7.0 (9e25006), changing its canonical record constructor -> japicmp flagged CONSTRUCTOR_REMOVED on every develop PR. These types are not part of the canonical public API (document.api/dsl/node/style) and carry no binary-compat promise, so exclude the package from the gate. Also corrects the CI job label "vs v1.6.8" -> "vs v1.6.9" (the pom baseline japicmp.baseline is already v1.6.9; the label was stale). Verified locally: ./mvnw -DskipTests -P japicmp verify -pl . -> BUILD SUCCESS.
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.
What
Exclude the internal
com.demcha.compose.document.layout.payloadspackage from the japicmp binary-compatibility gate, and correct the stale CI job labelvs v1.6.8->vs v1.6.9.Why
document.layout.payloadsis internal layout->render handoff plumbing (~25*FragmentPayload/Prepared*Layout/Transform*records). They carry engine-internal types (TextStyle,Padding, ...) and evolve with rendering features, so they are not part of the canonical public API (document.api/dsl/node/style) and carry no binary-compatibility promise.In the 1.7.0 cycle,
ParagraphFragmentPayloadgained averticalAligncomponent (9e25006), changing its canonical record constructor. japicmp flagged this asCONSTRUCTOR_REMOVEDon every develop PR (the check runs only onpull_request, so develop push builds stayed green and the failure was latent). It was non-required, but it reddened every PR and trains reviewers to ignore the gate.The pom baseline (
japicmp.baseline) is alreadyv1.6.9; only the CI job label still saidv1.6.8.Verification
./mvnw -B -ntp -DskipTests -P japicmp verify -pl .-> BUILD SUCCESS (was:CONSTRUCTOR_REMOVEDfailure). This PR's own japicmp check should now be green.