This is an automated email from the ASF dual-hosted git repository.
desruisseaux pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-resources-plugin.git
The following commit(s) were added to refs/heads/master by this push:
new dce5f4c Upgrade to Maven 4.0.0-rc-4. (#415)
dce5f4c is described below
commit dce5f4c05d51e7dd9600e41845126625b743481f
Author: Martin Desruisseaux <[email protected]>
AuthorDate: Sun Jul 20 11:54:33 2025 +0200
Upgrade to Maven 4.0.0-rc-4. (#415)
---
.github/workflows/maven-verify.yml | 4 +--
pom.xml | 4 +--
.../maven/plugins/resources/ResourceUtils.java | 35 ----------------------
.../maven/plugins/resources/ResourcesMojo.java | 28 ++++++++++-------
.../maven/plugins/resources/TestResourcesMojo.java | 11 ++++---
.../plugins/resources/CopyResourcesMojoTest.java | 2 +-
.../maven/plugins/resources/ResourcesMojoTest.java | 21 +++++++++----
.../maven/plugins/resources/TestResourcesTest.java | 9 ++----
8 files changed, 47 insertions(+), 67 deletions(-)
diff --git a/.github/workflows/maven-verify.yml
b/.github/workflows/maven-verify.yml
index 2bc0ff1..ea5b27a 100644
--- a/.github/workflows/maven-verify.yml
+++ b/.github/workflows/maven-verify.yml
@@ -26,6 +26,6 @@ jobs:
name: Verify
uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v4
with:
- ff-maven: "4.0.0-rc-2" # Maven version for
fail-fast-build
- maven-matrix: '[ "4.0.0-rc-2" ]'
+ ff-maven: "4.0.0-rc-4" # Maven version for
fail-fast-build
+ maven-matrix: '[ "4.0.0-rc-4" ]'
jdk-matrix: '[ "17", "21" ]'
diff --git a/pom.xml b/pom.xml
index 95d5075..5aca51b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -72,13 +72,13 @@ under the License.
</distributionManagement>
<properties>
- <mavenVersion>4.0.0-rc-2</mavenVersion>
+ <mavenVersion>4.0.0-rc-4</mavenVersion>
<javaVersion>17</javaVersion>
<guiceVersion>6.0.0</guiceVersion>
<mavenFilteringVersion>4.0.0-beta-1</mavenFilteringVersion>
<mavenPluginPluginVersion>4.0.0-beta-1</mavenPluginPluginVersion>
- <mavenPluginTestingVersion>4.0.0-beta-3</mavenPluginTestingVersion>
+ <mavenPluginTestingVersion>4.0.0-beta-4</mavenPluginTestingVersion>
<plexusBuildApiVersion>0.0.7</plexusBuildApiVersion>
<sisuVersion>0.9.0.M3</sisuVersion>
<slf4jVersion>2.0.13</slf4jVersion>
diff --git
a/src/main/java/org/apache/maven/plugins/resources/ResourceUtils.java
b/src/main/java/org/apache/maven/plugins/resources/ResourceUtils.java
deleted file mode 100644
index b6677f0..0000000
--- a/src/main/java/org/apache/maven/plugins/resources/ResourceUtils.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.maven.plugins.resources;
-
-import org.apache.maven.shared.filtering.Resource;
-
-class ResourceUtils {
-
- static Resource newResource(org.apache.maven.api.model.Resource res) {
- Resource resource = new Resource();
- resource.setDirectory(res.getDirectory());
- resource.setFiltering(res.isFiltering());
- resource.setExcludes(res.getExcludes());
- resource.setIncludes(res.getIncludes());
- resource.setMergeId(res.getMergeId());
- resource.setTargetPath(res.getTargetPath());
- return resource;
- }
-}
diff --git
a/src/main/java/org/apache/maven/plugins/resources/ResourcesMojo.java
b/src/main/java/org/apache/maven/plugins/resources/ResourcesMojo.java
index 6f699a6..63539e0 100644
--- a/src/main/java/org/apache/maven/plugins/resources/ResourcesMojo.java
+++ b/src/main/java/org/apache/maven/plugins/resources/ResourcesMojo.java
@@ -26,11 +26,12 @@ import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Properties;
-import java.util.stream.Collectors;
+import org.apache.maven.api.Language;
import org.apache.maven.api.Project;
import org.apache.maven.api.ProjectScope;
import org.apache.maven.api.Session;
+import org.apache.maven.api.SourceRoot;
import org.apache.maven.api.di.Inject;
import org.apache.maven.api.plugin.Log;
import org.apache.maven.api.plugin.MojoException;
@@ -296,16 +297,25 @@ public class ResourcesMojo implements
org.apache.maven.api.plugin.Mojo {
getLog().info("Skipping the execution.");
return;
}
-
if (resources == null) {
- resources =
session.getService(ProjectManager.class).getResources(project,
ProjectScope.MAIN).stream()
- .map(ResourceUtils::newResource)
- .collect(Collectors.toList());
+ resources = session.getService(ProjectManager.class)
+ .getEnabledSourceRoots(project, ProjectScope.MAIN,
Language.RESOURCES)
+ .map(ResourcesMojo::newResource)
+ .toList();
}
-
doExecute();
}
+ static Resource newResource(SourceRoot res) {
+ Resource resource = new Resource();
+ resource.setDirectory(res.directory().toString());
+ resource.setFiltering(res.stringFiltering());
+ resource.setExcludes(res.excludes());
+ resource.setIncludes(res.includes());
+ res.targetPath().ifPresent((p) ->
resource.setTargetPath(p.toString()));
+ return resource;
+ }
+
protected void doExecute() throws MojoException {
if ((encoding == null || encoding.isEmpty()) &&
isFilteringEnabled(getResources())) {
getLog().warn("File encoding has not been set, using platform
encoding "
@@ -315,14 +325,12 @@ public class ResourcesMojo implements
org.apache.maven.api.plugin.Mojo {
}
try {
- List<String> combinedFilters = getCombinedFiltersList();
-
MavenResourcesExecution mavenResourcesExecution = new
MavenResourcesExecution(
getResources(),
getOutputDirectory(),
project,
encoding,
- combinedFilters,
+ getCombinedFiltersList(),
Collections.emptyList(),
session);
@@ -426,7 +434,7 @@ public class ResourcesMojo implements
org.apache.maven.api.plugin.Mojo {
} else {
List<String> result = new ArrayList<>();
- if (useBuildFilters && buildFilters != null &&
!buildFilters.isEmpty()) {
+ if (useBuildFilters && buildFilters != null) {
result.addAll(buildFilters);
}
diff --git
a/src/main/java/org/apache/maven/plugins/resources/TestResourcesMojo.java
b/src/main/java/org/apache/maven/plugins/resources/TestResourcesMojo.java
index ac90676..1e1218d 100644
--- a/src/main/java/org/apache/maven/plugins/resources/TestResourcesMojo.java
+++ b/src/main/java/org/apache/maven/plugins/resources/TestResourcesMojo.java
@@ -20,8 +20,8 @@ package org.apache.maven.plugins.resources;
import java.nio.file.Path;
import java.util.List;
-import java.util.stream.Collectors;
+import org.apache.maven.api.Language;
import org.apache.maven.api.ProjectScope;
import org.apache.maven.api.plugin.MojoException;
import org.apache.maven.api.plugin.annotations.Mojo;
@@ -66,13 +66,12 @@ public class TestResourcesMojo extends ResourcesMojo {
getLog().info("Not copying test resources");
return;
}
-
if (resources == null) {
- resources =
session.getService(ProjectManager.class).getResources(project,
ProjectScope.TEST).stream()
- .map(ResourceUtils::newResource)
- .collect(Collectors.toList());
+ resources = session.getService(ProjectManager.class)
+ .getEnabledSourceRoots(project, ProjectScope.TEST,
Language.RESOURCES)
+ .map(ResourcesMojo::newResource)
+ .toList();
}
-
super.doExecute();
}
diff --git
a/src/test/java/org/apache/maven/plugins/resources/CopyResourcesMojoTest.java
b/src/test/java/org/apache/maven/plugins/resources/CopyResourcesMojoTest.java
index 287de4c..718087a 100644
---
a/src/test/java/org/apache/maven/plugins/resources/CopyResourcesMojoTest.java
+++
b/src/test/java/org/apache/maven/plugins/resources/CopyResourcesMojoTest.java
@@ -29,7 +29,7 @@ import org.apache.maven.api.plugin.testing.Basedir;
import org.apache.maven.api.plugin.testing.InjectMojo;
import org.apache.maven.api.plugin.testing.MojoTest;
import org.apache.maven.api.plugin.testing.stubs.SessionMock;
-import org.apache.maven.internal.impl.InternalSession;
+import org.apache.maven.impl.InternalSession;
import org.apache.maven.plugins.resources.stub.MavenProjectResourcesStub;
import org.apache.maven.shared.filtering.Resource;
import org.junit.jupiter.api.Test;
diff --git
a/src/test/java/org/apache/maven/plugins/resources/ResourcesMojoTest.java
b/src/test/java/org/apache/maven/plugins/resources/ResourcesMojoTest.java
index c014893..8f0263e 100644
--- a/src/test/java/org/apache/maven/plugins/resources/ResourcesMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/resources/ResourcesMojoTest.java
@@ -28,7 +28,6 @@ import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.Properties;
-import java.util.stream.Collectors;
import org.apache.maven.api.Project;
import org.apache.maven.api.di.Provides;
@@ -37,7 +36,7 @@ import org.apache.maven.api.plugin.testing.Basedir;
import org.apache.maven.api.plugin.testing.InjectMojo;
import org.apache.maven.api.plugin.testing.MojoTest;
import org.apache.maven.api.plugin.testing.stubs.SessionMock;
-import org.apache.maven.internal.impl.InternalSession;
+import org.apache.maven.impl.InternalSession;
import org.apache.maven.plugins.resources.stub.MavenProjectResourcesStub;
import org.apache.maven.shared.filtering.Resource;
import org.junit.jupiter.api.Test;
@@ -631,9 +630,21 @@ public class ResourcesMojoTest {
return new MavenProjectResourcesStub();
}
- private List<Resource> getResources(MavenProjectResourcesStub project) {
+ static List<Resource> getResources(MavenProjectResourcesStub project) {
return project.getBuild().getResources().stream()
- .map(ResourceUtils::newResource)
- .collect(Collectors.toList());
+ .map(ResourcesMojoTest::newResource)
+ .toList();
+ }
+
+ // TODO: temporary method before upgrade to new API.
+ private static Resource newResource(org.apache.maven.api.model.Resource
res) {
+ Resource resource = new Resource();
+ resource.setDirectory(res.getDirectory());
+ resource.setFiltering(res.isFiltering());
+ resource.setExcludes(res.getExcludes());
+ resource.setIncludes(res.getIncludes());
+ resource.setMergeId(res.getMergeId());
+ resource.setTargetPath(res.getTargetPath());
+ return resource;
}
}
diff --git
a/src/test/java/org/apache/maven/plugins/resources/TestResourcesTest.java
b/src/test/java/org/apache/maven/plugins/resources/TestResourcesTest.java
index 345bd14..d6054dd 100644
--- a/src/test/java/org/apache/maven/plugins/resources/TestResourcesTest.java
+++ b/src/test/java/org/apache/maven/plugins/resources/TestResourcesTest.java
@@ -21,7 +21,6 @@ package org.apache.maven.plugins.resources;
import java.nio.file.Paths;
import java.util.Collections;
import java.util.List;
-import java.util.stream.Collectors;
import org.apache.maven.api.Project;
import org.apache.maven.api.di.Provides;
@@ -30,7 +29,7 @@ import org.apache.maven.api.plugin.testing.Basedir;
import org.apache.maven.api.plugin.testing.InjectMojo;
import org.apache.maven.api.plugin.testing.MojoTest;
import org.apache.maven.api.plugin.testing.stubs.SessionMock;
-import org.apache.maven.internal.impl.InternalSession;
+import org.apache.maven.impl.InternalSession;
import org.apache.maven.plugins.resources.stub.MavenProjectResourcesStub;
import org.apache.maven.shared.filtering.Resource;
import org.codehaus.plexus.util.FileUtils;
@@ -107,9 +106,7 @@ public class TestResourcesTest {
return new MavenProjectResourcesStub();
}
- private List<Resource> getResources(MavenProjectResourcesStub project) {
- return project.getBuild().getResources().stream()
- .map(ResourceUtils::newResource)
- .collect(Collectors.toList());
+ private static List<Resource> getResources(MavenProjectResourcesStub
project) {
+ return ResourcesMojoTest.getResources(project);
}
}