-
Notifications
You must be signed in to change notification settings - Fork 586
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement GMavenService #6644
base: main
Are you sure you want to change the base?
Implement GMavenService #6644
Conversation
Release note changesNo release note changes were detected. If you made changes that should be |
Vertex AI Mock Responses Check
|
plugins test results49 tests 49 ✅ 3m 9s ⏱️ Results for commit 030c1a4. |
Size Report 1Affected ProductsNo changes between base commit (0ce193f) and merge commit (f955f79).Test Logs |
Coverage Report 1Affected Products
Test Logs |
Per b/392134866,
This implements a centralized interface for communicating with GMaven called
GMavenService
. This service implements the gradle build-service interface to provide proper parallel access, and keeps localConcurrentHashMap
instances to cache responses.Cached responses are on a per-build basis, to avoid improper caching of dynamic data. That is, given any build- all tasks that utilize
GMavenService
will share the responses from GMaven; even within a parallel environment. But if the tasks are considered out-of-date and are ran again, then new requests will be made to the GMaven backend.Tests and documentation are provided for everything added as well.
Note that while this PR implements
GMavenService
- it does not refactor the existingGMavenHelper
andRepositoryClient
usages to use it. That will occur in subsequent PRs, as to avoid polluting this PR. Furthermore, while there are no tests forPomElement
directly- in a future PR that includes tests for bom generation,PomElement
will be tested as a by-product.This PR also fixes the following: