You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2021/06/14 06:07:39 UTC

[maven-resolver] branch update-maven-in-demos updated (53d65d7 -> 4a508a2)

This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a change to branch update-maven-in-demos
in repository https://gitbox.apache.org/repos/asf/maven-resolver.git.


    omit 53d65d7  Clean up
    omit 2bbfdd4  Merge remote-tracking branch 'origin/master' into update-maven-in-demos
    omit 7dce881  Checkstyle violation fixed
    omit e11f7fb  Fix guice integration
    omit 9fc3947  Update Maven in Resolver Demo Snippets
     add 69fd9f3  [MRESOLVER-184] Destroy Redisson semaphores if not used anymore
     new d5af006  Update Maven in Resolver Demo Snippets
     new ce67cc2  Fix guice integration
     new 956c51f  Checkstyle violation fixed
     new 4a508a2  Clean up

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (53d65d7)
            \
             N -- N -- N   refs/heads/update-maven-in-demos (4a508a2)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../HazelcastSemaphoreNamedLockFactory.java        | 21 +++++----
 .../RedissonReadWriteLockNamedLockFactory.java     | 11 ++---
 .../RedissonSemaphoreNamedLockFactory.java         | 37 +++++++++++----
 .../LocalReadWriteLockNamedLockFactory.java        | 23 ++++------
 .../providers/LocalSemaphoreNamedLockFactory.java  | 53 +++++++++++-----------
 .../named/support/AdaptedSemaphoreNamedLock.java   |  6 ++-
 .../named/support/NamedLockFactorySupport.java     | 28 +++++++-----
 .../aether/named/support/NamedLockSupport.java     |  5 +-
 .../named/support/ReadWriteLockNamedLock.java      |  6 ++-
 9 files changed, 110 insertions(+), 80 deletions(-)

[maven-resolver] 01/04: Update Maven in Resolver Demo Snippets

Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch update-maven-in-demos
in repository https://gitbox.apache.org/repos/asf/maven-resolver.git

commit d5af0065b18add3a1c343ad310fc9d1977cb703f
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Thu May 20 18:03:26 2021 +0200

    Update Maven in Resolver Demo Snippets
---
 .../maven-resolver-demo-snippets/pom.xml           |  2 +-
 .../examples/guice/DemoResolverModule.java         |  4 +-
 .../resolver/examples/sisu/MavenDemoModule.java    | 77 ----------------------
 .../sisu/SisuRepositorySystemDemoModule.java       |  9 +--
 .../examples/sisu/SisuRepositorySystemFactory.java |  8 +--
 5 files changed, 6 insertions(+), 94 deletions(-)

diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/pom.xml b/maven-resolver-demos/maven-resolver-demo-snippets/pom.xml
index acd153e..c0bc513 100644
--- a/maven-resolver-demos/maven-resolver-demo-snippets/pom.xml
+++ b/maven-resolver-demos/maven-resolver-demo-snippets/pom.xml
@@ -38,7 +38,7 @@
 
   <properties>
     <Automatic-Module-Name>org.apache.maven.resolver.demo.snippets</Automatic-Module-Name>
-    <mavenVersion>3.5.4</mavenVersion>
+    <mavenVersion>3.8.1</mavenVersion>
   </properties>
 
   <dependencyManagement>
diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/DemoResolverModule.java b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/DemoResolverModule.java
index 16ee292..0326f9f 100644
--- a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/DemoResolverModule.java
+++ b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/DemoResolverModule.java
@@ -26,6 +26,8 @@ import java.util.Set;
 import javax.inject.Named;
 import javax.inject.Singleton;
 
+import org.apache.maven.model.building.DefaultModelBuilderFactory;
+import org.apache.maven.model.building.ModelBuilder;
 import org.apache.maven.repository.internal.MavenResolverModule;
 import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory;
 import org.eclipse.aether.spi.connector.RepositoryConnectorFactory;
@@ -57,6 +59,7 @@ class DemoResolverModule
                 .to( BasicRepositoryConnectorFactory.class );
         bind( TransporterFactory.class ).annotatedWith( Names.named( "file" ) ).to( FileTransporterFactory.class );
         bind( TransporterFactory.class ).annotatedWith( Names.named( "http" ) ).to( HttpTransporterFactory.class );
