This is an automated email from the ASF dual-hosted git repository.
ggrzybek pushed a commit to branch camel-3.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-3.x by this push:
new d6ef5a5ee6c [CAMEL-18880] Upgrade to maven-resolver 1.9.2 (and prepare
for 1.9.4)
d6ef5a5ee6c is described below
commit d6ef5a5ee6ccd2ac8edb3eefc21ce8f916636311
Author: Grzegorz Grzybek <[email protected]>
AuthorDate: Fri Jan 13 09:30:28 2023 +0100
[CAMEL-18880] Upgrade to maven-resolver 1.9.2 (and prepare for 1.9.4)
---
.../main/download/MavenDependencyDownloader.java | 39 +++++++++++++++++-----
.../camel/main/MavenDependencyResolverTest.java | 4 +--
parent/pom.xml | 2 +-
3 files changed, 34 insertions(+), 11 deletions(-)
diff --git
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenDependencyDownloader.java
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenDependencyDownloader.java
index 33d9841a97e..64cb9f4a4bd 100644
---
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenDependencyDownloader.java
+++
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MavenDependencyDownloader.java
@@ -100,9 +100,11 @@ import org.eclipse.aether.impl.LocalRepositoryProvider;
import org.eclipse.aether.impl.MetadataGeneratorFactory;
import org.eclipse.aether.impl.MetadataResolver;
import org.eclipse.aether.impl.OfflineController;
+import org.eclipse.aether.impl.RemoteRepositoryFilterManager;
import org.eclipse.aether.impl.RemoteRepositoryManager;
import org.eclipse.aether.impl.RepositoryConnectorProvider;
import org.eclipse.aether.impl.RepositoryEventDispatcher;
+import org.eclipse.aether.impl.RepositorySystemLifecycle;
import org.eclipse.aether.impl.UpdateCheckManager;
import org.eclipse.aether.impl.UpdatePolicyAnalyzer;
import org.eclipse.aether.impl.VersionRangeResolver;
@@ -122,6 +124,7 @@ import
org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider;
import org.eclipse.aether.internal.impl.DefaultRepositoryEventDispatcher;
import org.eclipse.aether.internal.impl.DefaultRepositoryLayoutProvider;
import org.eclipse.aether.internal.impl.DefaultRepositorySystem;
+import org.eclipse.aether.internal.impl.DefaultRepositorySystemLifecycle;
import org.eclipse.aether.internal.impl.DefaultTrackingFileManager;
import org.eclipse.aether.internal.impl.DefaultTransporterProvider;
import org.eclipse.aether.internal.impl.DefaultUpdateCheckManager;
@@ -138,15 +141,18 @@ import
org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector;
import org.eclipse.aether.internal.impl.collect.DependencyCollectorDelegate;
import org.eclipse.aether.internal.impl.collect.bf.BfDependencyCollector;
import org.eclipse.aether.internal.impl.collect.df.DfDependencyCollector;
+import
org.eclipse.aether.internal.impl.filter.DefaultRemoteRepositoryFilterManager;
import org.eclipse.aether.internal.impl.slf4j.Slf4jLoggerFactory;
import org.eclipse.aether.internal.impl.synccontext.DefaultSyncContextFactory;
-import org.eclipse.aether.internal.impl.synccontext.named.GAVNameMapper;
import org.eclipse.aether.internal.impl.synccontext.named.NameMapper;
-import
org.eclipse.aether.internal.impl.synccontext.named.NamedLockFactorySelector;
-import
org.eclipse.aether.internal.impl.synccontext.named.SimpleNamedLockFactorySelector;
+import
org.eclipse.aether.internal.impl.synccontext.named.NamedLockFactoryAdapterFactory;
+import
org.eclipse.aether.internal.impl.synccontext.named.NamedLockFactoryAdapterFactoryImpl;
+import
org.eclipse.aether.internal.impl.synccontext.named.providers.GAVNameMapperProvider;
import org.eclipse.aether.named.NamedLockFactory;
import org.eclipse.aether.named.providers.FileLockNamedLockFactory;
import org.eclipse.aether.named.providers.LocalReadWriteLockNamedLockFactory;
+import org.eclipse.aether.named.providers.LocalSemaphoreNamedLockFactory;
+import org.eclipse.aether.named.providers.NoopNamedLockFactory;
import org.eclipse.aether.repository.Authentication;
import org.eclipse.aether.repository.AuthenticationSelector;
import org.eclipse.aether.repository.LocalRepository;
@@ -648,7 +654,9 @@ public class MavenDependencyDownloader extends
ServiceSupport implements Depende
registry.bind(LocalRepositoryManagerFactory.class,
EnhancedLocalRepositoryManagerFactory.class);
// remaining requirements of
org.eclipse.aether.internal.impl.synccontext.DefaultSyncContextFactory
- registry.bind(NamedLockFactorySelector.class,
SimpleNamedLockFactorySelector.class);
+ registry.bind(NamedLockFactoryAdapterFactory.class,
NamedLockFactoryAdapterFactoryImpl.class);
+
+ HashMap<String, NameMapper> mappers = new HashMap<>();
// remaining requirements of
org.eclipse.aether.internal.impl.DefaultRemoteRepositoryManager
registry.bind(UpdatePolicyAnalyzer.class,
DefaultUpdatePolicyAnalyzer.class);
@@ -659,10 +667,19 @@ public class MavenDependencyDownloader extends
ServiceSupport implements Depende
// requirements of
org.eclipse.aether.internal.impl.DefaultUpdateCheckManager
registry.bind(TrackingFileManager.class,
DefaultTrackingFileManager.class);
- // requirements of
org.eclipse.aether.internal.impl.synccontext.named.SimpleNamedLockFactorySelector
+ // requirements of
org.eclipse.aether.internal.impl.synccontext.named.NamedLockFactoryAdapterFactoryImpl
registry.bind(NamedLockFactory.class, FileLockNamedLockFactory.class);
registry.bind(NamedLockFactory.class,
LocalReadWriteLockNamedLockFactory.class);
- registry.bind(NameMapper.class, GAVNameMapper.class);
+ registry.bind(NamedLockFactory.class, NoopNamedLockFactory.class);
+ registry.bind(NamedLockFactory.class,
LocalSemaphoreNamedLockFactory.class);
+ // 1.9.2
+ registry.bind(GAVNameMapperProvider.NAME, NameMapper.class, new
GAVNameMapperProvider().get());
+ // 1.9.4 (soon)
+ // registry.bind(NameMappers.GAV_NAME, NameMapper.class,
NameMappers.gavNameMapper());
+ // registry.bind(NameMappers.STATIC_NAME, NameMapper.class,
NameMappers.staticNameMapper());
+ // registry.bind(NameMappers.DISCRIMINATING_NAME,
NameMapper.class, NameMappers.discriminatingNameMapper());
+ // registry.bind(NameMappers.FILE_GAV_NAME, NameMapper.class,
NameMappers.fileGavNameMapper());
+ // registry.bind(NameMappers.FILE_HGAV_NAME, NameMapper.class,
NameMappers.fileHashingGavNameMapper());
// requirements of
org.apache.maven.repository.internal.DefaultVersionResolver (these are
deprecated)
registry.bind(org.eclipse.aether.impl.SyncContextFactory.class,
@@ -674,6 +691,10 @@ public class MavenDependencyDownloader extends
ServiceSupport implements Depende
// additional services
registry.bind(org.eclipse.aether.spi.log.LoggerFactory.class,
Slf4jLoggerFactory.class);
+
+ // resolver 1.9.x
+ registry.bind(RemoteRepositoryFilterManager.class,
DefaultRemoteRepositoryFilterManager.class);
+ registry.bind(RepositorySystemLifecycle.class,
DefaultRepositorySystemLifecycle.class);
}
/**
@@ -1202,8 +1223,10 @@ public class MavenDependencyDownloader extends
ServiceSupport implements Depende
})
.collect(Collectors.toList());
} catch (DependencyResolutionException e) {
- String msg = "Cannot resolve dependencies in " +
repositories.stream().map(RemoteRepository::getUrl)
- .collect(Collectors.joining(", "));
+ String repos = repositories == null
+ ? "(empty URL list)"
+ :
repositories.stream().map(RemoteRepository::getUrl).collect(Collectors.joining(",
"));
+ String msg = "Cannot resolve dependencies in " + repos;
throw new DownloadException(msg, e);
} catch (RuntimeException e) {
throw new DownloadException("Unknown error occurred while trying
to resolve dependencies", e);
diff --git
a/dsl/camel-kamelet-main/src/test/java/org/apache/camel/main/MavenDependencyResolverTest.java
b/dsl/camel-kamelet-main/src/test/java/org/apache/camel/main/MavenDependencyResolverTest.java
index 9287a2c7496..32530a383ce 100644
---
a/dsl/camel-kamelet-main/src/test/java/org/apache/camel/main/MavenDependencyResolverTest.java
+++
b/dsl/camel-kamelet-main/src/test/java/org/apache/camel/main/MavenDependencyResolverTest.java
@@ -135,14 +135,14 @@ public class MavenDependencyResolverTest {
MavenDependencyDownloader downloader = new
MavenDependencyDownloader()) {
downloader.build();
- List<MavenArtifact> answer =
downloader.resolveDependenciesViaAether(deps, null, true);
+ List<MavenArtifact> answer =
downloader.resolveDependenciesViaAether(deps, true);
Assertions.assertNotNull(answer);
assertTrue(answer.size() > 15);
for (MavenArtifact ma : answer) {
LOG.info("Artifact (transitive): {}", ma);
}
- answer = downloader.resolveDependenciesViaAether(deps, null,
false);
+ answer = downloader.resolveDependenciesViaAether(deps, false);
Assertions.assertNotNull(answer);
assertEquals(1, answer.size());
for (MavenArtifact ma : answer) {
diff --git a/parent/pom.xml b/parent/pom.xml
index 0c14768f946..f7d4cbb86ab 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -385,7 +385,7 @@
<maven-resources-plugin-version>3.2.0</maven-resources-plugin-version>
<maven-reporting-api-version>2.2.1</maven-reporting-api-version>
<maven-reporting-impl-version>2.0.5</maven-reporting-impl-version>
- <maven-resolver-version>1.8.2</maven-resolver-version>
+ <maven-resolver-version>1.9.2</maven-resolver-version>
<maven-shade-plugin-version>3.4.1</maven-shade-plugin-version>
<maven-shared-utils-plugin-version>3.3.4</maven-shared-utils-plugin-version>
<maven-surefire-report-plugin-version>3.0.0-M4</maven-surefire-report-plugin-version>