oscerd opened a new pull request, #28442: URL: https://github.com/apache/camel/pull/28442
## Backport of #28217 Cherry-pick of #28217 onto `camel-4.18.x`, **adapted** for this branch, so it needs a review rather than the straight-cherry-pick fast path. **Original PR:** #28217 - CAMEL-25889: camel-google-mail/drive/calendar/sheets - create the API client per endpoint credentials instead of one per component **Original author:** @oscerd **Target branch:** `camel-4.18.x` (4.18.6) ### Differences from the original - `camel-google-sheets`: on this branch the components have no Application Default Credentials fallback, so `GoogleSheetsComponent.getClient` and `GoogleSheetsStreamComponent.getClient` keep throwing `IllegalArgumentException` when neither OAuth credentials nor a service account key are set (as before the change), instead of calling the factory with a null key. The test `shouldNotShareTheDefaultCredentialsClient` of the original PR is left out for the same reason. - `camel-google-mail`: the `google-mail:update-message-labels` data type transformer, its documentation section and the catalog docs mirror do not exist on this branch, so those hunks are dropped. `GoogleMailComponent.getClient()` (the client kept for the component configuration) is kept for parity, with its javadoc no longer mentioning the transformer. - The 4.24 upgrade-guide file does not exist here; the 4.18.6 note goes to the guide on `main` in #28440. Everything else is identical to the original: each endpoint creates its own client from its own options on first use and keeps it for its lifetime, `google-drive` honours the endpoint-level `clientFactory`, `google-mail-stream` throws instead of returning a null client, and the per-component tests with recording fake client factories are included. Checks: the four modules built with their upstream modules, the seven test classes pass (15 tests) and the full reactor of the branch is green locally, with no regenerated-file drift. _Claude Code on behalf of oscerd_ 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
