From e2673ec2e3ae40c13186ec417353dbb779a15a31 Mon Sep 17 00:00:00 2001 From: Tamas Cservenak Date: Tue, 28 Jan 2025 16:30:29 +0100 Subject: [PATCH 1/2] [MNG-8545] More repo ID stuff Merging should happen on ID. --- https://issues.apache.org/jira/browse/MNG-8545 --- .../org/apache/maven/impl/DefaultSettingsBuilder.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultSettingsBuilder.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultSettingsBuilder.java index 175eb7bc1547..c5d22ad420a8 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultSettingsBuilder.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultSettingsBuilder.java @@ -48,6 +48,7 @@ import org.apache.maven.api.services.xml.XmlReaderException; import org.apache.maven.api.services.xml.XmlReaderRequest; import org.apache.maven.api.settings.Activation; +import org.apache.maven.api.settings.IdentifiableBase; import org.apache.maven.api.settings.Profile; import org.apache.maven.api.settings.Repository; import org.apache.maven.api.settings.RepositoryPolicy; @@ -68,7 +69,12 @@ public class DefaultSettingsBuilder implements SettingsBuilder { private final DefaultSettingsValidator settingsValidator = new DefaultSettingsValidator(); - private final SettingsMerger settingsMerger = new SettingsMerger(); + private final SettingsMerger settingsMerger = new SettingsMerger() { + @Override + protected KeyComputer getRepositoryKey() { + return IdentifiableBase::getId; + } + }; private final SettingsXmlFactory settingsXmlFactory; From 0a5aa8b72fb5980786bb43bf386c618e3b0eb81b Mon Sep 17 00:00:00 2001 From: Tamas Cservenak Date: Tue, 28 Jan 2025 16:37:21 +0100 Subject: [PATCH 2/2] More fixes --- .../apache/maven/impl/model/DefaultProfileInjector.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultProfileInjector.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultProfileInjector.java index 234df08dcf91..206e8d4834c8 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultProfileInjector.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultProfileInjector.java @@ -39,6 +39,8 @@ import org.apache.maven.api.model.ReportPlugin; import org.apache.maven.api.model.ReportSet; import org.apache.maven.api.model.Reporting; +import org.apache.maven.api.model.Repository; +import org.apache.maven.api.model.RepositoryBase; import org.apache.maven.api.services.ModelBuilderRequest; import org.apache.maven.api.services.ModelProblemCollector; import org.apache.maven.api.services.model.ProfileInjector; @@ -238,5 +240,10 @@ protected void mergeReportPlugin_ReportSets( builder.reportSets(merged.values()); } } + + @Override + protected KeyComputer getRepositoryKey() { + return RepositoryBase::getId; + } } }