Skip to content

Commit

Permalink
[MRESOLVER-407] Update to Maven 3.9.5 (#336)
Browse files Browse the repository at this point in the history
And get rid of deprecations (no-arg ctors) and string literals.

---

https://issues.apache.org/jira/browse/MRESOLVER-407
  • Loading branch information
cstamas authored Oct 12, 2023
1 parent 20d5424 commit efa0771
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 28 deletions.
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

0 comments on commit efa0771

Please sign in to comment.