Skip to content

Commit dce5f4c

Browse files
authored
Upgrade to Maven 4.0.0-rc-4. (#415)
1 parent 0f380e7 commit dce5f4c

File tree

8 files changed

+47
-67
lines changed

8 files changed

+47
-67
lines changed

.github/workflows/maven-verify.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@ jobs:
2626
name: Verify
2727
uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v4
2828
with:
29-
ff-maven: "4.0.0-rc-2" # Maven version for fail-fast-build
30-
maven-matrix: '[ "4.0.0-rc-2" ]'
29+
ff-maven: "4.0.0-rc-4" # Maven version for fail-fast-build
30+
maven-matrix: '[ "4.0.0-rc-4" ]'
3131
jdk-matrix: '[ "17", "21" ]'

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,13 +72,13 @@ under the License.
7272
</distributionManagement>
7373

7474
<properties>
75-
<mavenVersion>4.0.0-rc-2</mavenVersion>
75+
<mavenVersion>4.0.0-rc-4</mavenVersion>
7676
<javaVersion>17</javaVersion>
7777

7878
<guiceVersion>6.0.0</guiceVersion>
7979
<mavenFilteringVersion>4.0.0-beta-1</mavenFilteringVersion>
8080
<mavenPluginPluginVersion>4.0.0-beta-1</mavenPluginPluginVersion>
81-
<mavenPluginTestingVersion>4.0.0-beta-3</mavenPluginTestingVersion>
81+
<mavenPluginTestingVersion>4.0.0-beta-4</mavenPluginTestingVersion>
8282
<plexusBuildApiVersion>0.0.7</plexusBuildApiVersion>
8383
<sisuVersion>0.9.0.M3</sisuVersion>
8484
<slf4jVersion>2.0.13</slf4jVersion>

src/main/java/org/apache/maven/plugins/resources/ResourceUtils.java

Lines changed: 0 additions & 35 deletions
This file was deleted.

src/main/java/org/apache/maven/plugins/resources/ResourcesMojo.java

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,12 @@
2626
import java.util.List;
2727
import java.util.Map;
2828
import java.util.Properties;
29-
import java.util.stream.Collectors;
3029

30+
import org.apache.maven.api.Language;
3131
import org.apache.maven.api.Project;
3232
import org.apache.maven.api.ProjectScope;
3333
import org.apache.maven.api.Session;
34+
import org.apache.maven.api.SourceRoot;
3435
import org.apache.maven.api.di.Inject;
3536
import org.apache.maven.api.plugin.Log;
3637
import org.apache.maven.api.plugin.MojoException;
@@ -296,16 +297,25 @@ public void execute() throws MojoException {
296297
getLog().info("Skipping the execution.");
297298
return;
298299
}
299-
300300
if (resources == null) {
301-
resources = session.getService(ProjectManager.class).getResources(project, ProjectScope.MAIN).stream()
302-
.map(ResourceUtils::newResource)
303-
.collect(Collectors.toList());
301+
resources = session.getService(ProjectManager.class)
302+
.getEnabledSourceRoots(project, ProjectScope.MAIN, Language.RESOURCES)
303+
.map(ResourcesMojo::newResource)
304+
.toList();
304305
}
305-
306306
doExecute();
307307
}
308308