+        bind( ModelBuilder.class ).toProvider( () -> new DefaultModelBuilderFactory().newInstance() );
     }
 
     @Provides
@@ -79,5 +82,4 @@ class DemoResolverModule
         factories.add( http );
         return Collections.unmodifiableSet( factories );
     }
-
 }
diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/sisu/MavenDemoModule.java b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/sisu/MavenDemoModule.java
deleted file mode 100644
index 43f3044..0000000
--- a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/sisu/MavenDemoModule.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.apache.maven.resolver.examples.sisu;
-
-/*
- * 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.
- */
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import com.google.inject.AbstractModule;
-import com.google.inject.Provides;
-import com.google.inject.name.Names;
-import org.apache.maven.model.building.DefaultModelBuilderFactory;
-import org.apache.maven.model.building.ModelBuilder;
-import org.apache.maven.repository.internal.DefaultArtifactDescriptorReader;
-import org.apache.maven.repository.internal.DefaultVersionRangeResolver;
-import org.apache.maven.repository.internal.DefaultVersionResolver;
-import org.apache.maven.repository.internal.SnapshotMetadataGeneratorFactory;
-import org.apache.maven.repository.internal.VersionsMetadataGeneratorFactory;
-import org.eclipse.aether.impl.ArtifactDescriptorReader;
-import org.eclipse.aether.impl.MetadataGeneratorFactory;
-import org.eclipse.aether.impl.VersionRangeResolver;
-import org.eclipse.aether.impl.VersionResolver;
-
-/**
- * Module with component implementations found in Maven's maven-resolver-provider and maven-model-builder. This module
- * binds ONLY components found OUTSIDE resolver.
- */
-public class MavenDemoModule
-    extends AbstractModule
-{
-    protected void configure()
-    {
-        bind( ArtifactDescriptorReader.class )
-            .to( DefaultArtifactDescriptorReader.class ).in( Singleton.class );
-        bind( VersionResolver.class )
-            .to( DefaultVersionResolver.class ).in( Singleton.class );
-        bind( VersionRangeResolver.class )
-            .to( DefaultVersionRangeResolver.class ).in( Singleton.class );
-        bind( MetadataGeneratorFactory.class ).annotatedWith( Names.named( "snapshot" ) )
-            .to( SnapshotMetadataGeneratorFactory.class ).in( Singleton.class );
-        bind( MetadataGeneratorFactory.class ).annotatedWith( Names.named( "versions" ) )
-            .to( VersionsMetadataGeneratorFactory.class ).in( Singleton.class );
-        bind( ModelBuilder.class ).toInstance( ( new DefaultModelBuilderFactory() ).newInstance() );
-    }
-
-    @Provides
-    @Singleton
-    Set<MetadataGeneratorFactory> provideMetadataGeneratorFactories(
-        @Named( "snapshot" ) MetadataGeneratorFactory snapshot,
-        @Named( "versions" ) MetadataGeneratorFactory versions )
-    {
-        Set<MetadataGeneratorFactory> factories = new HashSet( 2 );
-        factories.add( snapshot );
-        factories.add( versions );
-        return Collections.unmodifiableSet( factories );
-    }
-}
diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/sisu/SisuRepositorySystemDemoModule.java b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/sisu/SisuRepositorySystemDemoModule.java
index ad1178a..71adb55 100644
--- a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/sisu/SisuRepositorySystemDemoModule.java
+++ b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/sisu/SisuRepositorySystemDemoModule.java
@@ -36,14 +36,7 @@ public class SisuRepositorySystemDemoModule implements Module
     public void configure( final Binder binder )
     {
         binder.install( new LifecycleModule() );
-        // NOTE: this module below is needed due following: while maven-resolver-provider:3.5.4 DOES have Sisu index,
-        // the also needed module maven-model-builder:3.5.4 DOES NOT have Sisu index (has plexus/components.xml).
-        // To keep things simple, and not bring in deprecated Plexus, we rather install custom Guicemodule
-        // (MavenDemoModule) to provide the "missing components" (while resolver components are discovered by Sisu)
-        // making resolver complete.
-        // To demo Sisu, resolver is completed with components discovered by Sisu (using Sisu index, that all
-        // resolver modules have), and the handful components registered directly to Guice in MavenDemoModule module.
-        binder.install( new MavenDemoModule() );
+        // NOTE: Maven 3.8.1 used in demo has Sisu Index for ALL components (older Maven does NOT have!)
         binder.bind( ParameterKeys.PROPERTIES ).toInstance( System.getProperties() );
         binder.bind( ShutdownThread.class ).asEagerSingleton();
     }
diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/sisu/SisuRepositorySystemFactory.java b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/sisu/SisuRepositorySystemFactory.java
index 721d4a5..1403e12 100644
--- a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/sisu/SisuRepositorySystemFactory.java
+++ b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/sisu/SisuRepositorySystemFactory.java
@@ -24,7 +24,6 @@ import javax.inject.Named;
 import javax.inject.Provider;
 
 import com.google.inject.Guice;
-import com.google.inject.Injector;
 import com.google.inject.Module;
 import org.apache.maven.model.building.DefaultModelBuilderFactory;
 import org.apache.maven.model.building.ModelBuilder;
@@ -38,7 +37,6 @@ import org.eclipse.sisu.space.BeanScanning;
 @Named
 public class SisuRepositorySystemFactory
 {
-
     @Inject
     private RepositorySystem repositorySystem;
 
@@ -48,20 +46,16 @@ public class SisuRepositorySystemFactory
             BeanScanning.INDEX,
             new SisuRepositorySystemDemoModule()
         );
-        final Injector injector = Guice.createInjector( app );
-        return injector.getInstance( SisuRepositorySystemFactory.class ).repositorySystem;
+        return Guice.createInjector( app ).getInstance( SisuRepositorySystemFactory.class ).repositorySystem;
     }
 
     @Named
     private static class ModelBuilderProvider
         implements Provider<ModelBuilder>
     {
-
         public ModelBuilder get()
         {
             return new DefaultModelBuilderFactory().newInstance();
         }
-
     }
-
 }

[maven-resolver] 03/04: Checkstyle violation fixed

Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch update-maven-in-demos
in repository https://gitbox.apache.org/repos/asf/maven-resolver.git

commit 956c51f9abb56f7b23dbccbd7fcf179d36b6fc28
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Fri May 21 14:25:55 2021 +0200

    Checkstyle violation fixed
---
 .../org/apache/maven/resolver/examples/guice/DemoResolverModule.java   | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/DemoResolverModule.java b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/DemoResolverModule.java
index f8e8d5a..a9ef4b7 100644
--- a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/DemoResolverModule.java
+++ b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/DemoResolverModule.java
@@ -82,7 +82,8 @@ class DemoResolverModule
     }
 
     @Provides
-    ModelBuilder provideModelBuilder() {
+    ModelBuilder provideModelBuilder() 
+    {
         return new DefaultModelBuilderFactory().newInstance();
     }
 }

[maven-resolver] 02/04: Fix guice integration

Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch update-maven-in-demos
in repository https://gitbox.apache.org/repos/asf/maven-resolver.git

commit ce67cc2c2e157f7ba16c6caab0af08bee5c69f7b
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Fri May 21 11:18:13 2021 +0200

    Fix guice integration
---
 .../examples/guice/DemoResolverModule.java         |  7 +-
 .../examples/guice/MavenResolverModule.java        | 80 ++++++++++++++++++++++
 2 files changed, 85 insertions(+), 2 deletions(-)

diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/DemoResolverModule.java b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/DemoResolverModule.java
index 0326f9f..f8e8d5a 100644
--- a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/DemoResolverModule.java
+++ b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/DemoResolverModule.java
@@ -28,7 +28,6 @@ import javax.inject.Singleton;
 
 import org.apache.maven.model.building.DefaultModelBuilderFactory;
 import org.apache.maven.model.building.ModelBuilder;
-import org.apache.maven.repository.internal.MavenResolverModule;
 import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory;
 import org.eclipse.aether.spi.connector.RepositoryConnectorFactory;
 import org.eclipse.aether.spi.connector.transport.TransporterFactory;
