feat!: reorganize into resource packages, address manual code review#9
Closed
Pijukatel wants to merge 1 commit into
Closed
feat!: reorganize into resource packages, address manual code review#9Pijukatel wants to merge 1 commit into
Pijukatel wants to merge 1 commit into
Conversation
Splits com.apify.client into resource-oriented sub-packages (actor, build, run, dataset, keyvalue, requestqueue, task, schedule, webhook, user, log, store, http), with genuinely internal wiring moved to com.apify.client.internal. Also addresses the rest of the manual review in issue #8: renames HttpBackend/DefaultHttpBackend/sendStreaming for clarity, promotes the transport exception to a public top-level type, makes Dataset/KeyValueStore clients immutable after construction, replaces manual JSON/URL parsing in the HTTP core with typed/URI-based equivalents, consolidates resource path literals, validates builder configuration, makes brotli native codecs opt-in instead of bundled, adds SLF4J logging, and bumps Jackson. Breaking change; client version 0.3.1 -> 0.4.0.
Collaborator
Author
|
Broken review process. |
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.
Addresses the manual review in #8 (an experienced Java developer's read of the generated client). The largest change is splitting
com.apify.clientinto resource-oriented sub-packages (actor,build,run,dataset,keyvalue,requestqueue,task,schedule,webhook,user,log,store,http), with genuinely internal wiring moved to a documentedcom.apify.client.internalpackage. The rest of the review is addressed item by item:HttpBackend/DefaultHttpBackend/sendStreamingrenamed for clarity, the transport exception promoted to a public top-level type,DatasetClient/KeyValueStoreClientmade immutable after construction, the HTTP core's manual JSON/URL parsing replaced with typed/URI-based equivalents, resource path literals consolidated, builder configuration validated up front, brotli made opt-in instead of bundled, SLF4J logging added, and Jackson bumped.A few review points were deliberately not applied, each because implementing them would conflict with the client requirements (JS-reference parity in particular) or would be a much larger, riskier change than the review's framing called for; the reasoning for each is in the CHANGELOG/PR history.
This is a breaking change: client version
0.3.1->0.4.0.Test plan
mvn spotless:check,compile,spotbugs:checkpassmvn test(offline unit + doc-snippet suites, 96 tests) passes*IntegrationTest,ExamplesTest) against the API/review-client-equivalent review with no open itemsGenerated by Claude Code