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:40 UTC
[maven-resolver] 01/04: Update Maven in Resolver Demo Snippets
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();
}
-
}
-
}