@@ -59,7 +58,6 @@ class DemoResolverModule
                 .to( BasicRepositoryConnectorFactory.class );
         bind( TransporterFactory.class ).annotatedWith( Names.named( "file" ) ).to( FileTransporterFactory.class );
         bind( TransporterFactory.class ).annotatedWith( Names.named( "http" ) ).to( HttpTransporterFactory.class );
-        bind( ModelBuilder.class ).toProvider( () -> new DefaultModelBuilderFactory().newInstance() );
     }
 
     @Provides
@@ -82,4 +80,9 @@ class DemoResolverModule
         factories.add( http );
         return Collections.unmodifiableSet( factories );
     }
+
+    @Provides
+    ModelBuilder provideModelBuilder() {
+        return new DefaultModelBuilderFactory().newInstance();
+    }
 }
diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/MavenResolverModule.java b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/MavenResolverModule.java
new file mode 100644
index 0000000..9f46c75
--- /dev/null
+++ b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/MavenResolverModule.java
@@ -0,0 +1,80 @@
+package org.apache.maven.resolver.examples.guice;
+
+/*
+ * 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.
+ */
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.inject.Named;
+import javax.inject.Singleton;
+
+import com.google.inject.AbstractModule;
+import com.google.inject.Provides;
+import com.google.inject.name.Names;
+import org.apache.maven.repository.internal.DefaultArtifactDescriptorReader;
+import org.apache.maven.repository.internal.DefaultVersionRangeResolver;
+import org.apache.maven.repository.internal.DefaultVersionResolver;
+import org.apache.maven.repository.internal.SnapshotMetadataGeneratorFactory;
+import org.apache.maven.repository.internal.VersionsMetadataGeneratorFactory;
+import org.eclipse.aether.impl.ArtifactDescriptorReader;
+import org.eclipse.aether.impl.MetadataGeneratorFactory;
+import org.eclipse.aether.impl.VersionRangeResolver;
+import org.eclipse.aether.impl.VersionResolver;
+import org.eclipse.aether.impl.guice.AetherModule;
+
+/**
+ * MavenResolverModule. Note: copy of the same class from org.apache.maven:maven-resolver-provider as there is an
+ * issue: binding to ModelBuilder makes guice attempt to inject maven-specific things into it as well, that
+ * fails. Here, for demo purposes, we provide manually crafted instances of ModelBuilder instead.
+ */
+public final class MavenResolverModule
+    extends AbstractModule
+{
+
+    @Override
+    protected void configure()
+    {
+        install( new AetherModule() );
+        bind( ArtifactDescriptorReader.class ).to( DefaultArtifactDescriptorReader.class ).in( Singleton.class );
+        bind( VersionResolver.class ).to( DefaultVersionResolver.class ).in( Singleton.class );
+        bind( VersionRangeResolver.class ).to( DefaultVersionRangeResolver.class ).in( Singleton.class );
+        bind( MetadataGeneratorFactory.class ).annotatedWith( Names.named( "snapshot" ) )
+            .to( SnapshotMetadataGeneratorFactory.class ).in( Singleton.class );
+
+        bind( MetadataGeneratorFactory.class ).annotatedWith( Names.named( "versions" ) )
+            .to( VersionsMetadataGeneratorFactory.class ).in( Singleton.class );
+
+        // bind( ModelBuilder.class ).toInstance( new DefaultModelBuilderFactory().newInstance() );
+    }
+
+    @Provides
+    @Singleton
+    Set<MetadataGeneratorFactory> provideMetadataGeneratorFactories(
+        @Named( "snapshot" ) MetadataGeneratorFactory snapshot,
+        @Named( "versions" ) MetadataGeneratorFactory versions )
+    {
+        Set<MetadataGeneratorFactory> factories = new HashSet<>( 2 );
+        factories.add( snapshot );
+        factories.add( versions );
+        return Collections.unmodifiableSet( factories );
+    }
+
+}

[maven-resolver] 04/04: Clean up

Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch update-maven-in-demos
in repository https://gitbox.apache.org/repos/asf/maven-resolver.git

commit 4a508a2231a8c53a244950462e2646f8ea3a66ec
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Sun Jun 13 22:34:31 2021 +0200

    Clean up
