This is an automated email from the ASF dual-hosted git repository.
cstamas pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-resolver.git
The following commit(s) were added to refs/heads/master by this push:
new 69685ea22 Return JimFS in demo (#1606)
69685ea22 is described below
commit 69685ea22444528ec095c449fb41bd5639068203
Author: Tamas Cservenak <[email protected]>
AuthorDate: Tue Sep 30 22:14:50 2025 +0200
Return JimFS in demo (#1606)
To safeguard against failing back to old file ops.
---
.../maven-resolver-demo-snippets/pom.xml | 5 ++
.../examples/DependencyHierarchyWithRanges.java | 2 +-
.../maven/resolver/examples/DeployArtifacts.java | 4 +-
.../resolver/examples/FindAvailableVersions.java | 4 +-
.../maven/resolver/examples/FindNewestVersion.java | 4 +-
.../resolver/examples/GetDependencyHierarchy.java | 2 +-
.../GetDependencyHierarchyWithConflicts.java | 4 +-
...DependencyHierarchyWithConflictsStrategies.java | 2 +-
.../maven/resolver/examples/GetDependencyTree.java | 4 +-
.../resolver/examples/GetDirectDependencies.java | 4 +-
.../maven/resolver/examples/InstallArtifacts.java | 4 +-
.../maven/resolver/examples/ResolveArtifact.java | 6 +-
.../examples/ResolveTransitiveDependencies.java | 4 +-
.../resolver/examples/ReverseDependencyTree.java | 2 +-
.../maven/resolver/examples/resolver/Resolver.java | 22 ++++----
.../resolver/examples/resolver/ResolverDemo.java | 12 ++--
.../maven/resolver/examples/util/Booter.java | 66 ++++++++++++++++------
.../resolver/examples/AllResolverDemosTest.java | 20 ++++---
.../java/org/eclipse/aether/util/FileUtils.java | 5 +-
19 files changed, 109 insertions(+), 67 deletions(-)
diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/pom.xml
b/maven-resolver-demos/maven-resolver-demo-snippets/pom.xml
index fb39f5039..13c36600f 100644
--- a/maven-resolver-demos/maven-resolver-demo-snippets/pom.xml
+++ b/maven-resolver-demos/maven-resolver-demo-snippets/pom.xml
@@ -141,5 +141,10 @@
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-params</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/DependencyHierarchyWithRanges.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/DependencyHierarchyWithRanges.java
index 56aa2a539..12f2f5ff7 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/DependencyHierarchyWithRanges.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/DependencyHierarchyWithRanges.java
@@ -53,7 +53,7 @@ public class DependencyHierarchyWithRanges {
System.out.println(DependencyHierarchyWithRanges.class.getSimpleName());
try (RepositorySystem system =
Booter.newRepositorySystem(Booter.selectFactory(args))) {
- SessionBuilder sessionBuilder =
Booter.newRepositorySystemSession(system);
+ SessionBuilder sessionBuilder =
Booter.newRepositorySystemSession(system, Booter.selectFs(args));
sessionBuilder.setChecksumPolicy(RepositoryPolicy.CHECKSUM_POLICY_IGNORE); //
to not bother with checksums
sessionBuilder.setConfigProperty(ConflictResolver.CONFIG_PROP_VERBOSE, true);
sessionBuilder.setConfigProperty(DependencyManagerUtils.CONFIG_PROP_VERBOSE,
true);
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/DeployArtifacts.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/DeployArtifacts.java
index fcdd99644..fc141c935 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/DeployArtifacts.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/DeployArtifacts.java
@@ -44,8 +44,8 @@ public class DeployArtifacts {
System.out.println(DeployArtifacts.class.getSimpleName());
try (RepositorySystem system =
Booter.newRepositorySystem(Booter.selectFactory(args));
- CloseableSession session =
- Booter.newRepositorySystemSession(system).build()) {
+ CloseableSession session =
Booter.newRepositorySystemSession(system, Booter.selectFs(args))
+ .build()) {
Artifact jarArtifact =
new DefaultArtifact("test",
"org.apache.maven.aether.examples", "", "jar", "0.1-SNAPSHOT");
jarArtifact = jarArtifact.setPath(new
File("src/main/data/demo.jar").toPath());
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/FindAvailableVersions.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/FindAvailableVersions.java
index ced5cad09..d1232b1e4 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/FindAvailableVersions.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/FindAvailableVersions.java
@@ -44,8 +44,8 @@ public class FindAvailableVersions {
System.out.println(FindAvailableVersions.class.getSimpleName());
try (RepositorySystem system =
Booter.newRepositorySystem(Booter.selectFactory(args));
- CloseableSession session =
- Booter.newRepositorySystemSession(system).build()) {
+ CloseableSession session =
Booter.newRepositorySystemSession(system, Booter.selectFs(args))
+ .build()) {
Artifact artifact = new
DefaultArtifact("org.apache.maven.resolver:maven-resolver-util:[0,)");
VersionRangeRequest rangeRequest = new VersionRangeRequest();
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/FindNewestVersion.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/FindNewestVersion.java
index c92e9b369..94f46fd0d 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/FindNewestVersion.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/FindNewestVersion.java
@@ -41,8 +41,8 @@ public class FindNewestVersion {
System.out.println(FindNewestVersion.class.getSimpleName());
try (RepositorySystem system =
Booter.newRepositorySystem(Booter.selectFactory(args));
- CloseableSession session =
- Booter.newRepositorySystemSession(system).build()) {
+ CloseableSession session =
Booter.newRepositorySystemSession(system, Booter.selectFs(args))
+ .build()) {
Artifact artifact = new
DefaultArtifact("org.apache.maven.resolver:maven-resolver-util:[0,)");
VersionRangeRequest rangeRequest = new VersionRangeRequest();
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDependencyHierarchy.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDependencyHierarchy.java
index 28f6c6700..3b337e08d 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDependencyHierarchy.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDependencyHierarchy.java
@@ -52,7 +52,7 @@ public class GetDependencyHierarchy {
System.out.println(GetDependencyHierarchy.class.getSimpleName());
try (RepositorySystem system =
Booter.newRepositorySystem(Booter.selectFactory(args))) {
- SessionBuilder sessionBuilder =
Booter.newRepositorySystemSession(system);
+ SessionBuilder sessionBuilder =
Booter.newRepositorySystemSession(system, Booter.selectFs(args));
sessionBuilder.setConfigProperty(ConflictResolver.CONFIG_PROP_VERBOSE, true);
sessionBuilder.setConfigProperty(DependencyManagerUtils.CONFIG_PROP_VERBOSE,
true);
try (CloseableSession session = sessionBuilder.build()) {
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDependencyHierarchyWithConflicts.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDependencyHierarchyWithConflicts.java
index 7d80b1fde..dfbd84020 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDependencyHierarchyWithConflicts.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDependencyHierarchyWithConflicts.java
@@ -54,7 +54,7 @@ public class GetDependencyHierarchyWithConflicts {
// incompatible versions: two incompatible versions present in graph
try (RepositorySystem system =
Booter.newRepositorySystem(Booter.selectFactory(args))) {
- SessionBuilder sessionBuilder =
Booter.newRepositorySystemSession(system);
+ SessionBuilder sessionBuilder =
Booter.newRepositorySystemSession(system, Booter.selectFs(args));
sessionBuilder.setConfigProperty(ConflictResolver.CONFIG_PROP_VERBOSE, true);
sessionBuilder.setConfigProperty(DependencyManagerUtils.CONFIG_PROP_VERBOSE,
true);
try (CloseableSession session = sessionBuilder
@@ -99,7 +99,7 @@ public class GetDependencyHierarchyWithConflicts {
// dependency divergence: multiple versions of same GA present in graph
try (RepositorySystem system =
Booter.newRepositorySystem(Booter.selectFactory(args))) {
- SessionBuilder sessionBuilder =
Booter.newRepositorySystemSession(system);
+ SessionBuilder sessionBuilder =
Booter.newRepositorySystemSession(system, Booter.selectFs(args));
sessionBuilder.setConfigProperty(ConflictResolver.CONFIG_PROP_VERBOSE, true);
sessionBuilder.setConfigProperty(DependencyManagerUtils.CONFIG_PROP_VERBOSE,
true);
try (CloseableSession session = sessionBuilder
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDependencyHierarchyWithConflictsStrategies.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDependencyHierarchyWithConflictsStrategies.java
index 870860d31..59ba857f0 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDependencyHierarchyWithConflictsStrategies.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDependencyHierarchyWithConflictsStrategies.java
@@ -82,7 +82,7 @@ public class GetDependencyHierarchyWithConflictsStrategies {
System.out.println();
System.out.println(selectionStrategy);
try (RepositorySystem system =
Booter.newRepositorySystem(Booter.selectFactory(args))) {
- SessionBuilder sessionBuilder =
Booter.newRepositorySystemSession(system);
+ SessionBuilder sessionBuilder =
Booter.newRepositorySystemSession(system, Booter.selectFs(args));
sessionBuilder.setConfigProperty(ConflictResolver.CONFIG_PROP_VERBOSE,
ConflictResolver.Verbosity.STANDARD);
sessionBuilder.setConfigProperty(DependencyManagerUtils.CONFIG_PROP_VERBOSE,
true);
sessionBuilder.setConfigProperty(
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDependencyTree.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDependencyTree.java
index dd2ed02ce..0cf08d0cc 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDependencyTree.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDependencyTree.java
@@ -42,8 +42,8 @@ public class GetDependencyTree {
System.out.println(GetDependencyTree.class.getSimpleName());
try (RepositorySystem system =
Booter.newRepositorySystem(Booter.selectFactory(args));
- CloseableSession session =
- Booter.newRepositorySystemSession(system).build()) {
+ CloseableSession session =
Booter.newRepositorySystemSession(system, Booter.selectFs(args))
+ .build()) {
Artifact artifact = new
DefaultArtifact("org.apache.maven:maven-resolver-provider:3.6.1");
CollectRequest collectRequest = new CollectRequest();
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDirectDependencies.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDirectDependencies.java
index 5e82a44b0..c4e32e8ec 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDirectDependencies.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/GetDirectDependencies.java
@@ -42,8 +42,8 @@ public class GetDirectDependencies {
System.out.println(GetDirectDependencies.class.getSimpleName());
try (RepositorySystem system =
Booter.newRepositorySystem(Booter.selectFactory(args));
- CloseableSession session =
- Booter.newRepositorySystemSession(system).build()) {
+ CloseableSession session =
Booter.newRepositorySystemSession(system, Booter.selectFs(args))
+ .build()) {
Artifact artifact = new
DefaultArtifact("org.apache.maven.resolver:maven-resolver-impl:1.3.3");
ArtifactDescriptorRequest descriptorRequest = new
ArtifactDescriptorRequest();
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/InstallArtifacts.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/InstallArtifacts.java
index d285f10b5..80ffc1d22 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/InstallArtifacts.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/InstallArtifacts.java
@@ -43,8 +43,8 @@ public class InstallArtifacts {
System.out.println(InstallArtifacts.class.getSimpleName());
try (RepositorySystem system =
Booter.newRepositorySystem(Booter.selectFactory(args));
- CloseableSession session =
- Booter.newRepositorySystemSession(system).build()) {
+ CloseableSession session =
Booter.newRepositorySystemSession(system, Booter.selectFs(args))
+ .build()) {
Artifact jarArtifact =
new DefaultArtifact("test",
"org.apache.maven.resolver.examples", "", "jar", "0.1-SNAPSHOT");
jarArtifact = jarArtifact.setPath(new
File("src/main/data/demo.jar").toPath());
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/ResolveArtifact.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/ResolveArtifact.java
index b41a10ab8..ce77e0fc2 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/ResolveArtifact.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/ResolveArtifact.java
@@ -46,8 +46,8 @@ public class ResolveArtifact {
ArtifactRequest artifactRequest;
ArtifactResult artifactResult;
- try (CloseableSession session =
- Booter.newRepositorySystemSession(system).build()) {
+ try (CloseableSession session =
Booter.newRepositorySystemSession(system, Booter.selectFs(args))
+ .build()) {
artifact = new
DefaultArtifact("org.apache.maven.resolver:maven-resolver-util:1.3.3");
artifactRequest = new ArtifactRequest();
@@ -62,7 +62,7 @@ public class ResolveArtifact {
}
// signature
- try (CloseableSession session =
Booter.newRepositorySystemSession(system)
+ try (CloseableSession session =
Booter.newRepositorySystemSession(system, Booter.selectFs(args))
.setChecksumPolicy(RepositoryPolicy.CHECKSUM_POLICY_FAIL)
.build()) {
artifact = new
DefaultArtifact("org.apache.maven.resolver:maven-resolver-util:jar.asc:1.3.3");
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/ResolveTransitiveDependencies.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/ResolveTransitiveDependencies.java
index a606c3524..007af9448 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/ResolveTransitiveDependencies.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/ResolveTransitiveDependencies.java
@@ -48,8 +48,8 @@ public class ResolveTransitiveDependencies {
System.out.println(ResolveTransitiveDependencies.class.getSimpleName());
try (RepositorySystem system =
Booter.newRepositorySystem(Booter.selectFactory(args));
- CloseableSession session =
- Booter.newRepositorySystemSession(system).build()) {
+ CloseableSession session =
Booter.newRepositorySystemSession(system, Booter.selectFs(args))
+ .build()) {
Artifact artifact = new
DefaultArtifact("org.apache.maven.resolver:maven-resolver-impl:1.3.3");
DependencyFilter classpathFilter =
DependencyFilterUtils.classpathFilter(JavaScopes.COMPILE);
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/ReverseDependencyTree.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/ReverseDependencyTree.java
index b730e4289..75841a987 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/ReverseDependencyTree.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/ReverseDependencyTree.java
@@ -45,7 +45,7 @@ public class ReverseDependencyTree {
System.out.println(ReverseDependencyTree.class.getSimpleName());
try (RepositorySystem system =
Booter.newRepositorySystem(Booter.selectFactory(args))) {
- try (CloseableSession session =
Booter.newRepositorySystemSession(system)
+ try (CloseableSession session =
Booter.newRepositorySystemSession(system, Booter.selectFs(args))
.withRepositoryListener(new
ReverseTreeRepositoryListener())
.setConfigProperty(ConflictResolver.CONFIG_PROP_VERBOSE,
true)
.setConfigProperty(DependencyManagerUtils.CONFIG_PROP_VERBOSE, true)
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/resolver/Resolver.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/resolver/Resolver.java
index a3c9b8fe7..b44f4011b 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/resolver/Resolver.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/resolver/Resolver.java
@@ -20,7 +20,6 @@ package org.apache.maven.resolver.examples.resolver;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
-import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import org.apache.maven.resolver.examples.util.Booter;
@@ -48,20 +47,23 @@ import
org.eclipse.aether.util.repository.AuthenticationBuilder;
/**
*/
public class Resolver {
+ private final String[] args;
+
private final String remoteRepository;
private final RepositorySystem repositorySystem;
private final LocalRepository localRepository;
- public Resolver(String factory, String remoteRepository, String
localRepository) {
+ public Resolver(String[] args, String remoteRepository, String
localRepository) {
+ this.args = args;
this.remoteRepository = remoteRepository;
- this.repositorySystem = Booter.newRepositorySystem(factory);
+ this.repositorySystem =
Booter.newRepositorySystem(Booter.selectFactory(args));
this.localRepository = new LocalRepository(localRepository);
}
private RepositorySystemSession newSession() {
- return Booter.newRepositorySystemSession(repositorySystem)
+ return Booter.newRepositorySystemSession(repositorySystem,
Booter.selectFs(args))
.withLocalRepositories(localRepository)
.setRepositoryListener(null)
.setTransferListener(null)
@@ -123,13 +125,9 @@ public class Resolver {
}
private void displayTree(DependencyNode node, StringBuilder sb) {
- try {
- ByteArrayOutputStream os = new ByteArrayOutputStream(1024);
- PrintStream ps = new PrintStream(os, true,
StandardCharsets.UTF_8.name());
- node.accept(new DependencyGraphDumper(ps::println));
- sb.append(os);
- } catch (UnsupportedEncodingException e) {
- throw new RuntimeException(e);
- }
+ ByteArrayOutputStream os = new ByteArrayOutputStream(1024);
+ PrintStream ps = new PrintStream(os, true, StandardCharsets.UTF_8);
+ node.accept(new DependencyGraphDumper(ps::println));
+ sb.append(os);
}
}
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/resolver/ResolverDemo.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/resolver/ResolverDemo.java
index 889161b93..7c0e70a46 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/resolver/ResolverDemo.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/resolver/ResolverDemo.java
@@ -21,7 +21,6 @@ package org.apache.maven.resolver.examples.resolver;
import java.io.File;
import java.util.List;
-import org.apache.maven.resolver.examples.util.Booter;
import org.eclipse.aether.artifact.Artifact;
import org.eclipse.aether.artifact.DefaultArtifact;
import org.eclipse.aether.deployment.DeploymentException;
@@ -38,8 +37,7 @@ public class ResolverDemo {
System.out.println("------------------------------------------------------------");
System.out.println(ResolverDemo.class.getSimpleName());
- Resolver resolver = new Resolver(
- Booter.selectFactory(args),
"https://repo.maven.apache.org/maven2/", "target/resolver-demo-repo");
+ Resolver resolver = new Resolver(args,
"https://repo.maven.apache.org/maven2/", "target/resolver-demo-repo");
ResolverResult result = resolver.resolve("junit", "junit", "4.13.2");
System.out.println("Result:");
@@ -48,9 +46,9 @@ public class ResolverDemo {
System.out.println("root=" + result.getRoot());
}
- public void resolve(final String factory) throws
DependencyResolutionException {
+ public void resolve(String[] args) throws DependencyResolutionException {
Resolver resolver =
- new Resolver(factory,
"http://localhost:8081/nexus/content/groups/public", "target/aether-repo");
+ new Resolver(args,
"http://localhost:8081/nexus/content/groups/public", "target/aether-repo");
ResolverResult result = resolver.resolve("com.mycompany.app",
"super-app", "1.0");
@@ -67,9 +65,9 @@ public class ResolverDemo {
String classpath = result.getResolvedClassPath();
}
- public void installAndDeploy(final String factory) throws
InstallationException, DeploymentException {
+ public void installAndDeploy(String[] args) throws InstallationException,
DeploymentException {
Resolver resolver =
- new Resolver(factory,
"http://localhost:8081/nexus/content/groups/public", "target/aether-repo");
+ new Resolver(args,
"http://localhost:8081/nexus/content/groups/public", "target/aether-repo");
Artifact artifact = new DefaultArtifact("com.mycompany.super",
"super-core", "jar", "0.1-SNAPSHOT");
artifact = artifact.setFile(new File("jar-from-whatever-process.jar"));
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/Booter.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/Booter.java
index c88016b56..673b39839 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/Booter.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/util/Booter.java
@@ -18,12 +18,15 @@
*/
package org.apache.maven.resolver.examples.util;
+import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import com.google.common.jimfs.Configuration;
+import com.google.common.jimfs.Jimfs;
import org.eclipse.aether.RepositorySystem;
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.RepositorySystemSession.SessionBuilder;
@@ -36,36 +39,58 @@ import
org.eclipse.aether.util.graph.visitor.DependencyGraphDumper;
* A helper to boot the repository system and a repository system session.
*/
public class Booter {
- public static final String SUPPLIER = "supplier";
+ public static final String FACTORY_SUPPLIER = "supplier";
- public static final String SISU = "sisu";
+ public static final String FACTORY_SISU = "sisu";
+
+ public static final String FS_DEFAULT = "default";
+
+ public static final String FS_JIMFS = "jimfs";
public static final DependencyGraphDumper DUMPER_SOUT = new
DependencyGraphDumper(System.out::println);
public static String selectFactory(String[] args) {
if (args == null || args.length == 0) {
- return SUPPLIER;
+ return FACTORY_SUPPLIER;
} else {
return args[0];
}
}
- public static RepositorySystem newRepositorySystem(final String factory) {
- switch (factory) {
- case SUPPLIER:
- return
org.apache.maven.resolver.examples.supplier.SupplierRepositorySystemFactory
- .newRepositorySystem();
- case SISU:
- return
org.apache.maven.resolver.examples.sisu.SisuRepositorySystemFactory.newRepositorySystem();
- default:
- throw new IllegalArgumentException("Unknown factory: " +
factory);
+ public static String selectFs(String[] args) {
+ if (args == null || args.length < 2) {
+ return FS_DEFAULT;
+ } else {
+ return args[1];
}
}
- public static SessionBuilder newRepositorySystemSession(RepositorySystem
system) {
+ public static RepositorySystem newRepositorySystem(final String factory) {
+ System.out.println("Using factory: " + factory);
+ return switch (factory) {
+ case FACTORY_SUPPLIER ->
org.apache.maven.resolver.examples.supplier.SupplierRepositorySystemFactory
+ .newRepositorySystem();
+ case FACTORY_SISU ->
org.apache.maven.resolver.examples.sisu.SisuRepositorySystemFactory
+ .newRepositorySystem();
+ default -> throw new IllegalArgumentException("Unknown factory: "
+ factory);
+ };
+ }
+
+ public static SessionBuilder newRepositorySystemSession(RepositorySystem
system, String fs) {
+ System.out.println("Using FS: " + fs);
+ boolean close;
+ Path localRepository;
+ if (FS_JIMFS.equals(fs)) {
+ close = true;
+ localRepository =
Jimfs.newFileSystem(Configuration.unix()).getPath("/demo");
+ } else {
+ close = false;
+ localRepository = Path.of("target/example-snippets-repo");
+ }
+ // Path localRepository = Path.of("target/example-snippets-repo");
SessionBuilder result = new SessionBuilderSupplier(system)
.get()
-
.withLocalRepositoryBaseDirectories(Path.of("target/example-snippets-repo"))
+ .withLocalRepositoryBaseDirectories(localRepository)
.setRepositoryListener(new ConsoleRepositoryListener())
.setTransferListener(new ConsoleTransferListener())
.setConfigProperty("aether.generator.gpg.enabled",
Boolean.TRUE.toString())
@@ -73,12 +98,21 @@ public class Booter {
"aether.generator.gpg.keyFilePath",
Paths.get("src/main/resources/alice.key")
.toAbsolutePath()
- .toString())
- .setConfigProperty("aether.syncContext.named.factory", "noop");
+ .toString());
// uncomment to generate dirty trees
// session.setDependencyGraphTransformer( null );
+ if (close) {
+ result.addOnSessionEndedHandler(() -> {
+ try {
+ localRepository.getFileSystem().close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ });
+ }
+
return result;
}
diff --git
a/maven-resolver-demos/maven-resolver-demo-snippets/src/test/java/org/apache/maven/resolver/examples/AllResolverDemosTest.java
b/maven-resolver-demos/maven-resolver-demo-snippets/src/test/java/org/apache/maven/resolver/examples/AllResolverDemosTest.java
index 125ccf998..2c4dd66d8 100644
---
a/maven-resolver-demos/maven-resolver-demo-snippets/src/test/java/org/apache/maven/resolver/examples/AllResolverDemosTest.java
+++
b/maven-resolver-demos/maven-resolver-demo-snippets/src/test/java/org/apache/maven/resolver/examples/AllResolverDemosTest.java
@@ -18,20 +18,26 @@
*/
package org.apache.maven.resolver.examples;
+import java.util.stream.Stream;
+
import org.apache.maven.resolver.examples.util.Booter;
-import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
/**
* Runs all demos at once as part of UT.
*/
public class AllResolverDemosTest {
- @Test
- void supplier() throws Exception {
- AllResolverDemos.main(new String[] {Booter.SUPPLIER});
+ private static Stream<Arguments> arguments() {
+ return Stream.of(
+ Arguments.of(Booter.FACTORY_SUPPLIER, Booter.FS_DEFAULT),
+ Arguments.of(Booter.FACTORY_SISU, Booter.FS_JIMFS));
}
- @Test
- void sisu() throws Exception {
- AllResolverDemos.main(new String[] {Booter.SISU});
+ @ParameterizedTest
+ @MethodSource("arguments")
+ void runDemos(String factory, String fs) throws Exception {
+ AllResolverDemos.main(new String[] {factory, fs});
}
}
diff --git
a/maven-resolver-util/src/main/java/org/eclipse/aether/util/FileUtils.java
b/maven-resolver-util/src/main/java/org/eclipse/aether/util/FileUtils.java
index 52e2348f5..4e4e14b13 100644
--- a/maven-resolver-util/src/main/java/org/eclipse/aether/util/FileUtils.java
+++ b/maven-resolver-util/src/main/java/org/eclipse/aether/util/FileUtils.java
@@ -125,8 +125,9 @@ public final class FileUtils {
+
Long.toUnsignedString(ThreadLocalRandom.current().nextLong()) + ".tmp");
return new CollocatedTempFile() {
private final AtomicBoolean wantsMove = new AtomicBoolean(false);
- private final StandardCopyOption copyOption =
- FileUtils.ATOMIC_MOVE ? StandardCopyOption.ATOMIC_MOVE :
StandardCopyOption.REPLACE_EXISTING;
+ private final StandardCopyOption[] copyOption =
FileUtils.ATOMIC_MOVE
+ ? new StandardCopyOption[]
{StandardCopyOption.ATOMIC_MOVE, StandardCopyOption.REPLACE_EXISTING}
+ : new StandardCopyOption[]
{StandardCopyOption.REPLACE_EXISTING};
@Override
public Path getPath() {