Skip to content

Commit 35c2d75

Browse files
authored
[MRESOLVER-698] Update Maven4 to rc-3 (#684)
This implied several changes as well: * mvn4 supplier became Java 17 as well * two modules (wagon, mvn3 supplier) use Java 8 p-u/p-x, nothing in resolver uses it (tools uses it, but is not a resolver API) * mvn4 rc-3 classes with "restored" maven3 compat lost ability to work on JIMF, removed it from demos. * ported "prune plexus deps" from #655 --- https://issues.apache.org/jira/browse/MRESOLVER-698
1 parent bf07bfb commit 35c2d75

File tree

6 files changed

+15
-27
lines changed

6 files changed

+15
-27
lines changed

.github/workflows/maven-verify.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@ jobs:
2929
ff-run: false
3030
ff-site-run: false
3131
jdk-matrix: '[ "21" ]'
32-
maven-matrix: '[ "3.9.9", "4.0.0-rc-2" ]'
32+
maven-matrix: '[ "3.9.9", "4.0.0-rc-3" ]'
3333
verify-fail-fast: false
3434

maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/Booter.java

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,12 @@
1818
*/
1919
package org.apache.maven.resolver.examples.util;
2020

21-
import java.io.IOException;
22-
import java.io.UncheckedIOException;
23-
import java.nio.file.FileSystem;
21+
import java.nio.file.Path;
2422
import java.nio.file.Paths;
2523
import java.util.ArrayList;
2624
import java.util.Collections;
2725
import java.util.List;
2826

29-
import com.google.common.jimfs.Configuration;
30-
import com.google.common.jimfs.Jimfs;
3127
import org.eclipse.aether.RepositorySystem;
3228
import org.eclipse.aether.RepositorySystemSession;
3329
import org.eclipse.aether.RepositorySystemSession.SessionBuilder;
@@ -66,11 +62,10 @@ public static RepositorySystem newRepositorySystem(final String factory) {
6662
}
6763

6864
public static SessionBuilder newRepositorySystemSession(RepositorySystem system) {
69-
FileSystem fs = Jimfs.newFileSystem(Configuration.unix());
7065
SessionBuilder result = new SessionBuilderSupplier(system)
7166
.get()
7267
.setSystemProperties(System.getProperties())
73-
.withLocalRepositoryBaseDirectories(fs.getPath("local-repo"))
68+
.withLocalRepositoryBaseDirectories(Path.of("target/local-repo"))
7469
.setRepositoryListener(new ConsoleRepositoryListener())
7570
.setTransferListener(new ConsoleTransferListener())
7671
.setConfigProperty("aether.generator.gpg.enabled", Boolean.TRUE.toString())
@@ -80,13 +75,6 @@ public static SessionBuilder newRepositorySystemSession(RepositorySystem system)
8075
.toAbsolutePath()
8176
.toString())
8277
.setConfigProperty("aether.syncContext.named.factory", "noop");
83-
result.addOnSessionEndedHandler(() -> {
84-
try {
85-
fs.close();
86-
} catch (IOException e) {
87-
throw new UncheckedIOException(e);
88-
}
89-
});
9078

9179
// uncomment to generate dirty trees
9280
// session.setDependencyGraphTransformer( null );

maven-resolver-supplier-mvn3/pom.xml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,13 +122,11 @@
122122
<groupId>org.slf4j</groupId>
123123
<artifactId>slf4j-api</artifactId>
124124
</dependency>
125-
<dependency>
126-
<groupId>org.codehaus.plexus</groupId>
127-
<artifactId>plexus-utils</artifactId>
128-
</dependency>
129125
<dependency>
130126
<groupId>org.codehaus.plexus</groupId>
131127
<artifactId>plexus-xml</artifactId>
128+
<version>3.0.1</version>
129+
<scope>runtime</scope>
132130
</dependency>
133131

134132
<dependency>

maven-resolver-transport-wagon/pom.xml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@
4949
<artifactId>wagon-provider-api</artifactId>
5050
<version>3.5.3</version>
5151
</dependency>
52+
<dependency>
53+
<groupId>org.slf4j</groupId>
54+
<artifactId>slf4j-api</artifactId>
55+
</dependency>
5256
<dependency>
5357
<groupId>javax.inject</groupId>
5458
<artifactId>javax.inject</artifactId>
@@ -64,11 +68,13 @@
6468
<dependency>
6569
<groupId>org.codehaus.plexus</groupId>
6670
<artifactId>plexus-utils</artifactId>
71+
<version>4.0.2</version>
6772
<optional>true</optional>
6873
</dependency>
6974
<dependency>
7075
<groupId>org.codehaus.plexus</groupId>
7176
<artifactId>plexus-xml</artifactId>
77+
<version>3.0.1</version>
7278
<optional>true</optional>
7379
</dependency>
7480
<dependency>
@@ -93,10 +99,6 @@
9399
<version>1.5.0</version>
94100
<scope>test</scope>
95101
</dependency>
96-
<dependency>
97-
<groupId>org.slf4j</groupId>
98-
<artifactId>slf4j-api</artifactId>
99-
</dependency>
100102
<dependency>
101103
<groupId>org.slf4j</groupId>
102104
<artifactId>slf4j-simple</artifactId>

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,10 @@
113113
<versions.junit5>5.12.1</versions.junit5>
114114

115115
<!-- Used by Jetty Transport (client) and Test HTTP (server) -->
116-
<jettyVersion>10.0.24</jettyVersion>
116+
<jettyVersion>10.0.25</jettyVersion>
117117
<!-- used by supplier and demo only -->
118118
<maven3Version>3.9.9</maven3Version>
119-
<maven4Version>4.0.0-rc-1</maven4Version>
119+
<maven4Version>4.0.0-rc-3</maven4Version>
120120
<minimalMavenBuildVersion>[3.8.8,)</minimalMavenBuildVersion>
121121
<!-- MRESOLVER-422: keep this in sync with Javadoc plugin configuration (but cannot directly, as this below is range) -->
122122
<minimalJavaBuildVersion>[21,)</minimalJavaBuildVersion>
@@ -253,7 +253,7 @@
253253
<dependency>
254254
<groupId>org.codehaus.plexus</groupId>
255255
<artifactId>plexus-xml</artifactId>
256-
<version>3.0.1</version>
256+
<version>4.1.0</version>
257257
</dependency>
258258

259259
<dependency>

src/site/markdown/configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ under the License.
8383
| `"aether.named.ipc.nofork"` | `Boolean` | Should the IPC server not fork? (i.e. for testing purposes) | `false` | 2.0.1 | No | Java System Properties |
8484
| `"aether.named.ipc.nonative"` | `Boolean` | Should the IPC server not use native executable? | `true` | 2.0.1 | No | Java System Properties |
8585
| `"aether.offline.hosts"` | `String` | Comma-separated list of hosts which are supposed to be resolved when session is offline. | - | | No | Session Configuration |
86-
| `"aether.offline.protocols"` | `String` | Comma-separated list of protocols which are supposed to be accessed when session is offline. | - | | No | Session Configuration |
86+
| `"aether.offline.protocols"` | `String` | Comma-separated list of protocols which are supposed to be resolved when session is offline. | - | | No | Session Configuration |
8787
| `"aether.offline.repositories"` | `String` | Comma-separated list of repository IDs which are supposed to be resolved when session is offline. | - | TBD | No | Session Configuration |
8888
| `"aether.priority.<class>"` | `Float` | The priority to use for a certain extension class. <code>&lt;class&gt;</code> can either be the fully qualified name or the simple name of a class. If the class name ends with Factory that suffix could optionally be left out. This configuration is used by <code>org.eclipse.aether.internal.impl.PrioritizedComponents</code> internal utility to sort classes by priority. This is reusable utility (so an extension can make use of it), but by default in "vanilla" Resolver following classes are sorted: <ul> <li> <code>org.eclipse.aether.spi.localrepo.LocalRepositoryManagerFactory</code> </li> <li> <code>org.eclipse.aether.spi.connector.RepositoryConnectorFactory</code> </li> <li> <code>org.eclipse.aether.spi.connector.layout.RepositoryLayoutFactory</code> </li> <li> <code>org.eclipse.aether.spi.connector.transport.TransporterFactory</code> </li> <li> <code>org.eclipse.aether.spi.artifact.decorator.ArtifactDecoratorFactory</code> </li> <li> <code>org.eclipse.aether.spi.artifact.generator.ArtifactGeneratorFactory</code> </li> <li> <code>org.eclipse.aether.impl.MetadataGeneratorFactory</code> </li> </ul> | - | | No | Session Configuration |
8989
| `"aether.priority.cached"` | `Boolean` | A flag indicating whether the created ordered components should be cached in session. | `true` | 2.0.0 | No | Session Configuration |

0 commit comments

Comments
 (0)