---
 .../examples/guice/DemoResolverModule.java         | 55 +++++++++++++--
 .../examples/guice/MavenResolverModule.java        | 80 ----------------------
 2 files changed, 51 insertions(+), 84 deletions(-)

diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/DemoResolverModule.java b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/DemoResolverModule.java
index a9ef4b7..c2eb4d9 100644
--- a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/DemoResolverModule.java
+++ b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/DemoResolverModule.java
@@ -28,7 +28,17 @@ import javax.inject.Singleton;
 
 import org.apache.maven.model.building.DefaultModelBuilderFactory;
 import org.apache.maven.model.building.ModelBuilder;
+import org.apache.maven.repository.internal.DefaultArtifactDescriptorReader;
+import org.apache.maven.repository.internal.DefaultVersionRangeResolver;
+import org.apache.maven.repository.internal.DefaultVersionResolver;
+import org.apache.maven.repository.internal.SnapshotMetadataGeneratorFactory;
+import org.apache.maven.repository.internal.VersionsMetadataGeneratorFactory;
 import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory;
+import org.eclipse.aether.impl.ArtifactDescriptorReader;
+import org.eclipse.aether.impl.MetadataGeneratorFactory;
+import org.eclipse.aether.impl.VersionRangeResolver;
+import org.eclipse.aether.impl.VersionResolver;
+import org.eclipse.aether.impl.guice.AetherModule;
 import org.eclipse.aether.spi.connector.RepositoryConnectorFactory;
 import org.eclipse.aether.spi.connector.transport.TransporterFactory;
 import org.eclipse.aether.transport.file.FileTransporterFactory;
@@ -40,6 +50,9 @@ import com.google.inject.name.Names;
 
 /**
  * Guice module for Demo Resolver snippets.
+ *
+ * Here, we assemble "complete" module by using {@link AetherModule} (see it's Javadoc) and adding bits from
+ * Maven itself (binding those components that completes repository system).
  */
 class DemoResolverModule
     extends AbstractModule
@@ -50,16 +63,28 @@ class DemoResolverModule
     {
         // NOTE: see org.eclipse.aether.impl.guice.AetherModule Javadoc:
         // AetherModule alone is "ready-made" but incomplete. To have a complete resolver, we
-        // actually need org.apache.maven.repository.internal.MavenResolverModule that installs
-        // AetherModule and binds the missing components making module complete.
-        install( new MavenResolverModule() );
-        // alternatively, use the Guice Multibindings extensions
+        // actually need to bind the missing components making module complete.
+        install( new AetherModule() );
+
+        // make module "complete" by binding things not bound by AetherModule
+        bind( ArtifactDescriptorReader.class ).to( DefaultArtifactDescriptorReader.class ).in( Singleton.class );
+        bind( VersionResolver.class ).to( DefaultVersionResolver.class ).in( Singleton.class );
+        bind( VersionRangeResolver.class ).to( DefaultVersionRangeResolver.class ).in( Singleton.class );
+        bind( MetadataGeneratorFactory.class ).annotatedWith( Names.named( "snapshot" ) )
+                                              .to( SnapshotMetadataGeneratorFactory.class ).in( Singleton.class );
+
+        bind( MetadataGeneratorFactory.class ).annotatedWith( Names.named( "versions" ) )
+                                              .to( VersionsMetadataGeneratorFactory.class ).in( Singleton.class );
+
         bind( RepositoryConnectorFactory.class ).annotatedWith( Names.named( "basic" ) )
                 .to( BasicRepositoryConnectorFactory.class );
         bind( TransporterFactory.class ).annotatedWith( Names.named( "file" ) ).to( FileTransporterFactory.class );
         bind( TransporterFactory.class ).annotatedWith( Names.named( "http" ) ).to( HttpTransporterFactory.class );
     }
 
+    /**
+     * Repository system connectors (needed for remote transport).
+     */
     @Provides
     @Singleton
     Set<RepositoryConnectorFactory> provideRepositoryConnectorFactories(
@@ -70,6 +95,9 @@ class DemoResolverModule
         return Collections.unmodifiableSet( factories );
     }
 
