feat(librariangen): add bazel package#3940
Conversation
Based on https://github.com/googleapis/google-cloud-go/tree/main/internal/librariangen/bazel with adaptation for Java.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3940 +/- ##
==========================================
- Coverage 94.02% 93.81% -0.22%
==========================================
Files 4 5 +1
Lines 134 194 +60
==========================================
+ Hits 126 182 +56
- Misses 6 9 +3
- Partials 2 3 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Code Review
This pull request introduces a new Bazel configuration parser for librariangen, specifically for java_gapic_library rules. The implementation uses regular expressions to extract configuration values, which is a pragmatic approach for this use case. The changes are well-tested. My review includes suggestions to improve performance by pre-compiling and caching regular expressions, to use the slog logging library more idiomatically, and to enhance the structure of tests for clearer reporting.
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces a new Bazel parser for librariangen to extract configuration from BUILD.bazel files. The implementation is a good start, but my review focuses on improving the robustness and concurrency safety of the parsing logic. I've suggested changes to handle different quoting styles in Bazel files, make boolean parsing more resilient to prevent silent failures, and fix a race condition in the regular expression caching mechanism.
|
🤖 I have created a release *beep* *boop* --- <details><summary>2.63.0</summary> ## [2.63.0](v2.62.3...v2.63.0) (2025-10-16) ### Features * **librariangen:** add bazel package ([#3940](#3940)) ([feabef3](feabef3)) * **librariangen:** add execv package ([#3932](#3932)) ([f6b0b47](f6b0b47)) * **librariangen:** add protoc package ([#3935](#3935)) ([598de06](598de06)) * **librariangen:** add request package ([#3933](#3933)) ([fe44aed](fe44aed)) * **librariangen:** scaffold Java language container for Librarian ([#3926](#3926)) ([29d188d](29d188d)) ### Dependencies * Bump errorprone-annotations to v2.42.0 ([8d6c1f9](8d6c1f9)) * Bump guava to v33.5.0 ([8d6c1f9](8d6c1f9)) * Bump j2objc-annotations to v3.1 ([8d6c1f9](8d6c1f9)) * update google auth library dependencies to v1.40.0 ([#3945](#3945)) ([1d74663](1d74663)) * Upgrade Google Http Java Client to v2.0.2 ([#3946](#3946)) ([7fb4f15](7fb4f15)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
This reverts commit feabef3.
Based on https://github.com/googleapis/google-cloud-go/tree/main/internal/librariangen/bazel with adaptation for Java.
🤖 I have created a release *beep* *boop* --- <details><summary>2.63.0</summary> ## [2.63.0](v2.62.3...v2.63.0) (2025-10-16) ### Features * **librariangen:** add bazel package ([#3940](#3940)) ([feabef3](feabef3)) * **librariangen:** add execv package ([#3932](#3932)) ([f6b0b47](f6b0b47)) * **librariangen:** add protoc package ([#3935](#3935)) ([598de06](598de06)) * **librariangen:** add request package ([#3933](#3933)) ([fe44aed](fe44aed)) * **librariangen:** scaffold Java language container for Librarian ([#3926](#3926)) ([29d188d](29d188d)) ### Dependencies * Bump errorprone-annotations to v2.42.0 ([8d6c1f9](8d6c1f9)) * Bump guava to v33.5.0 ([8d6c1f9](8d6c1f9)) * Bump j2objc-annotations to v3.1 ([8d6c1f9](8d6c1f9)) * update google auth library dependencies to v1.40.0 ([#3945](#3945)) ([1d74663](1d74663)) * Upgrade Google Http Java Client to v2.0.2 ([#3946](#3946)) ([7fb4f15](7fb4f15)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
🤖 I have created a release *beep* *boop* --- <details><summary>2.63.0</summary> ## [2.63.0](googleapis/sdk-platform-java@v2.62.3...v2.63.0) (2025-10-16) ### Features * **librariangen:** add bazel package ([#3940](googleapis/sdk-platform-java#3940)) ([d6bd0e0](googleapis/sdk-platform-java@d6bd0e0)) * **librariangen:** add execv package ([#3932](googleapis/sdk-platform-java#3932)) ([7fc08a5](googleapis/sdk-platform-java@7fc08a5)) * **librariangen:** add protoc package ([#3935](googleapis/sdk-platform-java#3935)) ([c3f7b9f](googleapis/sdk-platform-java@c3f7b9f)) * **librariangen:** add request package ([#3933](googleapis/sdk-platform-java#3933)) ([c478a98](googleapis/sdk-platform-java@c478a98)) * **librariangen:** scaffold Java language container for Librarian ([#3926](googleapis/sdk-platform-java#3926)) ([aec74aa](googleapis/sdk-platform-java@aec74aa)) ### Dependencies * Bump errorprone-annotations to v2.42.0 ([4fa48a2](googleapis/sdk-platform-java@4fa48a2)) * Bump guava to v33.5.0 ([4fa48a2](googleapis/sdk-platform-java@4fa48a2)) * Bump j2objc-annotations to v3.1 ([4fa48a2](googleapis/sdk-platform-java@4fa48a2)) * update google auth library dependencies to v1.40.0 ([#3945](googleapis/sdk-platform-java#3945)) ([4b2c98e](googleapis/sdk-platform-java@4b2c98e)) * Upgrade Google Http Java Client to v2.0.2 ([#3946](googleapis/sdk-platform-java#3946)) ([89d518c](googleapis/sdk-platform-java@89d518c)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>




Based on https://github.com/googleapis/google-cloud-go/tree/main/internal/librariangen/bazel with adaptation for Java.