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 9ad2bb82 [MRESOLVER-582] Use Google JIMFS for demos (#526) 9ad2bb82 is described below commit 9ad2bb82fc6e383a5337432b80e5423069679072 Author: Tamas Cservenak <ta...@cservenak.net> AuthorDate: Tue Jul 9 11:52:19 2024 +0200 [MRESOLVER-582] Use Google JIMFS for demos (#526) This PR showcases how Maven4+Resolver2 can now run on custom (even in memory like JIMFS is) FileSystem --- https://issues.apache.org/jira/browse/MRESOLVER-582 --- .../maven-resolver-demo-snippets/pom.xml | 6 ++--- .../maven/resolver/examples/util/Booter.java | 30 ++++++++++++---------- .../resources/META-INF/sisu/javax.inject.Named | 29 +++++++++++++++++++++ 3 files changed, 49 insertions(+), 16 deletions(-) diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/pom.xml b/maven-resolver-demos/maven-resolver-demo-snippets/pom.xml index bbca5cc5..05e31084 100644 --- a/maven-resolver-demos/maven-resolver-demo-snippets/pom.xml +++ b/maven-resolver-demos/maven-resolver-demo-snippets/pom.xml @@ -81,17 +81,17 @@ </dependency> <dependency> <groupId>org.apache.maven.resolver</groupId> - <artifactId>maven-resolver-supplier-mvn3</artifactId> + <artifactId>maven-resolver-supplier-mvn4</artifactId> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-resolver-provider</artifactId> - <version>${maven3Version}</version> + <version>${maven4Version}</version> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-model-builder</artifactId> - <version>${maven3Version}</version> + <version>${maven4Version}</version> </dependency> <dependency> <groupId>javax.inject</groupId> 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 b5539845..2fa93e80 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,16 @@ */ package org.apache.maven.resolver.examples.util; -import java.nio.file.Path; +import java.io.IOException; +import java.io.UncheckedIOException; +import java.nio.file.FileSystem; 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; @@ -62,12 +66,10 @@ public class Booter { } public static SessionBuilder newRepositorySystemSession(RepositorySystem system) { - Path localRepo = Paths.get("target/local-repo"); - // FileSystem fs = Jimfs.newFileSystem(Configuration.unix()); - return new SessionBuilderSupplier(system) + FileSystem fs = Jimfs.newFileSystem(Configuration.unix()); + SessionBuilder result = new SessionBuilderSupplier(system) .get() - // .withLocalRepositoryBaseDirectories(fs.getPath("local-repo")) - .withLocalRepositoryBaseDirectories(localRepo) + .withLocalRepositoryBaseDirectories(fs.getPath("local-repo")) .setRepositoryListener(new ConsoleRepositoryListener()) .setTransferListener(new ConsoleTransferListener()) .setConfigProperty("aether.generator.gpg.enabled", Boolean.TRUE.toString()) @@ -77,16 +79,18 @@ public class Booter { .toAbsolutePath() .toString()) .setConfigProperty("aether.syncContext.named.factory", "noop"); - // result.addOnSessionEndedHandler(() -> { - // try { - // fs.close(); - // } catch (IOException e) { - // throw new UncheckedIOException(e); - // } - // }); + result.addOnSessionEndedHandler(() -> { + try { + fs.close(); + } catch (IOException e) { + throw new UncheckedIOException(e); + } + }); // uncomment to generate dirty trees // session.setDependencyGraphTransformer( null ); + + return result; } public static List<RemoteRepository> newRepositories(RepositorySystem system, RepositorySystemSession session) { diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/resources/META-INF/sisu/javax.inject.Named b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/resources/META-INF/sisu/javax.inject.Named new file mode 100644 index 00000000..2b8442db --- /dev/null +++ b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/resources/META-INF/sisu/javax.inject.Named @@ -0,0 +1,29 @@ +# 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. + +org.apache.maven.repository.internal.DefaultArtifactDescriptorReader +org.apache.maven.repository.internal.DefaultModelCacheFactory +org.apache.maven.repository.internal.DefaultModelVersionParser +org.apache.maven.repository.internal.DefaultVersionRangeResolver +org.apache.maven.repository.internal.DefaultVersionResolver +org.apache.maven.repository.internal.DefaultVersionSchemeProvider +org.apache.maven.repository.internal.PluginsMetadataGeneratorFactory +org.apache.maven.repository.internal.SnapshotMetadataGeneratorFactory +org.apache.maven.repository.internal.VersionsMetadataGeneratorFactory +org.apache.maven.repository.internal.relocation.DistributionManagementArtifactRelocationSource +org.apache.maven.repository.internal.relocation.UserPropertiesArtifactRelocationSource +org.apache.maven.repository.internal.type.DefaultTypeProvider