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 10ed06060..917f2d689 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 @@ -26,7 +26,15 @@ 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.DefaultArtifactDescriptorReader; +import org.apache.maven.repository.internal.DefaultModelCacheFactory; +import org.apache.maven.repository.internal.DefaultVersionRangeResolver; +import org.apache.maven.repository.internal.DefaultVersionResolver; +import org.apache.maven.repository.internal.MavenArtifactRelocationSource; +import org.apache.maven.repository.internal.ModelCacheFactory; +import org.apache.maven.repository.internal.PluginsMetadataGeneratorFactory; +import org.apache.maven.repository.internal.SnapshotMetadataGeneratorFactory; +import org.apache.maven.repository.internal.VersionsMetadataGeneratorFactory; import org.apache.maven.repository.internal.relocation.DistributionManagementArtifactRelocationSource; import org.apache.maven.repository.internal.relocation.UserPropertiesArtifactRelocationSource; import org.eclipse.aether.RepositoryListener; @@ -50,7 +58,34 @@ 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.DefaultArtifactPredicateFactory; +import org.eclipse.aether.internal.impl.DefaultArtifactResolver; +import org.eclipse.aether.internal.impl.DefaultChecksumPolicyProvider; +import org.eclipse.aether.internal.impl.DefaultChecksumProcessor; +import org.eclipse.aether.internal.impl.DefaultDeployer; +import org.eclipse.aether.internal.impl.DefaultInstaller; +import org.eclipse.aether.internal.impl.DefaultLocalPathComposer; +import org.eclipse.aether.internal.impl.DefaultLocalPathPrefixComposerFactory; +import org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider; +import org.eclipse.aether.internal.impl.DefaultMetadataResolver; +import org.eclipse.aether.internal.impl.DefaultOfflineController; +import org.eclipse.aether.internal.impl.DefaultPathProcessor; +import org.eclipse.aether.internal.impl.DefaultRemoteRepositoryManager; +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; +import org.eclipse.aether.internal.impl.DefaultUpdatePolicyAnalyzer; +import org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManagerFactory; +import org.eclipse.aether.internal.impl.LocalPathComposer; +import org.eclipse.aether.internal.impl.LocalPathPrefixComposerFactory; +import org.eclipse.aether.internal.impl.Maven2RepositoryLayoutFactory; +import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory; +import org.eclipse.aether.internal.impl.TrackingFileManager; import org.eclipse.aether.internal.impl.checksum.DefaultChecksumAlgorithmFactorySelector; import org.eclipse.aether.internal.impl.checksum.Md5ChecksumAlgorithmFactory; import org.eclipse.aether.internal.impl.checksum.Sha1ChecksumAlgorithmFactory; @@ -107,7 +142,7 @@ import org.eclipse.aether.version.VersionScheme; /** - * A simple memorizing {@link Supplier} of {@link org.eclipse.aether.RepositorySystem} instance, that on first call + * A simple memorizing {@link Supplier} of {@link RepositorySystem} instance, that on first call * supplies lazily constructed instance, and on each subsequent call same instance. Hence, this instance should be * thrown away immediately once repository system was created and there is no need for more instances. If new * repository system instance needed, new instance of this class must be created. For proper shut down of returned @@ -127,7 +162,7 @@ * their lifecycle is shared as well: once supplied repository system is shut-down, this instance becomes closed as * well. Any subsequent {@code getXXX} method invocation attempt will fail with {@link IllegalStateException}. * - * @since 1.9.15 + * @since 2.0.0 */ public class RepositorySystemSupplier implements Supplier { private final AtomicBoolean closed = new AtomicBoolean(false); 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 0b2e13bbc..7114a5e1c 100644 --- a/pom.xml +++ b/pom.xml @@ -105,7 +105,7 @@ 10.0.21 3.9.6 - 4.0.0-alpha-13 + 4.0.0-beta-3 [3.8.8,) [21,)