@@ -46,22 +46,24 @@ public void apply(@NotNull Settings settings) {
4646 settings
4747 .getGradle ()
4848 .allprojects (
49- project ->
50- project
51- .getPluginManager ()
52- .withPlugin (
53- "java" ,
54- unused -> {
55- DependencyPluginProjectExtension projectExtension =
56- this .addProjectExtension (project );
57- this .assignDefaultConfigurationsToLock (project , projectExtension );
58- this .addBomDependencyIfRequested (
59- project , settingExtension , projectExtension );
60- if (settingExtension .useDependencyLocking .get ()) {
61- this .addDependencyLocking (project , projectExtension );
62- this .addLockTask (project , projectExtension );
63- }
64- }));
49+ project -> {
50+ this .configureLz4JavaCapabilityResolution (project );
51+ project
52+ .getPluginManager ()
53+ .withPlugin (
54+ "java" ,
55+ unused -> {
56+ DependencyPluginProjectExtension projectExtension =
57+ this .addProjectExtension (project );
58+ this .assignDefaultConfigurationsToLock (project , projectExtension );
59+ this .addBomDependencyIfRequested (
60+ project , settingExtension , projectExtension );
61+ if (settingExtension .useDependencyLocking .get ()) {
62+ this .addDependencyLocking (project , projectExtension );
63+ this .addLockTask (project , projectExtension );
64+ }
65+ });
66+ });
6567 }
6668
6769 private DependencyPluginSettingExtension createSettingsExtension (Settings target ) {
@@ -311,4 +313,26 @@ private void configureHypertrace(MavenArtifactRepository artifactRepository) {
311313 artifactRepository .setName ("hypertrace-maven" );
312314 artifactRepository .setUrl (HYPERTRACE_REPOSITORY_URL );
313315 }
316+
317+ /**
318+ * Resolves the capability conflict between org.lz4:lz4-java and at.yawk.lz4:lz4-java caused by
319+ * Sonatype's redirect for CVE-2025-12183. When both artifacts appear in the dependency graph,
320+ * Gradle fails due to capability conflict. This resolution selects the relocated artifact.
321+ */
322+ private void configureLz4JavaCapabilityResolution (Project project ) {
323+ project
324+ .getConfigurations ()
325+ .all (
326+ configuration ->
327+ configuration
328+ .getResolutionStrategy ()
329+ .getCapabilitiesResolution ()
330+ .withCapability (
331+ "org.lz4:lz4-java" ,
332+ details -> {
333+ details .select ("at.yawk.lz4:lz4-java" );
334+ details .because (
335+ "Both org.lz4 and at.yawk.lz4 provide lz4-java due to Sonatype redirect for CVE-2025-12183" );
336+ }));
337+ }
314338}
0 commit comments