Skip to content

ci: quick-build profile skip shading - #14046

Open
lqiu96 wants to merge 8 commits into
mainfrom
quick-build-skip-shading
Open

ci: quick-build profile skip shading#14046
lqiu96 wants to merge 8 commits into
mainfrom
quick-build-skip-shading

Conversation

@lqiu96

@lqiu96 lqiu96 commented Aug 11, 2026

Copy link
Copy Markdown
Member

Seeing this weird issue in the enforcer plugin:

19:50:20:126 [ERROR] Could not acquire shared lock for artifacts: io.grpc:grpc-api:jar:1.82.3, com.google.code.findbugs:jsr305:jar:3.0.2, com.google.errorprone:error_prone_annotations:jar:2.48.0, io.grpc:grpc-stub:jar:1.82.3, ... in 900 SECONDS; consider using 'aether.syncContext.named.time' property to increase lock timeout to a value that fits your environment
19:50:20:126 [ERROR] org.eclipse.aether.SyncContext$FailedToAcquireLockException: Could not acquire shared lock for artifacts: ... in 900 SECONDS

Gemini is suggesting that not shading may end up speeding up some of the longer to build modules:

  • GAPIC Showcase Client: 16:28 min
  • GAPIC Generator Java: 16:14 min

Try it out to see if running in the CIs via quick-build profile can help. Shading will continue to be run, but only skipped in the quick-build profile.

EDIT: Looks like we have to shade the generator for now

lqiu96 added 4 commits August 11, 2026 20:20
Heavy shading in gapic-generator-java and spanner-jdbc unpacks and repackages hundreds of megabytes of classes, taking >15 minutes in CI.

Configure 'skipShade' property in parent POMs and gapic-generator-java to skip shading during quick-build reactor installations.
Use shade.skip to match Maven Shade Plugin's native user property and standard codebase conventions (checkstyle.skip, enforcer.skip, fmt.skip, etc.).
Add shade.skip=true to the quick-build profile in parent POMs to skip heavy shading during fast reactor installations.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request attempts to skip shading during quick builds by adding a skip property to several pom.xml files. However, the reviewer correctly pointed out that the standard property to skip the maven-shade-plugin is maven.shade.skip instead of shade.skip. Using shade.skip will not be recognized by the plugin, meaning shading would not actually be skipped.

Comment thread google-cloud-pom-parent/pom.xml
Comment thread java-cloud-bom/pom.xml
Comment thread sdk-platform-java/gapic-generator-java-pom-parent/pom.xml Outdated
lqiu96 added 3 commits August 11, 2026 20:50
Maven Shade Plugin's skip parameter does not declare a built-in property expression in its Mojo descriptor, so explicit mapping via <skip>${shade.skip}</skip> is required for the profile property to take effect.
Document why shade.skip property is declared and mapped explicitly.
Default shade.skip to false so normal builds continue shading, while quick-build toggles it to true.
Add <skip>${shade.skip}</skip> to maven-shade-plugin configurations in:
- java-bigquery/benchmark
- java-bigtable (and test-proxy)
- java-storage-nio/google-cloud-nio
- java-storage/storage-shared-benchmarking
@lqiu96
lqiu96 requested a review from jinseopkim0 August 11, 2026 21:06
@lqiu96
lqiu96 marked this pull request as ready for review August 11, 2026 21:06
@lqiu96
lqiu96 requested review from a team as code owners August 11, 2026 21:06
@lqiu96 lqiu96 added the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Aug 11, 2026
@yoshi-kokoro yoshi-kokoro removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Aug 11, 2026
@sonarqubecloud

Copy link
Copy Markdown

@sonarqubecloud

Copy link
Copy Markdown

Keep gapic-generator-java shaded so its executable protoc plugin binary remains functional.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants