This is an automated email from the ASF dual-hosted git repository.

cstamas pushed a commit to branch maven-3.10.x
in repository https://gitbox.apache.org/repos/asf/maven.git


The following commit(s) were added to refs/heads/maven-3.10.x by this push:
     new 615ebd4803 Dep: Resolver 2.0.18 and drop unused stuff (#12036)
615ebd4803 is described below

commit 615ebd4803e95c68cda416b172dc15f445a88546
Author: Tamas Cservenak <[email protected]>
AuthorDate: Tue May 19 22:45:32 2026 +0200

    Dep: Resolver 2.0.18 and drop unused stuff (#12036)
    
    Upgrades to Resolver 2.0.18 and drops the unused stuff.
    
    Fixes #12034
---
 .../DefaultRepositorySystemSessionFactory.java     |  12 +-
 .../DefaultPluginDependenciesResolver.java         |   5 +-
 .../internal/MavenSessionBuilderSupplier.java      |  24 +-
 .../repository/internal/VersionFilterBuilder.java  |  47 ----
 .../filters/DefaultVersionFilterBuilder.java       | 176 -------------
 .../scopes/Maven3ScopeManagerConfiguration.java    |  19 +-
 .../filters/DefaultVersionFilterBuilderTest.java   | 277 ---------------------
 7 files changed, 22 insertions(+), 538 deletions(-)

diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
 
b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
index c2864a36d7..066ba2aa4c 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
@@ -40,8 +40,6 @@
 import org.apache.maven.internal.RepositorySystemSessionFactory;
 import org.apache.maven.model.ModelBase;
 import org.apache.maven.repository.internal.MavenSessionBuilderSupplier;
-import org.apache.maven.repository.internal.VersionFilterBuilder;
-import 
org.apache.maven.repository.internal.scopes.Maven3ScopeManagerConfiguration;
 import org.apache.maven.rtinfo.RuntimeInformation;
 import org.apache.maven.settings.Mirror;
 import org.apache.maven.settings.Proxy;
@@ -58,8 +56,7 @@
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.RepositorySystem;
 import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.impl.scope.InternalScopeManager;
-import org.eclipse.aether.internal.impl.scope.ScopeManagerImpl;
+import org.eclipse.aether.collection.VersionFilterBuilder;
 import org.eclipse.aether.repository.LocalRepository;
 import org.eclipse.aether.repository.LocalRepositoryManager;
 import org.eclipse.aether.repository.RepositoryPolicy;
@@ -193,8 +190,6 @@ public class DefaultRepositorySystemSessionFactory 
implements RepositorySystemSe
 
     private final GenericVersionScheme versionScheme = new 
GenericVersionScheme();
 
-    private final InternalScopeManager scopeManager = new 
ScopeManagerImpl(Maven3ScopeManagerConfiguration.INSTANCE);
-
     /**
      * For legacy consumers; hopefully nobody.
      */
@@ -218,8 +213,7 @@ public RepositorySystemSession.SessionBuilder 
newRepositorySessionBuilder(MavenE
         configProps.putAll(request.getSystemProperties());
         configProps.putAll(request.getUserProperties());
 
-        RepositorySystemSession.SessionBuilder mainSessionBuilder =
-                new MavenSessionBuilderSupplier(repoSystem, 
scopeManager).get();
+        RepositorySystemSession.SessionBuilder mainSessionBuilder = new 
MavenSessionBuilderSupplier(repoSystem).get();
         mainSessionBuilder.setCache(request.getRepositoryCache());
 
         mainSessionBuilder.setOffline(request.isOffline());
@@ -280,7 +274,7 @@ public RepositorySystemSession.SessionBuilder 
newRepositorySessionBuilder(MavenE
         boolean dependencyManagerTransitivity =
                 ConfigUtils.getBoolean(configProps, false, 
MAVEN_RESOLVER_DEPENDENCY_MANAGER_TRANSITIVITY);
         if (dependencyManagerTransitivity) {
-            mainSessionBuilder.setDependencyManager(new 
TransitiveDependencyManager(scopeManager));
+            mainSessionBuilder.setDependencyManager(new 
TransitiveDependencyManager());
         }
 
         DefaultMirrorSelector mirrorSelector = new DefaultMirrorSelector();
diff --git 
a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
 
b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
index deb89e732b..f7cb0a30a9 100644
--- 
a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
+++ 
b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java
@@ -34,7 +34,6 @@
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.repository.internal.VersionFilterBuilder;
 import org.codehaus.plexus.util.StringUtils;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.RepositorySystem;
@@ -45,6 +44,7 @@
 import org.eclipse.aether.collection.CollectRequest;
 import org.eclipse.aether.collection.DependencyCollectionException;
 import org.eclipse.aether.collection.DependencySelector;
+import org.eclipse.aether.collection.VersionFilterBuilder;
 import org.eclipse.aether.graph.DependencyFilter;
 import org.eclipse.aether.graph.DependencyNode;
 import org.eclipse.aether.graph.DependencyVisitor;
@@ -196,8 +196,7 @@ private DependencyNode resolveInternal(
                     
AndDependencySelector.newInstance(session.getDependencySelector(), new 
WagonExcluder());
 
             DefaultRepositorySystemSession pluginSession = new 
DefaultRepositorySystemSession(session);
-            pluginSession.setConfigProperty(
-                    VersionFilterBuilder.MAVEN_VERSION_FILTER_SUPPRESSED, 
Boolean.TRUE.toString());
+            
pluginSession.setConfigProperty(VersionFilterBuilder.VERSION_FILTER_SUPPRESSED, 
Boolean.TRUE.toString());
             pluginSession.setDependencySelector(selector);
             
pluginSession.setDependencyGraphTransformer(session.getDependencyGraphTransformer());
 
diff --git 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenSessionBuilderSupplier.java
 
b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenSessionBuilderSupplier.java
index f55ffe6ab8..2e0397834c 100644
--- 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenSessionBuilderSupplier.java
+++ 
b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenSessionBuilderSupplier.java
@@ -32,10 +32,6 @@
 import org.eclipse.aether.collection.DependencyManager;
 import org.eclipse.aether.collection.DependencySelector;
 import org.eclipse.aether.collection.DependencyTraverser;
-import org.eclipse.aether.impl.scope.InternalScopeManager;
-import org.eclipse.aether.internal.impl.scope.ManagedDependencyContextRefiner;
-import org.eclipse.aether.internal.impl.scope.ManagedScopeDeriver;
-import org.eclipse.aether.internal.impl.scope.ManagedScopeSelector;
 import org.eclipse.aether.internal.impl.scope.OptionalDependencySelector;
 import org.eclipse.aether.internal.impl.scope.ScopeDependencySelector;
 import org.eclipse.aether.resolution.ArtifactDescriptorPolicy;
@@ -47,6 +43,9 @@
 import 
org.eclipse.aether.util.graph.transformer.ChainedDependencyGraphTransformer;
 import org.eclipse.aether.util.graph.transformer.ConfigurableVersionSelector;
 import org.eclipse.aether.util.graph.transformer.ConflictResolver;
+import org.eclipse.aether.util.graph.transformer.JavaDependencyContextRefiner;
+import org.eclipse.aether.util.graph.transformer.JavaScopeDeriver;
+import org.eclipse.aether.util.graph.transformer.JavaScopeSelector;
 import org.eclipse.aether.util.graph.transformer.SimpleOptionalitySelector;
 import org.eclipse.aether.util.graph.traverser.FatArtifactTraverser;
 import org.eclipse.aether.util.repository.SimpleArtifactDescriptorPolicy;
@@ -64,11 +63,9 @@
  */
 public class MavenSessionBuilderSupplier implements Supplier<SessionBuilder> {
     protected final RepositorySystem repositorySystem;
-    protected final InternalScopeManager scopeManager;
 
-    public MavenSessionBuilderSupplier(RepositorySystem repositorySystem, 
InternalScopeManager scopeManager) {
+    public MavenSessionBuilderSupplier(RepositorySystem repositorySystem) {
         this.repositorySystem = requireNonNull(repositorySystem);
-        this.scopeManager = requireNonNull(scopeManager);
     }
 
     protected void configureSessionBuilder(SessionBuilder session) {
@@ -78,7 +75,6 @@ protected void configureSessionBuilder(SessionBuilder 
session) {
             key = "env." + (caseSensitive ? key : 
key.toUpperCase(Locale.ENGLISH));
             session.setSystemProperty(key, value);
         });
-        session.setScopeManager(scopeManager);
         session.setDependencyTraverser(getDependencyTraverser());
         session.setDependencyManager(getDependencyManager());
         session.setDependencySelector(getDependencySelector());
@@ -87,16 +83,12 @@ protected void configureSessionBuilder(SessionBuilder 
session) {
         session.setArtifactDescriptorPolicy(getArtifactDescriptorPolicy());
     }
 
-    protected InternalScopeManager getScopeManager() {
-        return this.scopeManager;
-    }
-
     protected DependencyTraverser getDependencyTraverser() {
         return new FatArtifactTraverser();
     }
 
     protected DependencyManager getDependencyManager() {
-        return new ClassicDependencyManager(getScopeManager());
+        return new ClassicDependencyManager();
     }
 
     protected DependencySelector getDependencySelector() {
@@ -110,10 +102,10 @@ protected DependencyGraphTransformer 
getDependencyGraphTransformer() {
         return new ChainedDependencyGraphTransformer(
                 new ConflictResolver(
                         new ConfigurableVersionSelector(),
-                        new ManagedScopeSelector(getScopeManager()),
+                        new JavaScopeSelector(),
                         new SimpleOptionalitySelector(),
-                        new ManagedScopeDeriver(getScopeManager())),
-                new ManagedDependencyContextRefiner(getScopeManager()));
+                        new JavaScopeDeriver()),
+                new JavaDependencyContextRefiner());
     }
 
     protected ArtifactTypeRegistry getArtifactTypeRegistry() {
diff --git 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionFilterBuilder.java
 
b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionFilterBuilder.java
deleted file mode 100644
index 58fa1e8348..0000000000
--- 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/VersionFilterBuilder.java
+++ /dev/null
@@ -1,47 +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.apache.maven.repository.internal;
-
-import java.util.Optional;
-import java.util.function.Function;
-
-import org.eclipse.aether.collection.VersionFilter;
-import org.eclipse.aether.version.VersionConstraint;
-
-/**
- * Builds {@link VersionFilter} instances out of input expression string.
- *
- * @since 3.10.0
- */
-public interface VersionFilterBuilder {
-    /**
-     * User property for version filter suppression. Presence of this key will 
suppress filter created by this builder.
-     */
-    String MAVEN_VERSION_FILTER_SUPPRESSED = 
"maven.session.versionFilter.suppressed";
-
-    /**
-     * Builds a version filter based on the given filter expression.
-     *
-     * @param filterExpression a string containing filter expressions, may be 
{@code null}.
-     * @param versionConstraintParser version constraint parts to be used 
during parsing, must not be {@code null}.
-     * @return optional version filter, never {@code null}.
-     */
-    Optional<VersionFilter> buildVersionFilter(
-            String filterExpression, Function<String, VersionConstraint> 
versionConstraintParser);
-}
diff --git 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/filters/DefaultVersionFilterBuilder.java
 
b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/filters/DefaultVersionFilterBuilder.java
deleted file mode 100644
index 252476d203..0000000000
--- 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/filters/DefaultVersionFilterBuilder.java
+++ /dev/null
@@ -1,176 +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.apache.maven.repository.internal.filters;
-
-import javax.inject.Named;
-import javax.inject.Singleton;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Optional;
-import java.util.function.Function;
-import java.util.function.Predicate;
-import java.util.stream.Collectors;
-
-import org.apache.maven.repository.internal.VersionFilterBuilder;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.collection.VersionFilter;
-import org.eclipse.aether.util.ConfigUtils;
-import org.eclipse.aether.util.graph.version.ChainedVersionFilter;
-import 
org.eclipse.aether.util.graph.version.ContextPredicateDelegatingVersionFilter;
-import org.eclipse.aether.util.graph.version.ContextualSnapshotVersionFilter;
-import org.eclipse.aether.util.graph.version.GenericQualifiersVersionFilter;
-import org.eclipse.aether.util.graph.version.HighestVersionFilter;
-import org.eclipse.aether.util.graph.version.LowestVersionFilter;
-import org.eclipse.aether.util.graph.version.ReleaseVersionFilter;
-import org.eclipse.aether.util.graph.version.SnapshotVersionFilter;
-import org.eclipse.aether.util.graph.version.VersionPredicateVersionFilter;
-import org.eclipse.aether.version.VersionConstraint;
-
-import static java.util.Objects.requireNonNull;
-
-/**
- * Builds {@link VersionFilter} instances out of input expression string.
- *
- * Expression is a semicolon separated list of filters to apply. By default, 
no version filter is applied (like in Maven 3).
- * <br/>
- * Supported filters:
- * <ul>
- *     <li>{@code "s"} - contextual snapshot filter (project version decides 
are snapshots allowed or not)</li>
- *     <li>{@code "nosnapshot"} - unconditional snapshot filter (no snapshot 
versions selected from ranges)</li>
- *     <li>{@code "norelease"} - unconditional release filter (no release 
versions selected from ranges)</li>
- *     <li>{@code "nopreview"} - unconditional preview filter (no preview 
versions selected from ranges)</li>
- *     <li>{@code "noprerelease"} - unconditional pre-release filter (no 
preview and rc/cr versions selected from ranges)</li>
- *     <li>{@code "noqualifier"} - unconditional any-qualifier filter (no 
version with any qualifier selected from ranges)</li>
- *     <li>{@code "h"} (shorthand of {@code h(1)}) or {@code "h(num)"} - 
highest N version (based on version ordering)</li>
- *     <li>{@code "l"} (shorthand of {@code l(1)}) or {@code "l(num)"} - 
lowest N version (based on version ordering)</li>
- *     <li>{@code "e(V)"} - exclusion filter (excludes versions matching V 
version constraint)</li>
- *     <li>{@code "i(V)"} - inclusion filter (includes versions matching V 
version constraint)</li>
- * </ul>
- * Every filter expression may have "scope" applied, in form of {@code 
@G[:A]}. Presence of "scope" narrows the
- * application of filter to given G or G:A.
- * <p>
- * In case of multiple "similar" rule scopes, user should enlist rules from 
"most specific" to "least specific".
- * <p>
- * Example filter expression: <code>"h(5);s;e(1)@org.foo:bar</code> will cause:
- * <ul>
- *     <li>ranges are filtered for "top 5" (instead of full range)</li>
- *     <li>snapshots are banned if root project is not a snapshot</li>
- *     <li>if range for <code>org.foo:bar</code> is being processed, version 1 
is omitted</li>
- * </ul>
- * Values in this property builds 
<code>org.eclipse.aether.collection.VersionFilter</code> instance.
- *
- * @since 3.10.0
- */
-@Singleton
-@Named
-public class DefaultVersionFilterBuilder implements VersionFilterBuilder {
-    /**
-     * Builds a version filter based on the given filter expression.
-     *
-     * @param filterExpression a string containing filter expressions, may be 
{@code null}.
-     * @param versionConstraintParser version constraint parts to be used 
during parsing, must not be {@code null}.
-     * @return optional version filter, never {@code null}.
-     */
-    @Override
-    public Optional<VersionFilter> buildVersionFilter(
-            String filterExpression, Function<String, VersionConstraint> 
versionConstraintParser) {
-        requireNonNull(versionConstraintParser);
-        ArrayList<VersionFilter> filters = new ArrayList<>();
-        if (filterExpression != null) {
-            List<String> expressions = 
Arrays.stream(filterExpression.split(";"))
-                    .filter(s -> !s.trim().isEmpty())
-                    .collect(Collectors.toList());
-            for (String expression : expressions) {
-                Predicate<Artifact> scopePredicate;
-                VersionFilter filter;
-                if (expression.contains("@")) {
-                    String remainder = 
expression.substring(expression.indexOf('@') + 1);
-                    if (remainder.contains(":")) {
-                        String g = remainder.substring(0, 
remainder.indexOf(':'));
-                        String a = remainder.substring(remainder.indexOf(':') 
+ 1);
-                        scopePredicate =
-                                artifact -> g.equals(artifact.getGroupId()) && 
a.equals(artifact.getArtifactId());
-                    } else {
-                        scopePredicate = artifact -> 
remainder.equals(artifact.getGroupId());
-                    }
-                    expression = expression.substring(0, 
expression.indexOf('@'));
-                } else {
-                    scopePredicate = null;
-                }
-                if ("s".equals(expression)) {
-                    filter = new ContextualSnapshotVersionFilter();
-                } else if ("nosnapshot".equals(expression)) {
-                    filter = new SnapshotVersionFilter();
-                } else if ("norelease".equals(expression)) {
-                    filter = new ReleaseVersionFilter();
-                } else if ("nopreview".equals(expression)) {
-                    filter = 
GenericQualifiersVersionFilter.previewVersionFilter();
-                } else if ("noprerelease".equals(expression)) {
-                    filter = 
GenericQualifiersVersionFilter.preReleaseVersionFilter();
-                } else if ("noqualifier".equals(expression)) {
-                    filter = 
GenericQualifiersVersionFilter.anyQualifierVersionFilter();
-                } else if ("h".equals(expression)) {
-                    filter = new HighestVersionFilter();
-                } else if ("l".equals(expression)) {
-                    filter = new LowestVersionFilter();
-                } else if ((expression.startsWith("h(") || 
expression.startsWith("l(")) && expression.endsWith(")")) {
-                    int num = Integer.parseInt(expression.substring(2, 
expression.length() - 1));
-                    if (expression.startsWith("h(")) {
-                        filter = new HighestVersionFilter(num);
-                    } else {
-                        filter = new LowestVersionFilter(num);
-                    }
-                } else if ((expression.startsWith("e(") || 
(expression.startsWith("i("))) && expression.endsWith(")")) {
-                    VersionConstraint versionConstraint =
-                            
versionConstraintParser.apply(expression.substring(2, expression.length() - 1));
-                    if (expression.startsWith("e(")) {
-                        // exclude
-                        filter = new VersionPredicateVersionFilter(v -> 
!versionConstraint.containsVersion(v));
-                    } else {
-                        // include
-                        filter = new 
VersionPredicateVersionFilter(versionConstraint::containsVersion);
-                    }
-                } else {
-                    throw new IllegalArgumentException("Unsupported filter 
expression: " + expression);
-                }
-
-                filters.add(contextPredicate(scopePredicate, filter));
-            }
-        }
-        if (filters.isEmpty()) {
-            return Optional.empty();
-        } else if (filters.size() == 1) {
-            return Optional.of(filters.get(0));
-        } else {
-            return Optional.of(ChainedVersionFilter.newInstance(filters));
-        }
-    }
-
-    private VersionFilter contextPredicate(Predicate<Artifact> 
artifactPredicate, VersionFilter filter) {
-        Predicate<VersionFilter.VersionFilterContext> contextPredicate =
-                c -> !ConfigUtils.getBoolean(c.getSession(), false, 
MAVEN_VERSION_FILTER_SUPPRESSED);
-        if (artifactPredicate != null) {
-            contextPredicate = contextPredicate.and(
-                    c -> 
artifactPredicate.test(c.getDependency().getArtifact()));
-        }
-        return new ContextPredicateDelegatingVersionFilter(contextPredicate, 
filter);
-    }
-}
diff --git 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/scopes/Maven3ScopeManagerConfiguration.java
 
b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/scopes/Maven3ScopeManagerConfiguration.java
index a54a1bc5c3..2cd55b6fa4 100644
--- 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/scopes/Maven3ScopeManagerConfiguration.java
+++ 
b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/scopes/Maven3ScopeManagerConfiguration.java
@@ -33,6 +33,7 @@
 import org.eclipse.aether.internal.impl.scope.ScopeManagerDump;
 import org.eclipse.aether.scope.DependencyScope;
 import org.eclipse.aether.scope.ResolutionScope;
+import org.eclipse.aether.util.artifact.JavaScopes;
 
 import static org.eclipse.aether.impl.scope.BuildScopeQuery.all;
 import static org.eclipse.aether.impl.scope.BuildScopeQuery.byBuildPath;
@@ -44,22 +45,22 @@
 /**
  * Maven3 scope configurations. Configures scope manager to support Maven3 
scopes.
  * <p>
- * This manager supports the old Maven 3 dependency scopes + new 
"compile-only".
+ * This manager supports the old Maven 3 dependency scopes.
  * <p>
  * Note: Maven3 CANNOT support Maven 4 scopes "test-only" and "test-runtime", 
as it does not distinguish
  * resolution scope (the class {@code ResolutionScope} has only "TEST", 
instead of "TEST_COMPILE" and "TEST_RUNTIME").
+ * <em>This scope manager configuration is not used in Maven 3!</em>
  *
  * @since 3.10.0
  */
 public final class Maven3ScopeManagerConfiguration implements 
ScopeManagerConfiguration {
     public static final Maven3ScopeManagerConfiguration INSTANCE = new 
Maven3ScopeManagerConfiguration();
     public static final String DS_NONE = "none";
-    public static final String DS_COMPILE = "compile"; // JavaScopes.COMPILE;
-    public static final String DS_COMPILE_ONLY = "compile-only";
-    public static final String DS_RUNTIME = "runtime"; // JavaScopes.RUNTIME;
-    public static final String DS_PROVIDED = "provided"; // 
JavaScopes.PROVIDED;
-    public static final String DS_SYSTEM = "system"; // JavaScopes.SYSTEM;
-    public static final String DS_TEST = "test"; // JavaScopes.TEST;
+    public static final String DS_COMPILE = JavaScopes.COMPILE;
+    public static final String DS_RUNTIME = JavaScopes.RUNTIME;
+    public static final String DS_PROVIDED = JavaScopes.PROVIDED;
+    public static final String DS_SYSTEM = JavaScopes.SYSTEM;
+    public static final String DS_TEST = JavaScopes.TEST;
 
     public static final String RS_NONE = "none";
     public static final String RS_MAIN_COMPILE = "main-compile";
@@ -89,7 +90,7 @@ public boolean isStrictResolutionScopes() {
     @Override
     public BuildScopeSource getBuildScopeSource() {
         return new BuildScopeMatrixSource(
-                Collections.singletonList(CommonBuilds.PROJECT_PATH_MAIN),
+                Arrays.asList(CommonBuilds.PROJECT_PATH_MAIN, 
CommonBuilds.PROJECT_PATH_TEST),
                 Arrays.asList(CommonBuilds.BUILD_PATH_COMPILE, 
CommonBuilds.BUILD_PATH_RUNTIME),
                 CommonBuilds.MAVEN_TEST_BUILD_SCOPE);
     }
@@ -99,8 +100,6 @@ public Collection<DependencyScope> 
buildDependencyScopes(InternalScopeManager in
         ArrayList<DependencyScope> result = new ArrayList<>();
         result.add(internalScopeManager.createDependencyScope(DS_NONE, false, 
Collections.emptySet()));
         result.add(internalScopeManager.createDependencyScope(DS_COMPILE, 
true, all()));
-        result.add(internalScopeManager.createDependencyScope(
-                DS_COMPILE_ONLY, false, select(CommonBuilds.PROJECT_PATH_MAIN, 
CommonBuilds.BUILD_PATH_COMPILE)));
         result.add(internalScopeManager.createDependencyScope(
                 DS_RUNTIME, true, 
byBuildPath(CommonBuilds.BUILD_PATH_RUNTIME)));
         result.add(internalScopeManager.createDependencyScope(
diff --git 
a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/filters/DefaultVersionFilterBuilderTest.java
 
b/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/filters/DefaultVersionFilterBuilderTest.java
deleted file mode 100644
index 3a01426805..0000000000
--- 
a/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/filters/DefaultVersionFilterBuilderTest.java
+++ /dev/null
@@ -1,277 +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.apache.maven.repository.internal.filters;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.repository.internal.VersionFilterBuilder;
-import org.eclipse.aether.RepositoryException;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.collection.VersionFilter;
-import org.eclipse.aether.graph.Dependency;
-import org.eclipse.aether.internal.impl.collect.DefaultVersionFilterContext;
-import org.eclipse.aether.resolution.VersionRangeRequest;
-import org.eclipse.aether.resolution.VersionRangeResult;
-import 
org.eclipse.aether.util.graph.version.ContextPredicateDelegatingVersionFilter;
-import org.eclipse.aether.util.version.GenericVersionScheme;
-import org.eclipse.aether.version.InvalidVersionSpecificationException;
-import org.eclipse.aether.version.Version;
-import org.eclipse.aether.version.VersionConstraint;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertInstanceOf;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-public class DefaultVersionFilterBuilderTest {
-    final GenericVersionScheme versionScheme = new GenericVersionScheme();
-    RepositorySystemSession session;
-    DefaultVersionFilterBuilder factory;
-    Map<String, Object> sessionConfigProperties;
-
-    @BeforeEach
-    public void prepare() {
-        session = mock(RepositorySystemSession.class);
-        sessionConfigProperties = new HashMap<>();
-        
when(session.getConfigProperties()).thenReturn(sessionConfigProperties);
-        factory = new DefaultVersionFilterBuilder();
-    }
-
-    private Version version(String spec) {
-        try {
-            return versionScheme.parseVersion(spec);
-        } catch (InvalidVersionSpecificationException e) {
-            throw new RuntimeException(e); // never happens
-        }
-    }
-
-    private VersionConstraint versionConstraint(String spec) {
-        try {
-            return versionScheme.parseVersionConstraint(spec);
-        } catch (InvalidVersionSpecificationException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    @Test
-    public void versionFilterUnsupportedExpression() {
-        // null and empty string are OK
-        assertThrows(IllegalArgumentException.class, () -> 
factory.buildVersionFilter("[*", this::versionConstraint));
-        assertThrows(
-                IllegalArgumentException.class, () -> 
factory.buildVersionFilter("foobar", this::versionConstraint));
-    }
-
-    /**
-     * Simple assertions for {@code h} filter,
-     */
-    @Test
-    public void versionFilterHighest() {
-        VersionFilter vf;
-        vf = factory.buildVersionFilter("h", 
this::versionConstraint).orElse(null);
-        assertNotNull(vf);
-        assertInstanceOf(ContextPredicateDelegatingVersionFilter.class, vf);
-
-        vf = factory.buildVersionFilter("h(5)", 
this::versionConstraint).orElse(null);
-        assertNotNull(vf);
-        assertInstanceOf(ContextPredicateDelegatingVersionFilter.class, vf);
-
-        vf = factory.buildVersionFilter("h(1)@group", 
this::versionConstraint).orElse(null);
-        assertNotNull(vf);
-        assertInstanceOf(ContextPredicateDelegatingVersionFilter.class, vf); 
// this is wrapped instance
-    }
-
-    /**
-     * Creating {@code h(1@group)} and incoming artifact G does not match => 
not applied.
-     */
-    @Test
-    public void versionFilterSuppressed() throws RepositoryException {
-        VersionFilter vf;
-
-        vf = factory.buildVersionFilter("h(2)@group", 
this::versionConstraint).orElse(null);
-        assertNotNull(vf);
-
-        List<Version> versions = Arrays.asList(version("1.0"), version("1.1"), 
version("1.2"));
-
-        DefaultVersionFilterContext context = new 
DefaultVersionFilterContext(session);
-        VersionRangeResult result =
-                new VersionRangeResult(new 
VersionRangeRequest()).setVersions(new ArrayList<>(versions));
-        context.set(new Dependency(new DefaultArtifact("group:a:[1,)"), ""), 
result);
-
-        vf.filterVersions(context);
-
-        // hit
-        assertEquals(2, context.get().size());
-        assertEquals(version("1.1"), context.get().get(0));
-        assertEquals(version("1.2"), context.get().get(1));
-
-        
sessionConfigProperties.put(VersionFilterBuilder.MAVEN_VERSION_FILTER_SUPPRESSED,
 Boolean.TRUE);
-
-        context = new DefaultVersionFilterContext(session);
-        context.set(new Dependency(new DefaultArtifact("group:a:[1,)"), ""), 
result);
-
-        // suppressed
-        assertEquals(versions, context.get());
-    }
-
-    /**
-     * Creating {@code h(1@group)} and incoming artifact G does not match => 
not applied.
-     */
-    @Test
-    public void versionFilterHLFuncMiss() throws RepositoryException {
-        VersionFilter vf;
-
-        vf = factory.buildVersionFilter("h(2)@group", 
this::versionConstraint).orElse(null);
-        assertNotNull(vf);
-
-        List<Version> versions = Arrays.asList(version("1.0"), version("1.1"), 
version("1.2"));
-
-        DefaultVersionFilterContext context = new 
DefaultVersionFilterContext(session);
-        VersionRangeResult result =
-                new VersionRangeResult(new 
VersionRangeRequest()).setVersions(new ArrayList<>(versions));
-        context.set(new Dependency(new DefaultArtifact("g:a:[1,)"), ""), 
result);
-
-        vf.filterVersions(context);
-
-        vf.filterVersions(context);
-    }
-
-    /**
-     * Creating {@code h(1@group)} and incoming artifact G does match => 
applied.
-     */
-    @Test
-    public void versionFilterHLFuncHit() throws RepositoryException {
-        VersionFilter vf;
-
-        vf = factory.buildVersionFilter("h(2)@group", 
this::versionConstraint).orElse(null);
-        assertNotNull(vf);
-
-        List<Version> versions = Arrays.asList(version("1.0"), version("1.1"), 
version("1.2"));
-
-        DefaultVersionFilterContext context = new 
DefaultVersionFilterContext(session);
-        VersionRangeResult result =
-                new VersionRangeResult(new 
VersionRangeRequest()).setVersions(new ArrayList<>(versions));
-        context.set(new Dependency(new DefaultArtifact("group:a:[1,)"), ""), 
result);
-
-        vf.filterVersions(context);
-
-        assertEquals(2, context.get().size());
-        assertEquals(version("1.1"), context.get().get(0));
-        assertEquals(version("1.2"), context.get().get(1));
-    }
-
-    /**
-     * Creating {@code l(1@group)} and incoming artifact G does not match => 
not applied.
-     */
-    @Test
-    public void versionFilterLowestFuncMiss() throws RepositoryException {
-        VersionFilter vf;
-
-        vf = factory.buildVersionFilter("l(2)@group", 
this::versionConstraint).orElse(null);
-        assertNotNull(vf);
-
-        List<Version> versions = Arrays.asList(version("1.0"), version("1.1"), 
version("1.2"));
-
-        DefaultVersionFilterContext context = new 
DefaultVersionFilterContext(session);
-        VersionRangeResult result =
-                new VersionRangeResult(new 
VersionRangeRequest()).setVersions(new ArrayList<>(versions));
-        context.set(new Dependency(new DefaultArtifact("g:a:[1,)"), ""), 
result);
-
-        vf.filterVersions(context);
-
-        assertEquals(versions, context.get());
-    }
-
-    /**
-     * Creating {@code l(1@group)} and incoming artifact G does match => 
applied.
-     */
-    @Test
-    public void versionFilterLowestFuncHit() throws RepositoryException {
-        VersionFilter vf;
-
-        vf = factory.buildVersionFilter("l(2)@group", 
this::versionConstraint).orElse(null);
-        assertNotNull(vf);
-
-        List<Version> versions = Arrays.asList(version("1.0"), version("1.1"), 
version("1.2"));
-
-        DefaultVersionFilterContext context = new 
DefaultVersionFilterContext(session);
-        VersionRangeResult result =
-                new VersionRangeResult(new 
VersionRangeRequest()).setVersions(new ArrayList<>(versions));
-        context.set(new Dependency(new DefaultArtifact("group:a:[1,)"), ""), 
result);
-
-        vf.filterVersions(context);
-
-        assertEquals(2, context.get().size());
-        assertEquals(version("1.0"), context.get().get(0));
-        assertEquals(version("1.1"), context.get().get(1));
-    }
-
-    @Test
-    public void versionFilterExcludeFuncHit() throws RepositoryException {
-        VersionFilter vf;
-
-        vf = factory.buildVersionFilter("e([1.1,2.0))@group:a", 
this::versionConstraint)
-                .orElse(null);
-        assertNotNull(vf);
-
-        List<Version> versions = Arrays.asList(version("1.0"), version("1.1"), 
version("1.2"), version("2.0"));
-
-        DefaultVersionFilterContext context = new 
DefaultVersionFilterContext(session);
-        VersionRangeResult result =
-                new VersionRangeResult(new 
VersionRangeRequest()).setVersions(new ArrayList<>(versions));
-        context.set(new Dependency(new DefaultArtifact("group:a:[1,)"), ""), 
result);
-
-        vf.filterVersions(context);
-
-        assertEquals(2, context.get().size());
-        assertEquals(version("1.0"), context.get().get(0));
-        assertEquals(version("2.0"), context.get().get(1));
-    }
-
-    @Test
-    public void versionFilterIncludeFuncHit() throws RepositoryException {
-        VersionFilter vf;
-
-        vf = factory.buildVersionFilter("i([1.1,),[2.0,))@group:a", 
this::versionConstraint)
-                .orElse(null);
-        assertNotNull(vf);
-
-        List<Version> versions = Arrays.asList(version("1.0"), version("1.1"), 
version("1.2"), version("2.0"));
-
-        DefaultVersionFilterContext context = new 
DefaultVersionFilterContext(session);
-        VersionRangeResult result =
-                new VersionRangeResult(new 
VersionRangeRequest()).setVersions(new ArrayList<>(versions));
-        context.set(new Dependency(new DefaultArtifact("group:a:[1,)"), ""), 
result);
-
-        vf.filterVersions(context);
-
-        assertEquals(3, context.get().size());
-        assertEquals(version("1.1"), context.get().get(0));
-        assertEquals(version("1.2"), context.get().get(1));
-        assertEquals(version("2.0"), context.get().get(2));
-    }
-}


Reply via email to