Repository navigation
Fix remote signing and dependency publication - #24
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
Android SDK 0.2.0 could load without its Java SDK, tus, or WorkManager dependencies, and a backend that signs only Assembly creation could make completed work fail.
The library did not apply
maven-publishor configure AGP's release component. Its root publication attached the AAR manually, without dependency metadata. Assembly status reads used the Java SDK's generic signed GET, including the final read after SSE completion, so a creation-only signing backend rejected them.check. Expose the Java SDK and WorkManager as API dependencies because their types appear in the public API.assembly_ssl_urldirectly without invokingSignatureProvider, preserving the client header, relative URL handling, and configured request retries. Handle terminal initial responses without waiting for an SSE callback and retain available identifiers in failure output.Validation:
verifyPublishedPom[]Failed to generate signature using providerFailure, with two signing requestsSuccess, with one signing request and a direct status GETRetrySuccessRetryFailureimmediatelyIllegalArgumentException; failed work lost its identifiersCommands run locally with live API tests disabled:
The POM check, all seven regression tests, debug/release unit tests, lint, and publication artifact generation pass. Red and green logs are retained locally. Live API tests were skipped; publication and device behavior were not exercised. These fixes need a new release to replace the published 0.2.0 artifact.
Fixes #23
Final council review:
The final council round covered the complete committed PR diff
70601ab65dee28e9ecdf4f7df2b9fb9f411c4be6...b89ab7ceda176d5cb06bab3b6bacfd715aff304b, including all code, publication configuration, tests, and README changes at b89ab7c. Consolidated report:build/repro/council-final-pr-review.log.Result: one P3 finding, fixed in 4ef55ba. The README's signing example read only the first response line; it now reads the complete JSON body and closes the reader reliably.
Red/green evidence: compiled the literal README provider against Java SDK 2.2.4 and exercised it against a local HTTP fixture. Compact JSON worked, but multiline JSON failed with
JSONObject text must end with '}'. After the fix, both response formats pass. The reproduction and logs are retained locally underbuild/repro/check-readme-response.py,red-readme-response.log, andgreen-readme-response.log../gradlew checkalso passes after the fix.No open review items for Tim. No further council rounds were started after this final round; its fix was verified locally.