309+
static Resource newResource(SourceRoot res) {
310+
Resource resource = new Resource();
311+
resource.setDirectory(res.directory().toString());
312+
resource.setFiltering(res.stringFiltering());
313+
resource.setExcludes(res.excludes());
314+
resource.setIncludes(res.includes());
315+
res.targetPath().ifPresent((p) -> resource.setTargetPath(p.toString()));
316+
return resource;
317+
}
318+
309319
protected void doExecute() throws MojoException {
310320
if ((encoding == null || encoding.isEmpty()) && isFilteringEnabled(getResources())) {
311321
getLog().warn("File encoding has not been set, using platform encoding "
@@ -315,14 +325,12 @@ protected void doExecute() throws MojoException {
315325
}
316326

317327
try {
318-
List<String> combinedFilters = getCombinedFiltersList();
319-
320328
MavenResourcesExecution mavenResourcesExecution = new MavenResourcesExecution(
321329
getResources(),
322330
getOutputDirectory(),
323331
project,
324332
encoding,
325-
combinedFilters,
333+
getCombinedFiltersList(),
326334
Collections.emptyList(),
327335
session);
328336

@@ -426,7 +434,7 @@ protected List<String> getCombinedFiltersList() {
426434
} else {
427435
List<String> result = new ArrayList<>();
428436

429-
if (useBuildFilters && buildFilters != null && !buildFilters.isEmpty()) {
437+
if (useBuildFilters && buildFilters != null) {
430438
result.addAll(buildFilters);
431439
}
432440

src/main/java/org/apache/maven/plugins/resources/TestResourcesMojo.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020

2121
import java.nio.file.Path;
2222
import java.util.List;
23-
import java.util.stream.Collectors;
2423

24+
import org.apache.maven.api.Language;
2525
import org.apache.maven.api.ProjectScope;
2626
import org.apache.maven.api.plugin.MojoException;
2727
import org.apache.maven.api.plugin.annotations.Mojo;
@@ -66,13 +66,12 @@ public void execute() throws MojoException {
6666
getLog().info("Not copying test resources");
6767
return;
6868
}
69-
7069
if (resources == null) {
71-
resources = session.getService(ProjectManager.class).getResources(project, ProjectScope.TEST).stream()
72-
.map(ResourceUtils::newResource)
73-
.collect(Collectors.toList());
70+
resources = session.getService(ProjectManager.class)
71+
.getEnabledSourceRoots(project, ProjectScope.TEST, Language.RESOURCES)
72+
.map(ResourcesMojo::newResource)
73+
.toList();
7474
}
75-
7675
super.doExecute();
7776
}
7877

src/test/java/org/apache/maven/plugins/resources/CopyResourcesMojoTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import org.apache.maven.api.plugin.testing.InjectMojo;
3030
import org.apache.maven.api.plugin.testing.MojoTest;
3131
import org.apache.maven.api.plugin.testing.stubs.SessionMock;
32-
import org.apache.maven.internal.impl.InternalSession;
32+
import org.apache.maven.impl.InternalSession;
3333
import org.apache.maven.plugins.resources.stub.MavenProjectResourcesStub;
3434
import org.apache.maven.shared.filtering.Resource;
3535
import org.junit.jupiter.api.Test;

src/test/java/org/apache/maven/plugins/resources/ResourcesMojoTest.java

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import java.util.LinkedList;
2929
import java.util.List;
3030
import java.util.Properties;
31-
import java.util.stream.Collectors;
3231

3332
import org.apache.maven.api.Project;
3433
import org.apache.maven.api.di.Provides;
@@ -37,7 +36,7 @@
3736
import org.apache.maven.api.plugin.testing.InjectMojo;
3837
import org.apache.maven.api.plugin.testing.MojoTest;
3938
import org.apache.maven.api.plugin.testing.stubs.SessionMock;
40-
import org.apache.maven.internal.impl.InternalSession;
39+
import org.apache.maven.impl.InternalSession;
4140
import org.apache.maven.plugins.resources.stub.MavenProjectResourcesStub;
4241
import org.apache.maven.shared.filtering.Resource;
4342
import org.junit.jupiter.api.Test;
@@ -631,9 +630,21 @@ private static Project createProject() throws Exception {
631630
return new MavenProjectResourcesStub();
632631
}
633632

634-
private List<Resource> getResources(MavenProjectResourcesStub project) {
633+
static List<Resource> getResources(MavenProjectResourcesStub project) {
635634
return project.getBuild().getResources().stream()
636-
.map(ResourceUtils::newResource)
637-
.collect(Collectors.toList());
635+
.map(ResourcesMojoTest::newResource)
636+
.toList();
637+
}
638+
639+
// TODO: temporary method before upgrade to new API.
640+
private static Resource newResource(org.apache.maven.api.model.Resource res) {
641+
Resource resource = new Resource();
642+
resource.setDirectory(res.getDirectory());
643+
resource.setFiltering(res.isFiltering());
644+
resource.setExcludes(res.getExcludes());
645+
resource.setIncludes(res.getIncludes());
646+
resource.setMergeId(res.getMergeId());
647+
resource.setTargetPath(res.getTargetPath());
648+
return resource;
638649
}
639650
}

src/test/java/org/apache/maven/plugins/resources/TestResourcesTest.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import java.nio.file.Paths;
2222
import java.util.Collections;
2323
import java.util.List;
24-
import java.util.stream.Collectors;
2524

2625
import org.apache.maven.api.Project;
2726
import org.apache.maven.api.di.Provides;
@@ -30,7 +29,7 @@
3029
import org.apache.maven.api.plugin.testing.InjectMojo;
3130
import org.apache.maven.api.plugin.testing.MojoTest;
3231
import org.apache.maven.api.plugin.testing.stubs.SessionMock;
33-
import org.apache.maven.internal.impl.InternalSession;
32+
import org.apache.maven.impl.InternalSession;
3433
import org.apache.maven.plugins.resources.stub.MavenProjectResourcesStub;
3534
import org.apache.maven.shared.filtering.Resource;
3635
import org.codehaus.plexus.util.FileUtils;
@@ -107,9 +106,7 @@ private static Project createProject() throws Exception {
107106
return new MavenProjectResourcesStub();
108107
}
109108

110-
private List<Resource> getResources(MavenProjectResourcesStub project) {
111-
return project.getBuild().getResources().stream()
112-
.map(ResourceUtils::newResource)
113-
.collect(Collectors.toList());
109+
private static List<Resource> getResources(MavenProjectResourcesStub project) {
110+
return ResourcesMojoTest.getResources(project);
114111
}
115112
}

0 commit comments

Comments
 (0)