From 058c20c06788557c75e2b27ff1da1ad98af1102b Mon Sep 17 00:00:00 2001 From: Tamas Cservenak Date: Tue, 2 Apr 2024 12:23:59 +0200 Subject: [PATCH] Maven 4.0.0-alpha-14 updates Parked just for reference. Changes: * remove SystemScopeHandler (was added in alpha-8 and implemented in Maven 4 alpha-13) * scope configuration canonical source is Maven 4 * RepositorySystem and SessionBuilder supplier canonical source is Maven 4 --- .../eclipse/aether/SystemScopeHandler.java | 27 - .../Maven4ScopeManagerConfiguration.java | 178 ---- .../supplier/RepositorySystemSupplier.java | 963 +----------------- .../supplier/SessionBuilderSupplier.java | 19 - pom.xml | 2 +- 5 files changed, 2 insertions(+), 1187 deletions(-) delete mode 100644 maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/SystemScopeHandler.java delete mode 100644 maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/Maven4ScopeManagerConfiguration.java diff --git a/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/SystemScopeHandler.java b/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/SystemScopeHandler.java deleted file mode 100644 index 58741e2eb..000000000 --- a/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/SystemScopeHandler.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * 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. - */ -package org.eclipse.aether; - -/** - * This class here is merely to provide backward compatibility to Maven4-alpha-13. Pretend is not here. - * - * @since 2.0.0 - */ -@Deprecated -public interface SystemScopeHandler {} diff --git a/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/Maven4ScopeManagerConfiguration.java b/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/Maven4ScopeManagerConfiguration.java deleted file mode 100644 index 2b5fa044b..000000000 --- a/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/Maven4ScopeManagerConfiguration.java +++ /dev/null @@ -1,178 +0,0 @@ -/* - * 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. - */ -package org.eclipse.aether.supplier; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.stream.Collectors; - -import org.eclipse.aether.artifact.ArtifactProperties; -import org.eclipse.aether.impl.scope.BuildScopeMatrixSource; -import org.eclipse.aether.impl.scope.BuildScopeSource; -import org.eclipse.aether.impl.scope.CommonBuilds; -import org.eclipse.aether.impl.scope.InternalScopeManager; -import org.eclipse.aether.impl.scope.ScopeManagerConfiguration; -import org.eclipse.aether.internal.impl.scope.ScopeManagerDump; -import org.eclipse.aether.scope.DependencyScope; -import org.eclipse.aether.scope.ResolutionScope; - -import static org.eclipse.aether.impl.scope.BuildScopeQuery.all; -import static org.eclipse.aether.impl.scope.BuildScopeQuery.byBuildPath; -import static org.eclipse.aether.impl.scope.BuildScopeQuery.byProjectPath; -import static org.eclipse.aether.impl.scope.BuildScopeQuery.select; -import static org.eclipse.aether.impl.scope.BuildScopeQuery.singleton; -import static org.eclipse.aether.impl.scope.BuildScopeQuery.union; - -/** - * Maven4 scope configurations. Configures scope manager to support Maven4 scopes. - * - * @since 2.0.0 - */ -public final class Maven4ScopeManagerConfiguration implements ScopeManagerConfiguration { - public static final Maven4ScopeManagerConfiguration INSTANCE = new Maven4ScopeManagerConfiguration(); - - public static final String DS_NONE = "none"; - public static final String DS_COMPILE = "compile"; - public static final String DS_COMPILE_ONLY = "compileOnly"; - public static final String DS_RUNTIME = "runtime"; - public static final String DS_PROVIDED = "provided"; - public static final String DS_SYSTEM = "system"; - public static final String DS_TEST = "test"; - public static final String DS_TEST_RUNTIME = "testRuntime"; - public static final String DS_TEST_ONLY = "testOnly"; - public static final String RS_NONE = "none"; - public static final String RS_MAIN_COMPILE = "main-compile"; - public static final String RS_MAIN_COMPILE_PLUS_RUNTIME = "main-compilePlusRuntime"; - public static final String RS_MAIN_RUNTIME = "main-runtime"; - public static final String RS_MAIN_RUNTIME_PLUS_SYSTEM = "main-runtimePlusSystem"; - public static final String RS_TEST_COMPILE = "test-compile"; - public static final String RS_TEST_RUNTIME = "test-runtime"; - - private Maven4ScopeManagerConfiguration() {} - - @Override - public String getId() { - return "Maven4"; - } - - @Override - public boolean isStrictDependencyScopes() { - return false; - } - - @Override - public boolean isStrictResolutionScopes() { - return false; - } - - @Override - public BuildScopeSource getBuildScopeSource() { - return new BuildScopeMatrixSource( - Arrays.asList(CommonBuilds.PROJECT_PATH_MAIN, CommonBuilds.PROJECT_PATH_TEST), - Arrays.asList(CommonBuilds.BUILD_PATH_COMPILE, CommonBuilds.BUILD_PATH_RUNTIME)); - } - - @Override - public Collection buildDependencyScopes(InternalScopeManager internalScopeManager) { - ArrayList result = new ArrayList<>(); - result.add(internalScopeManager.createDependencyScope(DS_COMPILE, true, all())); - result.add(internalScopeManager.createDependencyScope( - DS_RUNTIME, true, byBuildPath(CommonBuilds.BUILD_PATH_RUNTIME))); - result.add(internalScopeManager.createDependencyScope( - DS_PROVIDED, - false, - union( - byBuildPath(CommonBuilds.BUILD_PATH_COMPILE), - select(CommonBuilds.PROJECT_PATH_TEST, CommonBuilds.BUILD_PATH_RUNTIME)))); - result.add(internalScopeManager.createDependencyScope( - DS_TEST, false, byProjectPath(CommonBuilds.PROJECT_PATH_TEST))); - result.add(internalScopeManager.createSystemDependencyScope( - DS_SYSTEM, false, all(), ArtifactProperties.LOCAL_PATH)); - result.add(internalScopeManager.createDependencyScope(DS_NONE, false, Collections.emptySet())); - result.add(internalScopeManager.createDependencyScope( - DS_COMPILE_ONLY, false, singleton(CommonBuilds.PROJECT_PATH_MAIN, CommonBuilds.BUILD_PATH_COMPILE))); - result.add(internalScopeManager.createDependencyScope( - DS_TEST_RUNTIME, false, singleton(CommonBuilds.PROJECT_PATH_TEST, CommonBuilds.BUILD_PATH_RUNTIME))); - result.add(internalScopeManager.createDependencyScope( - DS_TEST_ONLY, false, singleton(CommonBuilds.PROJECT_PATH_TEST, CommonBuilds.BUILD_PATH_COMPILE))); - return result; - } - - @Override - public Collection buildResolutionScopes(InternalScopeManager internalScopeManager) { - Collection allDependencyScopes = internalScopeManager.getDependencyScopeUniverse(); - Collection nonTransitiveDependencyScopes = - allDependencyScopes.stream().filter(s -> !s.isTransitive()).collect(Collectors.toSet()); - DependencyScope system = - internalScopeManager.getDependencyScope(DS_SYSTEM).orElse(null); - - ArrayList result = new ArrayList<>(); - result.add(internalScopeManager.createResolutionScope( - RS_NONE, - InternalScopeManager.Mode.REMOVE, - Collections.emptySet(), - Collections.emptySet(), - allDependencyScopes)); - result.add(internalScopeManager.createResolutionScope( - RS_MAIN_COMPILE, - InternalScopeManager.Mode.ELIMINATE, - singleton(CommonBuilds.PROJECT_PATH_MAIN, CommonBuilds.BUILD_PATH_COMPILE), - Collections.singletonList(system), - nonTransitiveDependencyScopes)); - result.add(internalScopeManager.createResolutionScope( - RS_MAIN_COMPILE_PLUS_RUNTIME, - InternalScopeManager.Mode.ELIMINATE, - byProjectPath(CommonBuilds.PROJECT_PATH_MAIN), - Collections.singletonList(system), - nonTransitiveDependencyScopes)); - result.add(internalScopeManager.createResolutionScope( - RS_MAIN_RUNTIME, - InternalScopeManager.Mode.REMOVE, - singleton(CommonBuilds.PROJECT_PATH_MAIN, CommonBuilds.BUILD_PATH_RUNTIME), - Collections.emptySet(), - nonTransitiveDependencyScopes)); - result.add(internalScopeManager.createResolutionScope( - RS_MAIN_RUNTIME_PLUS_SYSTEM, - InternalScopeManager.Mode.REMOVE, - singleton(CommonBuilds.PROJECT_PATH_MAIN, CommonBuilds.BUILD_PATH_RUNTIME), - Collections.singletonList(system), - nonTransitiveDependencyScopes)); - result.add(internalScopeManager.createResolutionScope( - RS_TEST_COMPILE, - InternalScopeManager.Mode.ELIMINATE, - select(CommonBuilds.PROJECT_PATH_TEST, CommonBuilds.BUILD_PATH_COMPILE), - Collections.singletonList(system), - nonTransitiveDependencyScopes)); - result.add(internalScopeManager.createResolutionScope( - RS_TEST_RUNTIME, - InternalScopeManager.Mode.ELIMINATE, - select(CommonBuilds.PROJECT_PATH_TEST, CommonBuilds.BUILD_PATH_RUNTIME), - Collections.singletonList(system), - nonTransitiveDependencyScopes)); - return result; - } - - // === - - public static void main(String... args) { - ScopeManagerDump.dump(Maven4ScopeManagerConfiguration.INSTANCE); - } -} diff --git a/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/RepositorySystemSupplier.java b/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/RepositorySystemSupplier.java index af9bc2a48..12db90984 100644 --- a/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/RepositorySystemSupplier.java +++ b/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/RepositorySystemSupplier.java @@ -18,92 +18,11 @@ */ package org.eclipse.aether.supplier; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Supplier; -import org.apache.maven.model.building.DefaultModelBuilderFactory; -import org.apache.maven.model.building.ModelBuilder; import org.apache.maven.repository.internal.*; -import org.apache.maven.repository.internal.relocation.DistributionManagementArtifactRelocationSource; -import org.apache.maven.repository.internal.relocation.UserPropertiesArtifactRelocationSource; -import org.eclipse.aether.RepositoryListener; import org.eclipse.aether.RepositorySystem; -import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory; -import org.eclipse.aether.impl.ArtifactDescriptorReader; -import org.eclipse.aether.impl.ArtifactResolver; -import org.eclipse.aether.impl.DependencyCollector; -import org.eclipse.aether.impl.Deployer; -import org.eclipse.aether.impl.Installer; -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; -import org.eclipse.aether.impl.VersionResolver; import org.eclipse.aether.internal.impl.*; -import org.eclipse.aether.internal.impl.checksum.DefaultChecksumAlgorithmFactorySelector; -import org.eclipse.aether.internal.impl.checksum.Md5ChecksumAlgorithmFactory; -import org.eclipse.aether.internal.impl.checksum.Sha1ChecksumAlgorithmFactory; -import org.eclipse.aether.internal.impl.checksum.Sha256ChecksumAlgorithmFactory; -import org.eclipse.aether.internal.impl.checksum.Sha512ChecksumAlgorithmFactory; -import org.eclipse.aether.internal.impl.checksum.SparseDirectoryTrustedChecksumsSource; -import org.eclipse.aether.internal.impl.checksum.SummaryFileTrustedChecksumsSource; -import org.eclipse.aether.internal.impl.checksum.TrustedToProvidedChecksumsSourceAdapter; -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.filter.GroupIdRemoteRepositoryFilterSource; -import org.eclipse.aether.internal.impl.filter.PrefixesRemoteRepositoryFilterSource; -import org.eclipse.aether.internal.impl.resolution.TrustedChecksumsArtifactResolverPostProcessor; -import org.eclipse.aether.internal.impl.synccontext.DefaultSyncContextFactory; -import org.eclipse.aether.internal.impl.synccontext.named.NameMapper; -import org.eclipse.aether.internal.impl.synccontext.named.NameMappers; -import org.eclipse.aether.internal.impl.synccontext.named.NamedLockFactoryAdapterFactory; -import org.eclipse.aether.internal.impl.synccontext.named.NamedLockFactoryAdapterFactoryImpl; -import org.eclipse.aether.internal.impl.transport.http.DefaultChecksumExtractor; -import org.eclipse.aether.internal.impl.transport.http.Nx2ChecksumExtractor; -import org.eclipse.aether.internal.impl.transport.http.XChecksumExtractor; -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.spi.artifact.ArtifactPredicateFactory; -import org.eclipse.aether.spi.artifact.generator.ArtifactGeneratorFactory; -import org.eclipse.aether.spi.checksums.ProvidedChecksumsSource; -import org.eclipse.aether.spi.checksums.TrustedChecksumsSource; -import org.eclipse.aether.spi.connector.RepositoryConnectorFactory; -import org.eclipse.aether.spi.connector.checksum.ChecksumAlgorithmFactory; -import org.eclipse.aether.spi.connector.checksum.ChecksumAlgorithmFactorySelector; -import org.eclipse.aether.spi.connector.checksum.ChecksumPolicyProvider; -import org.eclipse.aether.spi.connector.filter.RemoteRepositoryFilterSource; -import org.eclipse.aether.spi.connector.layout.RepositoryLayoutFactory; -import org.eclipse.aether.spi.connector.layout.RepositoryLayoutProvider; -import org.eclipse.aether.spi.connector.transport.TransporterFactory; -import org.eclipse.aether.spi.connector.transport.TransporterProvider; -import org.eclipse.aether.spi.connector.transport.http.ChecksumExtractor; -import org.eclipse.aether.spi.connector.transport.http.ChecksumExtractorStrategy; -import org.eclipse.aether.spi.io.ChecksumProcessor; -import org.eclipse.aether.spi.io.PathProcessor; -import org.eclipse.aether.spi.localrepo.LocalRepositoryManagerFactory; -import org.eclipse.aether.spi.resolution.ArtifactResolverPostProcessor; -import org.eclipse.aether.spi.synccontext.SyncContextFactory; -import org.eclipse.aether.transport.apache.ApacheTransporterFactory; -import org.eclipse.aether.transport.file.FileTransporterFactory; -import org.eclipse.aether.util.version.GenericVersionScheme; -import org.eclipse.aether.version.VersionScheme; /** * A simple memorizing {@link Supplier} of {@link org.eclipse.aether.RepositorySystem} instance, that on first call @@ -128,884 +47,4 @@ * * @since 1.9.15 */ -public class RepositorySystemSupplier implements Supplier { - private final AtomicBoolean closed = new AtomicBoolean(false); - - public RepositorySystemSupplier() {} - - private void checkClosed() { - if (closed.get()) { - throw new IllegalStateException("Supplier is closed"); - } - } - - private PathProcessor pathProcessor; - - public final PathProcessor getPathProcessor() { - checkClosed(); - if (pathProcessor == null) { - pathProcessor = createPathProcessor(); - } - return pathProcessor; - } - - protected PathProcessor createPathProcessor() { - return new DefaultPathProcessor(); - } - - private ChecksumProcessor checksumProcessor; - - public final ChecksumProcessor getChecksumProcessor() { - checkClosed(); - if (checksumProcessor == null) { - checksumProcessor = createChecksumProcessor(); - } - return checksumProcessor; - } - - protected ChecksumProcessor createChecksumProcessor() { - return new DefaultChecksumProcessor(getPathProcessor()); - } - - private TrackingFileManager trackingFileManager; - - public final TrackingFileManager getTrackingFileManager() { - checkClosed(); - if (trackingFileManager == null) { - trackingFileManager = createTrackingFileManager(); - } - return trackingFileManager; - } - - protected TrackingFileManager createTrackingFileManager() { - return new DefaultTrackingFileManager(); - } - - private LocalPathComposer localPathComposer; - - public final LocalPathComposer getLocalPathComposer() { - checkClosed(); - if (localPathComposer == null) { - localPathComposer = createLocalPathComposer(); - } - return localPathComposer; - } - - protected LocalPathComposer createLocalPathComposer() { - return new DefaultLocalPathComposer(); - } - - private LocalPathPrefixComposerFactory localPathPrefixComposerFactory; - - public final LocalPathPrefixComposerFactory getLocalPathPrefixComposerFactory() { - checkClosed(); - if (localPathPrefixComposerFactory == null) { - localPathPrefixComposerFactory = createLocalPathPrefixComposerFactory(); - } - return localPathPrefixComposerFactory; - } - - protected LocalPathPrefixComposerFactory createLocalPathPrefixComposerFactory() { - return new DefaultLocalPathPrefixComposerFactory(); - } - - private RepositorySystemLifecycle repositorySystemLifecycle; - - public final RepositorySystemLifecycle getRepositorySystemLifecycle() { - checkClosed(); - if (repositorySystemLifecycle == null) { - repositorySystemLifecycle = createRepositorySystemLifecycle(); - repositorySystemLifecycle.addOnSystemEndedHandler(() -> closed.set(true)); - } - return repositorySystemLifecycle; - } - - protected RepositorySystemLifecycle createRepositorySystemLifecycle() { - return new DefaultRepositorySystemLifecycle(); - } - - private OfflineController offlineController; - - public final OfflineController getOfflineController() { - checkClosed(); - if (offlineController == null) { - offlineController = createOfflineController(); - } - return offlineController; - } - - protected OfflineController createOfflineController() { - return new DefaultOfflineController(); - } - - private UpdatePolicyAnalyzer updatePolicyAnalyzer; - - public final UpdatePolicyAnalyzer getUpdatePolicyAnalyzer() { - checkClosed(); - if (updatePolicyAnalyzer == null) { - updatePolicyAnalyzer = createUpdatePolicyAnalyzer(); - } - return updatePolicyAnalyzer; - } - - protected UpdatePolicyAnalyzer createUpdatePolicyAnalyzer() { - return new DefaultUpdatePolicyAnalyzer(); - } - - private ChecksumPolicyProvider checksumPolicyProvider; - - public final ChecksumPolicyProvider getChecksumPolicyProvider() { - checkClosed(); - if (checksumPolicyProvider == null) { - checksumPolicyProvider = createChecksumPolicyProvider(); - } - return checksumPolicyProvider; - } - - protected ChecksumPolicyProvider createChecksumPolicyProvider() { - return new DefaultChecksumPolicyProvider(); - } - - private UpdateCheckManager updateCheckManager; - - public final UpdateCheckManager getUpdateCheckManager() { - checkClosed(); - if (updateCheckManager == null) { - updateCheckManager = createUpdateCheckManager(); - } - return updateCheckManager; - } - - protected UpdateCheckManager createUpdateCheckManager() { - return new DefaultUpdateCheckManager(getTrackingFileManager(), getUpdatePolicyAnalyzer(), getPathProcessor()); - } - - private Map namedLockFactories; - - public final Map getNamedLockFactories() { - checkClosed(); - if (namedLockFactories == null) { - namedLockFactories = createNamedLockFactories(); - } - return namedLockFactories; - } - - protected Map createNamedLockFactories() { - HashMap result = new HashMap<>(); - result.put(NoopNamedLockFactory.NAME, new NoopNamedLockFactory()); - result.put(LocalReadWriteLockNamedLockFactory.NAME, new LocalReadWriteLockNamedLockFactory()); - result.put(LocalSemaphoreNamedLockFactory.NAME, new LocalSemaphoreNamedLockFactory()); - result.put(FileLockNamedLockFactory.NAME, new FileLockNamedLockFactory()); - return result; - } - - private Map nameMappers; - - public final Map getNameMappers() { - checkClosed(); - if (nameMappers == null) { - nameMappers = createNameMappers(); - } - return nameMappers; - } - - protected Map createNameMappers() { - HashMap result = new HashMap<>(); - result.put(NameMappers.STATIC_NAME, NameMappers.staticNameMapper()); - result.put(NameMappers.GAV_NAME, NameMappers.gavNameMapper()); - result.put(NameMappers.DISCRIMINATING_NAME, NameMappers.discriminatingNameMapper()); - result.put(NameMappers.FILE_GAV_NAME, NameMappers.fileGavNameMapper()); - result.put(NameMappers.FILE_HGAV_NAME, NameMappers.fileHashingGavNameMapper()); - return result; - } - - private NamedLockFactoryAdapterFactory namedLockFactoryAdapterFactory; - - public final NamedLockFactoryAdapterFactory getNamedLockFactoryAdapterFactory() { - checkClosed(); - if (namedLockFactoryAdapterFactory == null) { - namedLockFactoryAdapterFactory = createNamedLockFactoryAdapterFactory(); - } - return namedLockFactoryAdapterFactory; - } - - protected NamedLockFactoryAdapterFactory createNamedLockFactoryAdapterFactory() { - return new NamedLockFactoryAdapterFactoryImpl( - getNamedLockFactories(), getNameMappers(), getRepositorySystemLifecycle()); - } - - private SyncContextFactory syncContextFactory; - - public final SyncContextFactory getSyncContextFactory() { - checkClosed(); - if (syncContextFactory == null) { - syncContextFactory = createSyncContextFactory(); - } - return syncContextFactory; - } - - protected SyncContextFactory createSyncContextFactory() { - return new DefaultSyncContextFactory(getNamedLockFactoryAdapterFactory()); - } - - private Map checksumAlgorithmFactories; - - public final Map getChecksumAlgorithmFactories() { - checkClosed(); - if (checksumAlgorithmFactories == null) { - checksumAlgorithmFactories = createChecksumAlgorithmFactories(); - } - return checksumAlgorithmFactories; - } - - protected Map createChecksumAlgorithmFactories() { - HashMap result = new HashMap<>(); - result.put(Sha512ChecksumAlgorithmFactory.NAME, new Sha512ChecksumAlgorithmFactory()); - result.put(Sha256ChecksumAlgorithmFactory.NAME, new Sha256ChecksumAlgorithmFactory()); - result.put(Sha1ChecksumAlgorithmFactory.NAME, new Sha1ChecksumAlgorithmFactory()); - result.put(Md5ChecksumAlgorithmFactory.NAME, new Md5ChecksumAlgorithmFactory()); - return result; - } - - private ChecksumAlgorithmFactorySelector checksumAlgorithmFactorySelector; - - public final ChecksumAlgorithmFactorySelector getChecksumAlgorithmFactorySelector() { - checkClosed(); - if (checksumAlgorithmFactorySelector == null) { - checksumAlgorithmFactorySelector = createChecksumAlgorithmFactorySelector(); - } - return checksumAlgorithmFactorySelector; - } - - protected ChecksumAlgorithmFactorySelector createChecksumAlgorithmFactorySelector() { - return new DefaultChecksumAlgorithmFactorySelector(getChecksumAlgorithmFactories()); - } - - private ArtifactPredicateFactory artifactPredicateFactory; - - public final ArtifactPredicateFactory getArtifactPredicateFactory() { - checkClosed(); - if (artifactPredicateFactory == null) { - artifactPredicateFactory = createArtifactPredicateFactory(); - } - return artifactPredicateFactory; - } - - protected ArtifactPredicateFactory createArtifactPredicateFactory() { - return new DefaultArtifactPredicateFactory(getChecksumAlgorithmFactorySelector()); - } - - private Map repositoryLayoutFactories; - - public final Map getRepositoryLayoutFactories() { - checkClosed(); - if (repositoryLayoutFactories == null) { - repositoryLayoutFactories = createRepositoryLayoutFactories(); - } - return repositoryLayoutFactories; - } - - protected Map createRepositoryLayoutFactories() { - HashMap result = new HashMap<>(); - result.put( - Maven2RepositoryLayoutFactory.NAME, - new Maven2RepositoryLayoutFactory( - getChecksumAlgorithmFactorySelector(), getArtifactPredicateFactory())); - return result; - } - - private RepositoryLayoutProvider repositoryLayoutProvider; - - public final RepositoryLayoutProvider getRepositoryLayoutProvider() { - checkClosed(); - if (repositoryLayoutProvider == null) { - repositoryLayoutProvider = createRepositoryLayoutProvider(); - } - return repositoryLayoutProvider; - } - - protected RepositoryLayoutProvider createRepositoryLayoutProvider() { - return new DefaultRepositoryLayoutProvider(getRepositoryLayoutFactories()); - } - - private LocalRepositoryProvider localRepositoryProvider; - - public final LocalRepositoryProvider getLocalRepositoryProvider() { - checkClosed(); - if (localRepositoryProvider == null) { - localRepositoryProvider = createLocalRepositoryProvider(); - } - return localRepositoryProvider; - } - - protected LocalRepositoryProvider createLocalRepositoryProvider() { - LocalPathComposer localPathComposer = getLocalPathComposer(); - HashMap localRepositoryProviders = new HashMap<>(2); - localRepositoryProviders.put( - SimpleLocalRepositoryManagerFactory.NAME, new SimpleLocalRepositoryManagerFactory(localPathComposer)); - localRepositoryProviders.put( - EnhancedLocalRepositoryManagerFactory.NAME, - new EnhancedLocalRepositoryManagerFactory( - localPathComposer, getTrackingFileManager(), getLocalPathPrefixComposerFactory())); - return new DefaultLocalRepositoryProvider(localRepositoryProviders); - } - - private RemoteRepositoryManager remoteRepositoryManager; - - public final RemoteRepositoryManager getRemoteRepositoryManager() { - checkClosed(); - if (remoteRepositoryManager == null) { - remoteRepositoryManager = createRemoteRepositoryManager(); - } - return remoteRepositoryManager; - } - - protected RemoteRepositoryManager createRemoteRepositoryManager() { - return new DefaultRemoteRepositoryManager(getUpdatePolicyAnalyzer(), getChecksumPolicyProvider()); - } - - private Map remoteRepositoryFilterSources; - - public final Map getRemoteRepositoryFilterSources() { - checkClosed(); - if (remoteRepositoryFilterSources == null) { - remoteRepositoryFilterSources = createRemoteRepositoryFilterSources(); - } - return remoteRepositoryFilterSources; - } - - protected Map createRemoteRepositoryFilterSources() { - HashMap result = new HashMap<>(); - result.put( - GroupIdRemoteRepositoryFilterSource.NAME, - new GroupIdRemoteRepositoryFilterSource(getRepositorySystemLifecycle())); - result.put( - PrefixesRemoteRepositoryFilterSource.NAME, - new PrefixesRemoteRepositoryFilterSource(getRepositoryLayoutProvider())); - return result; - } - - private RemoteRepositoryFilterManager remoteRepositoryFilterManager; - - public final RemoteRepositoryFilterManager getRemoteRepositoryFilterManager() { - checkClosed(); - if (remoteRepositoryFilterManager == null) { - remoteRepositoryFilterManager = createRemoteRepositoryFilterManager(); - } - return remoteRepositoryFilterManager; - } - - protected RemoteRepositoryFilterManager createRemoteRepositoryFilterManager() { - return new DefaultRemoteRepositoryFilterManager(getRemoteRepositoryFilterSources()); - } - - private Map repositoryListeners; - - public final Map getRepositoryListeners() { - checkClosed(); - if (repositoryListeners == null) { - repositoryListeners = createRepositoryListeners(); - } - return repositoryListeners; - } - - protected Map createRepositoryListeners() { - return new HashMap<>(); - } - - private RepositoryEventDispatcher repositoryEventDispatcher; - - public final RepositoryEventDispatcher getRepositoryEventDispatcher() { - checkClosed(); - if (repositoryEventDispatcher == null) { - repositoryEventDispatcher = createRepositoryEventDispatcher(); - } - return repositoryEventDispatcher; - } - - protected RepositoryEventDispatcher createRepositoryEventDispatcher() { - return new DefaultRepositoryEventDispatcher(getRepositoryListeners()); - } - - private Map trustedChecksumsSources; - - public final Map getTrustedChecksumsSources() { - checkClosed(); - if (trustedChecksumsSources == null) { - trustedChecksumsSources = createTrustedChecksumsSources(); - } - return trustedChecksumsSources; - } - - protected Map createTrustedChecksumsSources() { - HashMap result = new HashMap<>(); - result.put( - SparseDirectoryTrustedChecksumsSource.NAME, - new SparseDirectoryTrustedChecksumsSource(getChecksumProcessor(), getLocalPathComposer())); - result.put( - SummaryFileTrustedChecksumsSource.NAME, - new SummaryFileTrustedChecksumsSource(getLocalPathComposer(), getRepositorySystemLifecycle())); - return result; - } - - private Map providedChecksumsSources; - - public final Map getProvidedChecksumsSources() { - checkClosed(); - if (providedChecksumsSources == null) { - providedChecksumsSources = createProvidedChecksumsSources(); - } - return providedChecksumsSources; - } - - protected Map createProvidedChecksumsSources() { - HashMap result = new HashMap<>(); - result.put( - TrustedToProvidedChecksumsSourceAdapter.NAME, - new TrustedToProvidedChecksumsSourceAdapter(getTrustedChecksumsSources())); - return result; - } - - private Map checksumExtractorStrategies; - - public final Map getChecksumExtractorStrategies() { - checkClosed(); - if (checksumExtractorStrategies == null) { - checksumExtractorStrategies = createChecksumExtractorStrategies(); - } - return checksumExtractorStrategies; - } - - protected Map createChecksumExtractorStrategies() { - HashMap result = new HashMap<>(); - result.put(XChecksumExtractor.NAME, new XChecksumExtractor()); - result.put(Nx2ChecksumExtractor.NAME, new Nx2ChecksumExtractor()); - return result; - } - - private ChecksumExtractor checksumExtractor; - - public final ChecksumExtractor getChecksumExtractor() { - checkClosed(); - if (checksumExtractor == null) { - checksumExtractor = createChecksumExtractor(); - } - return checksumExtractor; - } - - protected ChecksumExtractor createChecksumExtractor() { - return new DefaultChecksumExtractor(getChecksumExtractorStrategies()); - } - - private Map transporterFactories; - - public final Map getTransporterFactories() { - checkClosed(); - if (transporterFactories == null) { - transporterFactories = createTransporterFactories(); - } - return transporterFactories; - } - - protected Map createTransporterFactories() { - HashMap result = new HashMap<>(); - result.put(FileTransporterFactory.NAME, new FileTransporterFactory()); - result.put(ApacheTransporterFactory.NAME, new ApacheTransporterFactory(getChecksumExtractor())); - return result; - } - - private TransporterProvider transporterProvider; - - public final TransporterProvider getTransporterProvider() { - checkClosed(); - if (transporterProvider == null) { - transporterProvider = createTransporterProvider(); - } - return transporterProvider; - } - - protected TransporterProvider createTransporterProvider() { - return new DefaultTransporterProvider(getTransporterFactories()); - } - - private BasicRepositoryConnectorFactory basicRepositoryConnectorFactory; - - public final BasicRepositoryConnectorFactory getBasicRepositoryConnectorFactory() { - checkClosed(); - if (basicRepositoryConnectorFactory == null) { - basicRepositoryConnectorFactory = createBasicRepositoryConnectorFactory(); - } - return basicRepositoryConnectorFactory; - } - - protected BasicRepositoryConnectorFactory createBasicRepositoryConnectorFactory() { - return new BasicRepositoryConnectorFactory( - getTransporterProvider(), - getRepositoryLayoutProvider(), - getChecksumPolicyProvider(), - getChecksumProcessor(), - getProvidedChecksumsSources()); - } - - private Map repositoryConnectorFactories; - - public final Map getRepositoryConnectorFactories() { - checkClosed(); - if (repositoryConnectorFactories == null) { - repositoryConnectorFactories = createRepositoryConnectorFactories(); - } - return repositoryConnectorFactories; - } - - protected Map createRepositoryConnectorFactories() { - HashMap result = new HashMap<>(); - result.put(BasicRepositoryConnectorFactory.NAME, getBasicRepositoryConnectorFactory()); - return result; - } - - private RepositoryConnectorProvider repositoryConnectorProvider; - - public final RepositoryConnectorProvider getRepositoryConnectorProvider() { - checkClosed(); - if (repositoryConnectorProvider == null) { - repositoryConnectorProvider = createRepositoryConnectorProvider(); - } - return repositoryConnectorProvider; - } - - protected RepositoryConnectorProvider createRepositoryConnectorProvider() { - return new DefaultRepositoryConnectorProvider( - getRepositoryConnectorFactories(), getRemoteRepositoryFilterManager()); - } - - private Installer installer; - - public final Installer getInstaller() { - checkClosed(); - if (installer == null) { - installer = createInstaller(); - } - return installer; - } - - protected Installer createInstaller() { - return new DefaultInstaller( - getPathProcessor(), - getRepositoryEventDispatcher(), - getArtifactGeneratorFactories(), - getMetadataGeneratorFactories(), - getSyncContextFactory()); - } - - private Deployer deployer; - - public final Deployer getDeployer() { - checkClosed(); - if (deployer == null) { - deployer = createDeployer(); - } - return deployer; - } - - protected Deployer createDeployer() { - return new DefaultDeployer( - getPathProcessor(), - getRepositoryEventDispatcher(), - getRepositoryConnectorProvider(), - getRemoteRepositoryManager(), - getUpdateCheckManager(), - getArtifactGeneratorFactories(), - getMetadataGeneratorFactories(), - getSyncContextFactory(), - getOfflineController()); - } - - private Map dependencyCollectorDelegates; - - public final Map getDependencyCollectorDelegates() { - checkClosed(); - if (dependencyCollectorDelegates == null) { - dependencyCollectorDelegates = createDependencyCollectorDelegates(); - } - return dependencyCollectorDelegates; - } - - protected Map createDependencyCollectorDelegates() { - RemoteRepositoryManager remoteRepositoryManager = getRemoteRepositoryManager(); - ArtifactDescriptorReader artifactDescriptorReader = getArtifactDescriptorReader(); - VersionRangeResolver versionRangeResolver = getVersionRangeResolver(); - HashMap result = new HashMap<>(); - result.put( - DfDependencyCollector.NAME, - new DfDependencyCollector(remoteRepositoryManager, artifactDescriptorReader, versionRangeResolver)); - result.put( - BfDependencyCollector.NAME, - new BfDependencyCollector(remoteRepositoryManager, artifactDescriptorReader, versionRangeResolver)); - return result; - } - - private DependencyCollector dependencyCollector; - - public final DependencyCollector getDependencyCollector() { - checkClosed(); - if (dependencyCollector == null) { - dependencyCollector = createDependencyCollector(); - } - return dependencyCollector; - } - - protected DependencyCollector createDependencyCollector() { - return new DefaultDependencyCollector(getDependencyCollectorDelegates()); - } - - private Map artifactResolverPostProcessors; - - public final Map getArtifactResolverPostProcessors() { - checkClosed(); - if (artifactResolverPostProcessors == null) { - artifactResolverPostProcessors = createArtifactResolverPostProcessors(); - } - return artifactResolverPostProcessors; - } - - protected Map createArtifactResolverPostProcessors() { - HashMap result = new HashMap<>(); - result.put( - TrustedChecksumsArtifactResolverPostProcessor.NAME, - new TrustedChecksumsArtifactResolverPostProcessor( - getChecksumAlgorithmFactorySelector(), getTrustedChecksumsSources())); - return result; - } - - private ArtifactResolver artifactResolver; - - public final ArtifactResolver getArtifactResolver() { - checkClosed(); - if (artifactResolver == null) { - artifactResolver = createArtifactResolver(); - } - return artifactResolver; - } - - protected ArtifactResolver createArtifactResolver() { - return new DefaultArtifactResolver( - getPathProcessor(), - getRepositoryEventDispatcher(), - getVersionResolver(), - getUpdateCheckManager(), - getRepositoryConnectorProvider(), - getRemoteRepositoryManager(), - getSyncContextFactory(), - getOfflineController(), - getArtifactResolverPostProcessors(), - getRemoteRepositoryFilterManager()); - } - - private MetadataResolver metadataResolver; - - public final MetadataResolver getMetadataResolver() { - checkClosed(); - if (metadataResolver == null) { - metadataResolver = createMetadataResolver(); - } - return metadataResolver; - } - - protected MetadataResolver createMetadataResolver() { - return new DefaultMetadataResolver( - getRepositoryEventDispatcher(), - getUpdateCheckManager(), - getRepositoryConnectorProvider(), - getRemoteRepositoryManager(), - getSyncContextFactory(), - getOfflineController(), - getRemoteRepositoryFilterManager(), - getPathProcessor()); - } - - private VersionScheme versionScheme; - - public final VersionScheme getVersionScheme() { - checkClosed(); - if (versionScheme == null) { - versionScheme = createVersionScheme(); - } - return versionScheme; - } - - protected VersionScheme createVersionScheme() { - return new GenericVersionScheme(); - } - - private Map artifactGeneratorFactories; - - public final Map getArtifactGeneratorFactories() { - checkClosed(); - if (artifactGeneratorFactories == null) { - artifactGeneratorFactories = createArtifactGeneratorFactories(); - } - return artifactGeneratorFactories; - } - - protected Map createArtifactGeneratorFactories() { - // by default none, this is extension point - return new HashMap<>(); - } - - // Maven provided - - private Map metadataGeneratorFactories; - - public final Map getMetadataGeneratorFactories() { - checkClosed(); - if (metadataGeneratorFactories == null) { - metadataGeneratorFactories = createMetadataGeneratorFactories(); - } - return metadataGeneratorFactories; - } - - protected Map createMetadataGeneratorFactories() { - // from maven-resolver-provider - HashMap result = new HashMap<>(); - result.put(PluginsMetadataGeneratorFactory.NAME, new PluginsMetadataGeneratorFactory()); - result.put(VersionsMetadataGeneratorFactory.NAME, new VersionsMetadataGeneratorFactory()); - result.put(SnapshotMetadataGeneratorFactory.NAME, new SnapshotMetadataGeneratorFactory()); - return result; - } - - private LinkedHashMap artifactRelocationSources; - - public final LinkedHashMap getMavenArtifactRelocationSources() { - checkClosed(); - if (artifactRelocationSources == null) { - artifactRelocationSources = createMavenArtifactRelocationSources(); - } - return artifactRelocationSources; - } - - protected LinkedHashMap createMavenArtifactRelocationSources() { - // from maven-resolver-provider - LinkedHashMap result = new LinkedHashMap<>(); - result.put(UserPropertiesArtifactRelocationSource.NAME, new UserPropertiesArtifactRelocationSource()); - result.put( - DistributionManagementArtifactRelocationSource.NAME, - new DistributionManagementArtifactRelocationSource()); - return result; - } - - private ArtifactDescriptorReader artifactDescriptorReader; - - public final ArtifactDescriptorReader getArtifactDescriptorReader() { - checkClosed(); - if (artifactDescriptorReader == null) { - artifactDescriptorReader = createArtifactDescriptorReader(); - } - return artifactDescriptorReader; - } - - protected ArtifactDescriptorReader createArtifactDescriptorReader() { - // from maven-resolver-provider - return new DefaultArtifactDescriptorReader( - getRemoteRepositoryManager(), - getVersionResolver(), - getVersionRangeResolver(), - getArtifactResolver(), - getModelBuilder(), - getRepositoryEventDispatcher(), - getModelCacheFactory(), - getMavenArtifactRelocationSources()); - } - - private VersionResolver versionResolver; - - public final VersionResolver getVersionResolver() { - checkClosed(); - if (versionResolver == null) { - versionResolver = createVersionResolver(); - } - return versionResolver; - } - - protected VersionResolver createVersionResolver() { - // from maven-resolver-provider - return new DefaultVersionResolver( - getMetadataResolver(), getSyncContextFactory(), getRepositoryEventDispatcher()); - } - - private VersionRangeResolver versionRangeResolver; - - public final VersionRangeResolver getVersionRangeResolver() { - checkClosed(); - if (versionRangeResolver == null) { - versionRangeResolver = createVersionRangeResolver(); - } - return versionRangeResolver; - } - - protected VersionRangeResolver createVersionRangeResolver() { - // from maven-resolver-provider - return new DefaultVersionRangeResolver( - getMetadataResolver(), getSyncContextFactory(), getRepositoryEventDispatcher(), getVersionScheme()); - } - - private ModelBuilder modelBuilder; - - public final ModelBuilder getModelBuilder() { - checkClosed(); - if (modelBuilder == null) { - modelBuilder = createModelBuilder(); - } - return modelBuilder; - } - - protected ModelBuilder createModelBuilder() { - // from maven-model-builder - return new DefaultModelBuilderFactory().newInstance(); - } - - private ModelCacheFactory modelCacheFactory; - - public final ModelCacheFactory getModelCacheFactory() { - checkClosed(); - if (modelCacheFactory == null) { - modelCacheFactory = createModelCacheFactory(); - } - return modelCacheFactory; - } - - protected ModelCacheFactory createModelCacheFactory() { - // from maven-resolver-provider - return new DefaultModelCacheFactory(); - } - - private RepositorySystem repositorySystem; - - public final RepositorySystem getRepositorySystem() { - checkClosed(); - if (repositorySystem == null) { - repositorySystem = createRepositorySystem(); - } - return repositorySystem; - } - - protected RepositorySystem createRepositorySystem() { - return new DefaultRepositorySystem( - getVersionResolver(), - getVersionRangeResolver(), - getArtifactResolver(), - getMetadataResolver(), - getArtifactDescriptorReader(), - getDependencyCollector(), - getInstaller(), - getDeployer(), - getLocalRepositoryProvider(), - getSyncContextFactory(), - getRemoteRepositoryManager(), - getRepositorySystemLifecycle()); - } - - @Override - public RepositorySystem get() { - return getRepositorySystem(); - } -} +public class RepositorySystemSupplier extends MavenRepositorySystemSupplier {} diff --git a/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/SessionBuilderSupplier.java b/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/SessionBuilderSupplier.java index 31e0f79d0..2d6a935e1 100644 --- a/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/SessionBuilderSupplier.java +++ b/maven-resolver-supplier-mvn4/src/main/java/org/eclipse/aether/supplier/SessionBuilderSupplier.java @@ -24,10 +24,6 @@ import org.eclipse.aether.RepositorySystem; import org.eclipse.aether.RepositorySystemSession.CloseableSession; import org.eclipse.aether.RepositorySystemSession.SessionBuilder; -import org.eclipse.aether.collection.DependencyManager; -import org.eclipse.aether.impl.scope.InternalScopeManager; -import org.eclipse.aether.internal.impl.scope.ScopeManagerImpl; -import org.eclipse.aether.util.graph.manager.ClassicDependencyManager; /** * A simple {@link Supplier} of {@link SessionBuilder} instances, that on each call supplies newly @@ -42,19 +38,4 @@ public class SessionBuilderSupplier extends MavenSessionBuilderSupplier { public SessionBuilderSupplier(RepositorySystem repositorySystem) { super(repositorySystem); } - - @Override - protected void configureSessionBuilder(SessionBuilder session) { - super.configureSessionBuilder(session); - session.setScopeManager(getScopeManager()); - } - - @Override - protected DependencyManager getDependencyManager() { - return new ClassicDependencyManager(true, getScopeManager()); // same default as in Maven4 - } - - protected InternalScopeManager getScopeManager() { - return new ScopeManagerImpl(Maven4ScopeManagerConfiguration.INSTANCE); - } } diff --git a/pom.xml b/pom.xml index d975aa7cb..e1760c987 100644 --- a/pom.xml +++ b/pom.xml @@ -105,7 +105,7 @@ 10.0.20 3.9.6 - 4.0.0-alpha-13 + 4.0.0-alpha-14-SNAPSHOT [3.8.8,) [21,)