+    /**
+     * Repository system transporters (needed for remote transport).
+     */
     @Provides
     @Singleton
     Set<TransporterFactory> provideTransporterFactories( @Named( "file" ) TransporterFactory file,
@@ -81,6 +109,25 @@ class DemoResolverModule
         return Collections.unmodifiableSet( factories );
     }
 
+    /**
+     * Repository metadata generators (needed for remote transport).
+     */
+    @Provides
+    @Singleton
+    Set<MetadataGeneratorFactory> provideMetadataGeneratorFactories(
+            @Named( "snapshot" ) MetadataGeneratorFactory snapshot,
+            @Named( "versions" ) MetadataGeneratorFactory versions )
+    {
+        Set<MetadataGeneratorFactory> factories = new HashSet<>( 2 );
+        factories.add( snapshot );
+        factories.add( versions );
+        return Collections.unmodifiableSet( factories );
+    }
+
+    /**
+     * Simple instance provider for model builder factory. Note: Maven 3.8.1 {@link ModelBuilder} is annotated
+     * and would require much more.
+     */
     @Provides
     ModelBuilder provideModelBuilder() 
     {
diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/MavenResolverModule.java b/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/MavenResolverModule.java
deleted file mode 100644
index 9f46c75..0000000
--- a/maven-resolver-demos/maven-resolver-demo-snippets/src/main/java/org/apache/maven/resolver/examples/guice/MavenResolverModule.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.apache.maven.resolver.examples.guice;
-
-/*
- * 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.
- */
-
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import com.google.inject.AbstractModule;
-import com.google.inject.Provides;
-import com.google.inject.name.Names;
-import org.apache.maven.repository.internal.DefaultArtifactDescriptorReader;
-import org.apache.maven.repository.internal.DefaultVersionRangeResolver;
-import org.apache.maven.repository.internal.DefaultVersionResolver;
-import org.apache.maven.repository.internal.SnapshotMetadataGeneratorFactory;
-import org.apache.maven.repository.internal.VersionsMetadataGeneratorFactory;
-import org.eclipse.aether.impl.ArtifactDescriptorReader;
-import org.eclipse.aether.impl.MetadataGeneratorFactory;
-import org.eclipse.aether.impl.VersionRangeResolver;
-import org.eclipse.aether.impl.VersionResolver;
-import org.eclipse.aether.impl.guice.AetherModule;
-
-/**
- * MavenResolverModule. Note: copy of the same class from org.apache.maven:maven-resolver-provider as there is an
- * issue: binding to ModelBuilder makes guice attempt to inject maven-specific things into it as well, that
- * fails. Here, for demo purposes, we provide manually crafted instances of ModelBuilder instead.
- */
-public final class MavenResolverModule
-    extends AbstractModule
-{
-
-    @Override
-    protected void configure()
-    {
-        install( new AetherModule() );
-        bind( ArtifactDescriptorReader.class ).to( DefaultArtifactDescriptorReader.class ).in( Singleton.class );
-        bind( VersionResolver.class ).to( DefaultVersionResolver.class ).in( Singleton.class );
-        bind( VersionRangeResolver.class ).to( DefaultVersionRangeResolver.class ).in( Singleton.class );
-        bind( MetadataGeneratorFactory.class ).annotatedWith( Names.named( "snapshot" ) )
-            .to( SnapshotMetadataGeneratorFactory.class ).in( Singleton.class );
-
-        bind( MetadataGeneratorFactory.class ).annotatedWith( Names.named( "versions" ) )
-            .to( VersionsMetadataGeneratorFactory.class ).in( Singleton.class );
-
-        // bind( ModelBuilder.class ).toInstance( new DefaultModelBuilderFactory().newInstance() );
-    }
-
-    @Provides
-    @Singleton
-    Set<MetadataGeneratorFactory> provideMetadataGeneratorFactories(
-        @Named( "snapshot" ) MetadataGeneratorFactory snapshot,
-        @Named( "versions" ) MetadataGeneratorFactory versions )
-    {
-        Set<MetadataGeneratorFactory> factories = new HashSet<>( 2 );
-        factories.add( snapshot );
-        factories.add( versions );
-        return Collections.unmodifiableSet( factories );
-    }
-
-}