You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gg...@apache.org on 2023/01/13 09:27:52 UTC
[camel] branch main updated: [CAMEL-18880] Upgrade to maven-resolver 1.9.2 (and prepare for 1.9.2)
This is an automated email from the ASF dual-hosted git repository.
ggrzybek pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 22301f25e37 [CAMEL-18880] Upgrade to maven-resolver 1.9.2 (and prepare for 1.9.2)
22301f25e37 is described below
commit 22301f25e372e417df6af961c2ee08f8473d94b6
Author: Grzegorz Grzybek <gr...@gmail.com>
AuthorDate: Fri Jan 13 09:30:28 2023 +0100
[CAMEL-18880] Upgrade to maven-resolver 1.9.2 (and prepare for 1.9.2)
---
.../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 b8bfd905092..86bc7336c7a 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 719126c263e..9a6ed7161cb 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -374,7 +374,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>