Skip to content

Commit 06f07e9

Browse files
authored
upgrade resources plugin shared filtering (#164)
* Upgrade maven-filtering to 3.5.0 * Fix upgrade of resources filtering and add it for mod files --------- Signed-off-by: Olivier Lamy <olamy@apache.org>
1 parent 2084887 commit 06f07e9

File tree

14 files changed

+183
-75
lines changed

14 files changed

+183
-75
lines changed

.github/workflows/maven.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,5 @@ jobs:
2727
build:
2828
name: Maven Build CI
2929
uses: jetty-project/.github/.github/workflows/maven-ci.yml@master
30+
with:
31+
jdk-matrix: '[ "17", "21", "25 ]'

Jenkinsfile

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,31 +11,31 @@ pipeline {
1111
stages {
1212
stage( "Parallel Stage" ) {
1313
parallel {
14-
stage( "Build / Test - JDK11" ) {
14+
stage( "Build / Test - JDK17" ) {
1515
agent { node { label 'linux-light' } }
1616
options { timeout( time: 120, unit: 'MINUTES' ) }
1717
steps {
18-
mavenBuild( "jdk11", "clean install javadoc:jar" )
18+
mavenBuild( "jdk17", "clean install javadoc:jar" )
1919
warnings consoleParsers: [[parserName: 'Maven'], [parserName: 'Java']]
2020
script {
2121
if (env.BRANCH_NAME == 'main') {
22-
mavenBuild( "jdk11", "deploy" )
22+
mavenBuild( "jdk17", "deploy" )
2323
}
2424
}
2525
}
2626
}
27-
stage( "Build / Test - JDK17" ) {
27+
stage( "Build / Test - JDK21" ) {
2828
agent { node { label 'linux-light' } }
2929
options { timeout( time: 120, unit: 'MINUTES' ) }
3030
steps {
31-
mavenBuild( "jdk17", "clean install javadoc:jar" )
31+
mavenBuild( "jdk21", "clean install javadoc:jar" )
3232
}
3333
}
34-
stage( "Build / Test - JDK21" ) {
34+
stage( "Build / Test - JDK25" ) {
3535
agent { node { label 'linux-light' } }
3636
options { timeout( time: 120, unit: 'MINUTES' ) }
3737
steps {
38-
mavenBuild( "jdk21", "clean install javadoc:jar" )
38+
mavenBuild( "jdk25", "clean install javadoc:jar" )
3939
}
4040
}
4141
}

pom.xml

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
</developer>
4646
</developers>
4747
<prerequisites>
48-
<maven>3.8.2</maven>
48+
<maven>3.9.12</maven>
4949
</prerequisites>
5050

5151
<scm>
@@ -90,7 +90,17 @@
9090
<dependency>
9191
<groupId>org.apache.maven.shared</groupId>
9292
<artifactId>maven-filtering</artifactId>
93-
<version>3.4.0</version>
93+
<version>3.5.0</version>
94+
</dependency>
95+
<dependency>
96+
<groupId>org.codehaus.plexus</groupId>
97+
<artifactId>plexus-utils</artifactId>
98+
<version>4.0.0</version>
99+
</dependency>
100+
<dependency>
101+
<groupId>org.codehaus.plexus</groupId>
102+
<artifactId>plexus-xml</artifactId>
103+
<version>3.0.2</version>
94104
</dependency>
95105
<dependency>
96106
<groupId>org.hamcrest</groupId>
@@ -121,12 +131,6 @@
121131
<version>3.15.1</version>
122132
<scope>provided</scope>
123133
</dependency>
124-
<dependency>
125-
<groupId>junit</groupId>
126-
<artifactId>junit</artifactId>
127-
<version>4.13.2</version>
128-
<scope>test</scope>
129-
</dependency>
130134
<dependency>
131135
<groupId>org.apache.maven</groupId>
132136
<artifactId>maven-compat</artifactId>
@@ -136,7 +140,13 @@
136140
<dependency>
137141
<groupId>org.apache.maven.plugin-testing</groupId>
138142
<artifactId>maven-plugin-testing-harness</artifactId>
139-
<version>3.3.0</version>
143+
<version>3.5.1</version>
144+
<scope>test</scope>
145+
</dependency>
146+
<dependency>
147+
<groupId>org.junit.jupiter</groupId>
148+
<artifactId>junit-jupiter-api</artifactId>
149+
<version>5.14.1</version>
140150
<scope>test</scope>
141151
</dependency>
142152
<dependency>
@@ -278,6 +288,19 @@
278288
</execution>
279289
</executions>
280290
</plugin>
291+
<plugin>
292+
<groupId>org.eclipse.sisu</groupId>
293+
<artifactId>sisu-maven-plugin</artifactId>
294+
<version>0.9.0.M3</version>
295+
<executions>
296+
<execution>
297+
<id>index-project</id>
298+
<goals>
299+
<goal>main-index</goal>
300+
</goals>
301+
</execution>
302+
</executions>
303+
</plugin>
281304
</plugins>
282305
</build>
283306

src/it/filtering-it/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<plugin>
2323
<groupId>org.apache.maven.plugins</groupId>
2424
<artifactId>maven-resources-plugin</artifactId>
25-
<version>3.2.0</version>
25+
<version>3.5.0</version>
2626
<configuration>
2727
<nonFilteredFileExtensions>
2828
<nonFilteredFileExtension>p12</nonFilteredFileExtension>
@@ -47,7 +47,7 @@
4747
<dependency>
4848
<groupId>org.apache.maven.shared</groupId>
4949
<artifactId>maven-filtering</artifactId>
50-
<version>3.3.0</version>
50+
<version>3.5.0</version>
5151
</dependency>
5252
<dependency>
5353
<groupId>@project.groupId@</groupId>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
invoker.goals = generate-test-resources

src/it/mod-files-it/pom.xml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4+
<modelVersion>4.0.0</modelVersion>
5+
6+
<groupId>org.eclipse.jetty.toolchain.it</groupId>
7+
<artifactId>mod-files-it</artifactId>
8+
<version>1.0-SNAPSHOT</version>
9+
10+
<description>A simple IT verifying the mod-files filtering use case.</description>
11+
12+
<properties>
13+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
14+
<test.property>hello-world</test.property>
15+
</properties>
16+
17+
<dependencyManagement>
18+
<dependencies>
19+
<dependency>
20+
<groupId>commons-io</groupId>
21+
<artifactId>commons-io</artifactId>
22+
<version>2.20.0</version>
23+
</dependency>
24+
</dependencies>
25+
</dependencyManagement>
26+
27+
<dependencies>
28+
<dependency>
29+
<groupId>commons-io</groupId>
30+
<artifactId>commons-io</artifactId>
31+
<version>2.20.0</version>
32+
</dependency>
33+
</dependencies>
34+
35+
<build>
36+
<plugins>
37+
<plugin>
38+
<groupId>org.apache.maven.plugins</groupId>
39+
<artifactId>maven-resources-plugin</artifactId>
40+
<version>3.5.0</version>
41+
<dependencies>
42+
<dependency>
43+
<groupId>org.apache.maven.shared</groupId>
44+
<artifactId>maven-filtering</artifactId>
45+
<version>3.5.0</version>
46+
</dependency>
47+
<dependency>
48+
<groupId>@project.groupId@</groupId>
49+
<artifactId>@project.artifactId@</artifactId>
50+
<version>@project.version@</version>
51+
</dependency>
52+
</dependencies>
53+
<executions>
54+
<execution>
55+
<id>copy-mod-files</id>
56+
<phase>generate-test-resources</phase>
57+
<goals>
58+
<goal>copy-resources</goal>
59+
</goals>
60+
<configuration>
61+
<mavenFilteringHints>
62+
<mavenFilteringHint>mod-files</mavenFilteringHint>
63+
</mavenFilteringHints>
64+
<outputDirectory>${project.build.testOutputDirectory}</outputDirectory>
65+
<resources>
66+
<resource>
67+
<filtering>true</filtering>
68+
<directory>src/main/config</directory>
69+
</resource>
70+
</resources>
71+
</configuration>
72+
</execution>
73+
</executions>
74+
</plugin>
75+
</plugins>
76+
</build>
77+
78+
</project>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Test mod file
2+
lib=@commons-io:commons-io@
3+
prop=@test.property@

src/it/mod-files-it/verify.groovy

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
File result = new File(basedir, "target/test-classes/test.mod")
2+
assert result.isFile()
3+
assert result.text.contains('commons-io-2.20.0.jar')
4+
assert result.text.contains('hello-world')
5+
assert !result.text.contains('@commons-io:commons-io@')
6+
assert !result.text.contains('@test.property@')

src/main/java/org/eclipse/jetty/toolchain/modifysources/ModFilesFiltering.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313

1414
package org.eclipse.jetty.toolchain.modifysources;
1515

16-
import com.google.inject.Singleton;
1716
import org.apache.commons.text.StringSubstitutor;
1817
import org.apache.commons.text.lookup.StringLookup;
1918
import org.apache.maven.model.Dependency;
2019
import org.apache.maven.project.MavenProject;
20+
import org.apache.maven.shared.filtering.ChangeDetection;
2121
import org.apache.maven.shared.filtering.DefaultMavenFileFilter;
2222
import org.apache.maven.shared.filtering.DefaultMavenResourcesFiltering;
2323
import org.apache.maven.shared.filtering.FilterWrapper;
@@ -31,6 +31,7 @@
3131

3232
import javax.inject.Inject;
3333
import javax.inject.Named;
34+
import javax.inject.Singleton;
3435
import java.io.File;
3536
import java.io.IOException;
3637
import java.nio.charset.StandardCharsets;
@@ -75,7 +76,7 @@ public JettyModFilesFileFilter(BuildContext buildContext) {
7576

7677
@Override
7778
public void copyFile(File from, final File to, boolean filtering, List<FilterWrapper> filterWrappers,
78-
String encoding, boolean overwrite )
79+
String encoding, ChangeDetection changeDetection)
7980
throws MavenFilteringException {
8081

8182
MavenProject mavenProject = CURRENT_PROJECT.get();

src/main/java/org/eclipse/jetty/toolchain/modifysources/ModifyEE9ToEE8.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -721,4 +721,20 @@ protected void setSourceProjectLocation(File sourceProjectLocation) {
721721
protected void setMoveDirectoryStructure(boolean moveDirectoryStructure) {
722722
this.moveDirectoryStructure = moveDirectoryStructure;
723723
}
724+
725+
public File getSourceProjectLocation() {
726+
return sourceProjectLocation;
727+
}
728+
729+
public File getOutputDirectory() {
730+
return outputDirectory;
731+
}
732+
733+
public boolean isSkip() {
734+
return skip;
735+
}
736+
737+
public boolean isMoveDirectoryStructure() {
738+
return moveDirectoryStructure;
739+
}
724740
}

0 commit comments

Comments
 (0)