diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 58dff73b96e..3470c1b7ad3 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -43,7 +43,7 @@ jobs: - uses: actions/setup-java@v4 with: java-version: 8 - distribution: 'temurin' + distribution: 'zulu' cache: 'maven' - name: Build with Maven @@ -125,7 +125,7 @@ jobs: uses: actions/setup-java@v4 with: java-version: ${{ matrix.java }} - distribution: 'temurin' + distribution: 'zulu' cache: 'maven' - name: Running integration tests diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadata.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadata.java index 3d1817ce973..be038cea2b4 100644 --- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadata.java +++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadata.java @@ -116,6 +116,10 @@ protected void merge(Metadata recessive) { metadata.getVersioning().setSnapshotVersions(new ArrayList<>(versions.values())); } + // just carry-on as-is + if (!recessive.getPlugins().isEmpty()) { + metadata.setPlugins(new ArrayList<>(recessive.getPlugins())); + } artifacts.clear(); } diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/PluginsMetadata.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/PluginsMetadata.java index 18fdbba38e7..3358ded3c8f 100644 --- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/PluginsMetadata.java +++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/PluginsMetadata.java @@ -74,12 +74,16 @@ private static Metadata createRepositoryMetadata(PluginInfo pluginInfo) { protected void merge(Metadata recessive) { List recessivePlugins = recessive.getPlugins(); List plugins = metadata.getPlugins(); - if (!plugins.isEmpty()) { + if (!recessivePlugins.isEmpty() || !plugins.isEmpty()) { LinkedHashMap mergedPlugins = new LinkedHashMap<>(); recessivePlugins.forEach(p -> mergedPlugins.put(p.getPrefix(), p)); plugins.forEach(p -> mergedPlugins.put(p.getPrefix(), p)); metadata.setPlugins(new ArrayList<>(mergedPlugins.values())); } + // just carry-on as-is + if (recessive.getVersioning() != null) { + metadata.setVersioning(recessive.getVersioning()); + } } @Override diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadata.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadata.java index 8594c038c93..5d5a53d8222 100644 --- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadata.java +++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadata.java @@ -124,6 +124,10 @@ protected void merge(Metadata recessive) { if (!legacyFormat) { metadata.getVersioning().setSnapshotVersions(new ArrayList<>(versions.values())); } + // just carry-on as-is + if (!recessive.getPlugins().isEmpty()) { + metadata.setPlugins(new ArrayList<>(recessive.getPlugins())); + } } private static int getBuildNumber(Metadata metadata) { diff --git a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadata.java b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadata.java index 12e1ce0a253..b2bba6a793a 100644 --- a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadata.java +++ b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionsMetadata.java @@ -83,6 +83,10 @@ protected void merge(Metadata recessive) { versions.addAll(versioning.getVersions()); versioning.setVersions(new ArrayList<>(versions)); } + // just carry-on as-is + if (!recessive.getPlugins().isEmpty()) { + metadata.setPlugins(new ArrayList<>(recessive.getPlugins())); + } } public Object getKey() {