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

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


The following commit(s) were added to refs/heads/master by this push:
     new 00d243a92e [MNG-7978] Decouple maven-artifact from 
maven-resolver-provider (#1352)
00d243a92e is described below

commit 00d243a92ea0fcbf3353d099ff551b068b04676a
Author: Tamas Cservenak <[email protected]>
AuthorDate: Wed Dec 20 14:03:35 2023 +0100

    [MNG-7978] Decouple maven-artifact from maven-resolver-provider (#1352)
    
    As it is actually not needed. This also "pulls in" all of VersionParser 
into model version parser, so Core implementation now 100% just delegates over 
there.
    
    ---
    
    https://issues.apache.org/jira/browse/MNG-7978
---
 .../org/apache/maven/internal/impl/DefaultArtifact.java     |  3 ++-
 .../org/apache/maven/internal/impl/DefaultDependency.java   |  3 ++-
 .../apache/maven/internal/impl/DefaultVersionParser.java    | 11 +----------
 .../maven/model/building/DefaultModelBuilderFactory.java    |  6 ++++++
 .../org/apache/maven/model/version/ModelVersionParser.java  |  5 +++++
 maven-resolver-provider/pom.xml                             |  4 ----
 .../maven/repository/internal/ArtifactDescriptorUtils.java  |  9 ++++-----
 .../repository/internal/DefaultModelVersionParser.java      | 13 +++++++++++++
 .../repository/internal/DefaultVersionRangeResolver.java    |  5 +++--
 9 files changed, 36 insertions(+), 23 deletions(-)

diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultArtifact.java 
b/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultArtifact.java
index 4175634ddc..563797f05c 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultArtifact.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultArtifact.java
@@ -24,6 +24,7 @@ import org.apache.maven.api.Artifact;
 import org.apache.maven.api.ArtifactCoordinate;
 import org.apache.maven.api.Version;
 import org.apache.maven.api.annotations.Nonnull;
+import org.apache.maven.repository.internal.DefaultModelVersionParser;
 
 import static org.apache.maven.internal.impl.Utils.nonNull;
 
@@ -94,7 +95,7 @@ public class DefaultArtifact implements Artifact {
 
     @Override
     public boolean isSnapshot() {
-        return DefaultVersionParser.checkSnapshot(artifact.getVersion());
+        return DefaultModelVersionParser.checkSnapshot(artifact.getVersion());
     }
 
     @Nonnull
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultDependency.java
 
b/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultDependency.java
index 654c688a0e..3f2f06893e 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultDependency.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultDependency.java
@@ -30,6 +30,7 @@ import org.apache.maven.api.Version;
 import org.apache.maven.api.annotations.Nonnull;
 import org.apache.maven.api.annotations.Nullable;
 import org.apache.maven.api.services.TypeRegistry;
+import org.apache.maven.repository.internal.DefaultModelVersionParser;
 import org.eclipse.aether.artifact.ArtifactProperties;
 
 import static org.apache.maven.internal.impl.Utils.nonNull;
@@ -111,7 +112,7 @@ public class DefaultDependency implements Dependency {
 
     @Override
     public boolean isSnapshot() {
-        return 
DefaultVersionParser.checkSnapshot(dependency.getArtifact().getVersion());
+        return 
DefaultModelVersionParser.checkSnapshot(dependency.getArtifact().getVersion());
     }
 
     @Nonnull
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultVersionParser.java
 
b/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultVersionParser.java
index 780b9846d6..cee860f787 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultVersionParser.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultVersionParser.java
@@ -22,8 +22,6 @@ import javax.inject.Inject;
 import javax.inject.Named;
 import javax.inject.Singleton;
 
-import java.util.regex.Pattern;
-
 import org.apache.maven.api.Version;
 import org.apache.maven.api.VersionConstraint;
 import org.apache.maven.api.VersionRange;
@@ -38,9 +36,6 @@ import static org.apache.maven.internal.impl.Utils.nonNull;
 @Named
 @Singleton
 public class DefaultVersionParser implements VersionParser {
-    private static final String SNAPSHOT = "SNAPSHOT";
-    private static final Pattern SNAPSHOT_TIMESTAMP = 
Pattern.compile("^(.*-)?([0-9]{8}\\.[0-9]{6}-[0-9]+)$");
-
     private final ModelVersionParser modelVersionParser;
 
     @Inject
@@ -65,10 +60,6 @@ public class DefaultVersionParser implements VersionParser {
 
     @Override
     public boolean isSnapshot(String version) {
-        return checkSnapshot(version);
-    }
-
-    static boolean checkSnapshot(String version) {
-        return version.endsWith(SNAPSHOT) || 
SNAPSHOT_TIMESTAMP.matcher(version).matches();
+        return modelVersionParser.isSnapshot(version);
     }
 }
diff --git 
a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilderFactory.java
 
b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilderFactory.java
index 7fcdeb30a7..363b9b67a3 100644
--- 
a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilderFactory.java
+++ 
b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilderFactory.java
@@ -367,6 +367,12 @@ public class DefaultModelBuilderFactory {
             public VersionConstraint parseVersionConstraint(String constraint) 
{
                 throw new IllegalArgumentException("constraint not supported 
by this parser");
             }
+
+            @Override
+            public boolean isSnapshot(String version) {
+                requireNonNull(version, "version");
+                return version.endsWith("SNAPSHOT");
+            }
         };
     }
 
diff --git 
a/maven-model-builder/src/main/java/org/apache/maven/model/version/ModelVersionParser.java
 
b/maven-model-builder/src/main/java/org/apache/maven/model/version/ModelVersionParser.java
index 134be60271..73dd8d2b8d 100644
--- 
a/maven-model-builder/src/main/java/org/apache/maven/model/version/ModelVersionParser.java
+++ 
b/maven-model-builder/src/main/java/org/apache/maven/model/version/ModelVersionParser.java
@@ -62,4 +62,9 @@ public interface ModelVersionParser {
      */
     @Nonnull
     VersionConstraint parseVersionConstraint(@Nonnull String constraint);
+
+    /**
+     * Checks whether a given artifact version is considered a {@code 
SNAPSHOT} or not.
+     */
+    boolean isSnapshot(@Nonnull String version);
 }
diff --git a/maven-resolver-provider/pom.xml b/maven-resolver-provider/pom.xml
index 7747d467cb..0180cf684b 100644
--- a/maven-resolver-provider/pom.xml
+++ b/maven-resolver-provider/pom.xml
@@ -32,10 +32,6 @@ under the License.
   <description>Extensions to Maven Resolver for utilizing Maven POM and 
repository metadata.</description>
 
   <dependencies>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-artifact</artifactId>
-    </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-model</artifactId>
diff --git 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorUtils.java
 
b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorUtils.java
index d01265f43d..3cd64db236 100644
--- 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorUtils.java
+++ 
b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/ArtifactDescriptorUtils.java
@@ -18,7 +18,6 @@
  */
 package org.apache.maven.repository.internal;
 
-import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
 import org.apache.maven.model.Repository;
 import org.eclipse.aether.artifact.Artifact;
 import org.eclipse.aether.artifact.DefaultArtifact;
@@ -64,7 +63,7 @@ public class ArtifactDescriptorUtils {
 
     public static RepositoryPolicy 
toRepositoryPolicy(org.apache.maven.model.RepositoryPolicy policy) {
         boolean enabled = true;
-        String checksums = 
toRepositoryChecksumPolicy(ArtifactRepositoryPolicy.DEFAULT_CHECKSUM_POLICY);
+        String checksums = 
toRepositoryChecksumPolicy(RepositoryPolicy.CHECKSUM_POLICY_WARN); // the 
default
         String updates = RepositoryPolicy.UPDATE_POLICY_DAILY;
 
         if (policy != null) {
@@ -82,11 +81,11 @@ public class ArtifactDescriptorUtils {
 
     public static String toRepositoryChecksumPolicy(final String 
artifactRepositoryPolicy) {
         switch (artifactRepositoryPolicy) {
-            case ArtifactRepositoryPolicy.CHECKSUM_POLICY_FAIL:
+            case RepositoryPolicy.CHECKSUM_POLICY_FAIL:
                 return RepositoryPolicy.CHECKSUM_POLICY_FAIL;
-            case ArtifactRepositoryPolicy.CHECKSUM_POLICY_IGNORE:
+            case RepositoryPolicy.CHECKSUM_POLICY_IGNORE:
                 return RepositoryPolicy.CHECKSUM_POLICY_IGNORE;
-            case ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN:
+            case RepositoryPolicy.CHECKSUM_POLICY_WARN:
                 return RepositoryPolicy.CHECKSUM_POLICY_WARN;
             default:
                 throw new IllegalArgumentException("unknown repository 
checksum policy: " + artifactRepositoryPolicy);
diff --git 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelVersionParser.java
 
b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelVersionParser.java
index c5e01b2472..6716ba78f6 100644
--- 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelVersionParser.java
+++ 
b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelVersionParser.java
@@ -22,6 +22,8 @@ import javax.inject.Inject;
 import javax.inject.Named;
 import javax.inject.Singleton;
 
+import java.util.regex.Pattern;
+
 import org.apache.maven.api.Version;
 import org.apache.maven.api.VersionConstraint;
 import org.apache.maven.api.VersionRange;
@@ -35,6 +37,8 @@ import static java.util.Objects.requireNonNull;
 @Named
 @Singleton
 public class DefaultModelVersionParser implements ModelVersionParser {
+    private static final String SNAPSHOT = "SNAPSHOT";
+    private static final Pattern SNAPSHOT_TIMESTAMP = 
Pattern.compile("^(.*-)?([0-9]{8}\\.[0-9]{6}-[0-9]+)$");
     private final VersionScheme versionScheme;
 
     @Inject
@@ -54,6 +58,15 @@ public class DefaultModelVersionParser implements 
ModelVersionParser {
         return new DefaultVersionRange(versionScheme, range);
     }
 
+    @Override
+    public boolean isSnapshot(String version) {
+        return checkSnapshot(version);
+    }
+
+    public static boolean checkSnapshot(String version) {
+        return version.endsWith(SNAPSHOT) || 
SNAPSHOT_TIMESTAMP.matcher(version).matches();
+    }
+
     @Override
     public VersionConstraint parseVersionConstraint(String constraint) {
         requireNonNull(constraint, "constraint");
diff --git 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
 
b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
index c8ca6bd374..04aa979a6f 100644
--- 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
+++ 
b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
@@ -31,7 +31,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 
-import org.apache.maven.artifact.ArtifactUtils;
 import org.apache.maven.artifact.repository.metadata.Versioning;
 import org.apache.maven.artifact.repository.metadata.io.MetadataStaxReader;
 import org.eclipse.aether.RepositoryEvent;
@@ -226,7 +225,9 @@ public class DefaultVersionRangeResolver implements 
VersionRangeResolver {
         Versioning filteredVersions = versioning.clone();
 
         for (String version : versioning.getVersions()) {
-            if 
(!remoteRepository.getPolicy(ArtifactUtils.isSnapshot(version)).isEnabled()) {
+            if (!remoteRepository
+                    
.getPolicy(DefaultModelVersionParser.checkSnapshot(version))
+                    .isEnabled()) {
                 filteredVersions.removeVersion(version);
             }
         }

Reply via email to