Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MRESOLVER-407] Update to Maven 3.9.5 #336

Merged
merged 2 commits into from
Oct 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -453,10 +453,9 @@ protected MetadataResolver getMetadataResolver(
protected Map<String, MetadataGeneratorFactory> getMetadataGeneratorFactories() {
// from maven-resolver-provider
HashMap<String, MetadataGeneratorFactory> result = new HashMap<>();
// TODO: Fix this once MNG-7874 done and released
result.put("plugins", new PluginsMetadataGeneratorFactory());
result.put("versions", new VersionsMetadataGeneratorFactory());
result.put("snapshot", new SnapshotMetadataGeneratorFactory());
result.put(PluginsMetadataGeneratorFactory.NAME, new PluginsMetadataGeneratorFactory());
result.put(VersionsMetadataGeneratorFactory.NAME, new VersionsMetadataGeneratorFactory());
result.put(SnapshotMetadataGeneratorFactory.NAME, new SnapshotMetadataGeneratorFactory());
return result;
}

Expand All @@ -469,39 +468,30 @@ protected ArtifactDescriptorReader getArtifactDescriptorReader(
RepositoryEventDispatcher repositoryEventDispatcher,
ModelCacheFactory modelCacheFactory) {
// from maven-resolver-provider
DefaultArtifactDescriptorReader result = new DefaultArtifactDescriptorReader();
result.setRemoteRepositoryManager(remoteRepositoryManager);
result.setVersionResolver(versionResolver);
result.setVersionRangeResolver(versionRangeResolver);
result.setArtifactResolver(artifactResolver);
result.setModelBuilder(modelBuilder);
result.setRepositoryEventDispatcher(repositoryEventDispatcher);
result.setModelCacheFactory(modelCacheFactory);
return result;
return new DefaultArtifactDescriptorReader(
remoteRepositoryManager,
versionResolver,
versionRangeResolver,
artifactResolver,
modelBuilder,
repositoryEventDispatcher,
modelCacheFactory);
}

protected VersionResolver getVersionResolver(
MetadataResolver metadataResolver,
SyncContextFactory syncContextFactory,
RepositoryEventDispatcher repositoryEventDispatcher) {
// from maven-resolver-provider
DefaultVersionResolver result = new DefaultVersionResolver();
result.setMetadataResolver(metadataResolver);
result.setSyncContextFactory(syncContextFactory);
result.setRepositoryEventDispatcher(repositoryEventDispatcher);
return result;
return new DefaultVersionResolver(metadataResolver, syncContextFactory, repositoryEventDispatcher);
}

protected VersionRangeResolver getVersionRangeResolver(
MetadataResolver metadataResolver,
SyncContextFactory syncContextFactory,
RepositoryEventDispatcher repositoryEventDispatcher) {
// from maven-resolver-provider
DefaultVersionRangeResolver result = new DefaultVersionRangeResolver();
result.setMetadataResolver(metadataResolver);
result.setSyncContextFactory(syncContextFactory);
result.setRepositoryEventDispatcher(repositoryEventDispatcher);
return result;
return new DefaultVersionRangeResolver(metadataResolver, syncContextFactory, repositoryEventDispatcher);
}

protected ModelBuilder getModelBuilder() {
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@
<guiceVersion>5.1.0</guiceVersion>
<slf4jVersion>1.7.36</slf4jVersion>
<!-- used by supplier and demo only -->
<mavenVersion>3.9.4</mavenVersion>
<mavenVersion>3.9.5</mavenVersion>
<minimalMavenBuildVersion>[3.8.7,)</minimalMavenBuildVersion>
<minimalJavaBuildVersion>[1.8.0-362,)</minimalJavaBuildVersion>
<project.build.outputTimestamp>2023-09-22T18:13:46Z</project.build.outputTimestamp>
Expand Down
15 changes: 11 additions & 4 deletions src/site/markdown/third-party-integrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,12 @@ to current solution described below.
A new simple module `maven-resolver-supplier` serves the purpose to "bootstrap" resolver instance
when there is no desire to use [Eclipse Sisu](https://eclipse.dev/sisu/) DI. It provides one simple class
`org.eclipse.aether.supplier.RepositorySystemSupplier` that implements `Supplier<RepositorySystem>`
and supplies ready-to-use `RepositorySystem` instances. The `RepositorySystemSession` should be
created using the `org.apache.maven.repository.internal.MavenRepositorySystemUtils#newSession()` method
and supplies new, ready-to-use `RepositorySystem` instance for each call. Class is intentionally simplistic,
no instance caching or anything alike is present: all that is concern of caller, just like proper shutdown
of the created resolver instances is.

The `RepositorySystemSession` should be created using the
`org.apache.maven.repository.internal.MavenRepositorySystemUtils#newSession()` method
and local repository added to it in usual way (there is no change in this area).

The supplier class is written in a way, to allow easy customization if needed: just extend the class and override
Expand All @@ -47,7 +51,10 @@ logging purposes, but this module does NOT provide any implementation for it as
It is the consumer/user obligation to provide one at runtime.

Version of `maven-resolver-supplier` artifact in use **must be strictly aligned** with other Resolver artifacts
on classpath.
on classpath and Maven version.

An example usage (and customization) of supplier can be seen in
[Maven Resolver Ant Tasks 1.5.0](https://github.com/apache/maven-resolver-ant-tasks/blob/maven-resolver-ant-tasks-1.5.0/src/main/java/org/apache/maven/resolver/internal/ant/AntRepositorySystemSupplier.java).

## Resolver configuration

Expand All @@ -60,7 +67,7 @@ The supplier will provide fully usable instance. To configure resolver, use sess
configuration) properties, when constructing session. All the configuration options are available as
[listed here](https://maven.apache.org/resolver/configuration.html).

## Extending Resolver
## Extending Supplied Resolver

Extending supplied resolver is simple, and basically requires same three steps for whatever extra you want to include
(like Wagon transport, distributed locking, etc).
Expand Down
Loading