You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by cs...@apache.org on 2022/05/17 09:12:05 UTC

[maven-resolver] branch master updated: Extract class PremanagedDependency (#179)

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-resolver.git


The following commit(s) were added to refs/heads/master by this push:
     new 1ab297e4 Extract class PremanagedDependency (#179)
1ab297e4 is described below

commit 1ab297e4a2b59d2ea21eec2aa1928dea2eec0f0f
Author: eric.c <we...@ebay.com>
AuthorDate: Tue May 17 02:11:59 2022 -0700

    Extract class PremanagedDependency (#179)
---
 .../impl/collect/DependencyCollectorDelegate.java  | 130 +----------------
 .../impl/collect/PremanagedDependency.java         | 159 +++++++++++++++++++++
 .../impl/collect/bf/BfDependencyCollector.java     |   1 +
 .../impl/collect/df/DfDependencyCollector.java     |   1 +
 4 files changed, 162 insertions(+), 129 deletions(-)

diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DependencyCollectorDelegate.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DependencyCollectorDelegate.java
index 14ae43f3..14d70c2a 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DependencyCollectorDelegate.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DependencyCollectorDelegate.java
@@ -22,7 +22,6 @@ package org.eclipse.aether.internal.impl.collect;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -38,7 +37,6 @@ import org.eclipse.aether.collection.CollectRequest;
 import org.eclipse.aether.collection.CollectResult;
 import org.eclipse.aether.collection.DependencyCollectionException;
 import org.eclipse.aether.collection.DependencyGraphTransformer;
-import org.eclipse.aether.collection.DependencyManagement;
 import org.eclipse.aether.collection.DependencyManager;
 import org.eclipse.aether.collection.DependencySelector;
 import org.eclipse.aether.collection.DependencyTraverser;
@@ -46,12 +44,10 @@ import org.eclipse.aether.collection.VersionFilter;
 import org.eclipse.aether.graph.DefaultDependencyNode;
 import org.eclipse.aether.graph.Dependency;
 import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.graph.Exclusion;
 import org.eclipse.aether.impl.ArtifactDescriptorReader;
 import org.eclipse.aether.impl.DependencyCollector;
 import org.eclipse.aether.impl.RemoteRepositoryManager;
 import org.eclipse.aether.impl.VersionRangeResolver;
-import org.eclipse.aether.internal.impl.collect.bf.BfDependencyCollector;
 import org.eclipse.aether.repository.ArtifactRepository;
 import org.eclipse.aether.repository.RemoteRepository;
 import org.eclipse.aether.resolution.ArtifactDescriptorException;
@@ -62,7 +58,6 @@ import org.eclipse.aether.resolution.VersionRangeResolutionException;
 import org.eclipse.aether.resolution.VersionRangeResult;
 import org.eclipse.aether.spi.locator.ServiceLocator;
 import org.eclipse.aether.util.ConfigUtils;
-import org.eclipse.aether.util.graph.manager.DependencyManagerUtils;
 import org.eclipse.aether.util.graph.transformer.TransformationContextKeys;
 import org.eclipse.aether.version.Version;
 import org.slf4j.Logger;
@@ -370,7 +365,7 @@ public abstract class DependencyCollectorDelegate implements DependencyCollector
     }
 
     protected static DefaultDependencyNode createDependencyNode( List<Artifact> relocations,
-                                                                 BfDependencyCollector.PremanagedDependency preManaged,
+                                                                 PremanagedDependency preManaged,
                                                                  VersionRangeResult rangeResult, Version version,
                                                                  Dependency d,
                                                                  ArtifactDescriptorResult descriptorResult,
@@ -549,127 +544,4 @@ public abstract class DependencyCollectorDelegate implements DependencyCollector
         }
     }
 
-    /**
-     * Helper class used during collection.
-     */
-    protected static class PremanagedDependency
-    {
-
-        final String premanagedVersion;
-
-        final String premanagedScope;
-
-        final Boolean premanagedOptional;
-
-        /**
-         * @since 1.1.0
-         */
-        final Collection<Exclusion> premanagedExclusions;
-
-        /**
-         * @since 1.1.0
-         */
-        final Map<String, String> premanagedProperties;
-
-        final int managedBits;
-
-        final Dependency managedDependency;
-
-        final boolean premanagedState;
-
-        @SuppressWarnings( "checkstyle:parameternumber" )
-        PremanagedDependency( String premanagedVersion, String premanagedScope, Boolean premanagedOptional,
-                              Collection<Exclusion> premanagedExclusions, Map<String, String> premanagedProperties,
-                              int managedBits, Dependency managedDependency, boolean premanagedState )
-        {
-            this.premanagedVersion = premanagedVersion;
-            this.premanagedScope = premanagedScope;
-            this.premanagedOptional = premanagedOptional;
-            this.premanagedExclusions =
-                    premanagedExclusions != null
-                            ? Collections.unmodifiableCollection( new ArrayList<>( premanagedExclusions ) )
-                            : null;
-
-            this.premanagedProperties =
-                    premanagedProperties != null
-                            ? Collections.unmodifiableMap( new HashMap<>( premanagedProperties ) )
-                            : null;
-
-            this.managedBits = managedBits;
-            this.managedDependency = managedDependency;
-            this.premanagedState = premanagedState;
-        }
-
-        public static PremanagedDependency create( DependencyManager depManager, Dependency dependency,
-                                                   boolean disableVersionManagement, boolean premanagedState )
-        {
-            DependencyManagement depMngt = depManager != null ? depManager.manageDependency( dependency ) : null;
-
-            int managedBits = 0;
-            String premanagedVersion = null;
-            String premanagedScope = null;
-            Boolean premanagedOptional = null;
-            Collection<Exclusion> premanagedExclusions = null;
-            Map<String, String> premanagedProperties = null;
-
-            if ( depMngt != null )
-            {
-                if ( depMngt.getVersion() != null && !disableVersionManagement )
-                {
-                    Artifact artifact = dependency.getArtifact();
-                    premanagedVersion = artifact.getVersion();
-                    dependency = dependency.setArtifact( artifact.setVersion( depMngt.getVersion() ) );
-                    managedBits |= DependencyNode.MANAGED_VERSION;
-                }
-                if ( depMngt.getProperties() != null )
-                {
-                    Artifact artifact = dependency.getArtifact();
-                    premanagedProperties = artifact.getProperties();
-                    dependency = dependency.setArtifact( artifact.setProperties( depMngt.getProperties() ) );
-                    managedBits |= DependencyNode.MANAGED_PROPERTIES;
-                }
-                if ( depMngt.getScope() != null )
-                {
-                    premanagedScope = dependency.getScope();
-                    dependency = dependency.setScope( depMngt.getScope() );
-                    managedBits |= DependencyNode.MANAGED_SCOPE;
-                }
-                if ( depMngt.getOptional() != null )
-                {
-                    premanagedOptional = dependency.isOptional();
-                    dependency = dependency.setOptional( depMngt.getOptional() );
-                    managedBits |= DependencyNode.MANAGED_OPTIONAL;
-                }
-                if ( depMngt.getExclusions() != null )
-                {
-                    premanagedExclusions = dependency.getExclusions();
-                    dependency = dependency.setExclusions( depMngt.getExclusions() );
-                    managedBits |= DependencyNode.MANAGED_EXCLUSIONS;
-                }
-            }
-            return new PremanagedDependency( premanagedVersion, premanagedScope, premanagedOptional,
-                    premanagedExclusions, premanagedProperties, managedBits, dependency,
-                    premanagedState );
-
-        }
-
-        public Dependency getManagedDependency()
-        {
-            return managedDependency;
-        }
-
-        public void applyTo( DefaultDependencyNode child )
-        {
-            child.setManagedBits( managedBits );
-            if ( premanagedState )
-            {
-                child.setData( DependencyManagerUtils.NODE_DATA_PREMANAGED_VERSION, premanagedVersion );
-                child.setData( DependencyManagerUtils.NODE_DATA_PREMANAGED_SCOPE, premanagedScope );
-                child.setData( DependencyManagerUtils.NODE_DATA_PREMANAGED_OPTIONAL, premanagedOptional );
-                child.setData( DependencyManagerUtils.NODE_DATA_PREMANAGED_EXCLUSIONS, premanagedExclusions );
-                child.setData( DependencyManagerUtils.NODE_DATA_PREMANAGED_PROPERTIES, premanagedProperties );
-            }
-        }
-
-    }
 }
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/PremanagedDependency.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/PremanagedDependency.java
new file mode 100644
index 00000000..2d259c63
--- /dev/null
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/PremanagedDependency.java
@@ -0,0 +1,159 @@
+package org.eclipse.aether.internal.impl.collect;
+
+/*
+ * 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.
+ */
+
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.collection.DependencyManagement;
+import org.eclipse.aether.collection.DependencyManager;
+import org.eclipse.aether.graph.DefaultDependencyNode;
+import org.eclipse.aether.graph.Dependency;
+import org.eclipse.aether.graph.DependencyNode;
+import org.eclipse.aether.graph.Exclusion;
+import org.eclipse.aether.util.graph.manager.DependencyManagerUtils;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Helper class used during collection.
+ */
+public class PremanagedDependency
+{
+
+    final String premanagedVersion;
+
+    final String premanagedScope;
+
+    final Boolean premanagedOptional;
+
+    /**
+     * @since 1.1.0
+     */
+    final Collection<Exclusion> premanagedExclusions;
+
+    /**
+     * @since 1.1.0
+     */
+    final Map<String, String> premanagedProperties;
+
+    final int managedBits;
+
+    final Dependency managedDependency;
+
+    final boolean premanagedState;
+
+    @SuppressWarnings( "checkstyle:parameternumber" )
+    PremanagedDependency( String premanagedVersion, String premanagedScope, Boolean premanagedOptional,
+                          Collection<Exclusion> premanagedExclusions, Map<String, String> premanagedProperties,
+                          int managedBits, Dependency managedDependency, boolean premanagedState )
+    {
+        this.premanagedVersion = premanagedVersion;
+        this.premanagedScope = premanagedScope;
+        this.premanagedOptional = premanagedOptional;
+        this.premanagedExclusions =
+                premanagedExclusions != null
+                        ? Collections.unmodifiableCollection( new ArrayList<>( premanagedExclusions ) )
+                        : null;
+
+        this.premanagedProperties =
+                premanagedProperties != null
+                        ? Collections.unmodifiableMap( new HashMap<>( premanagedProperties ) )
+                        : null;
+
+        this.managedBits = managedBits;
+        this.managedDependency = managedDependency;
+        this.premanagedState = premanagedState;
+    }
+
+    public static PremanagedDependency create( DependencyManager depManager, Dependency dependency,
+                                               boolean disableVersionManagement, boolean premanagedState )
+    {
+        DependencyManagement depMngt = depManager != null ? depManager.manageDependency( dependency ) : null;
+
+        int managedBits = 0;
+        String premanagedVersion = null;
+        String premanagedScope = null;
+        Boolean premanagedOptional = null;
+        Collection<Exclusion> premanagedExclusions = null;
+        Map<String, String> premanagedProperties = null;
+
+        if ( depMngt != null )
+        {
+            if ( depMngt.getVersion() != null && !disableVersionManagement )
+            {
+                Artifact artifact = dependency.getArtifact();
+                premanagedVersion = artifact.getVersion();
+                dependency = dependency.setArtifact( artifact.setVersion( depMngt.getVersion() ) );
+                managedBits |= DependencyNode.MANAGED_VERSION;
+            }
+            if ( depMngt.getProperties() != null )
+            {
+                Artifact artifact = dependency.getArtifact();
+                premanagedProperties = artifact.getProperties();
+                dependency = dependency.setArtifact( artifact.setProperties( depMngt.getProperties() ) );
+                managedBits |= DependencyNode.MANAGED_PROPERTIES;
+            }
+            if ( depMngt.getScope() != null )
+            {
+                premanagedScope = dependency.getScope();
+                dependency = dependency.setScope( depMngt.getScope() );
+                managedBits |= DependencyNode.MANAGED_SCOPE;
+            }
+            if ( depMngt.getOptional() != null )
+            {
+                premanagedOptional = dependency.isOptional();
+                dependency = dependency.setOptional( depMngt.getOptional() );
+                managedBits |= DependencyNode.MANAGED_OPTIONAL;
+            }
+            if ( depMngt.getExclusions() != null )
+            {
+                premanagedExclusions = dependency.getExclusions();
+                dependency = dependency.setExclusions( depMngt.getExclusions() );
+                managedBits |= DependencyNode.MANAGED_EXCLUSIONS;
+            }
+        }
+        return new PremanagedDependency( premanagedVersion, premanagedScope, premanagedOptional,
+                premanagedExclusions, premanagedProperties, managedBits, dependency,
+                premanagedState );
+
+    }
+
+    public Dependency getManagedDependency()
+    {
+        return managedDependency;
+    }
+
+    public void applyTo( DefaultDependencyNode child )
+    {
+        child.setManagedBits( managedBits );
+        if ( premanagedState )
+        {
+            child.setData( DependencyManagerUtils.NODE_DATA_PREMANAGED_VERSION, premanagedVersion );
+            child.setData( DependencyManagerUtils.NODE_DATA_PREMANAGED_SCOPE, premanagedScope );
+            child.setData( DependencyManagerUtils.NODE_DATA_PREMANAGED_OPTIONAL, premanagedOptional );
+            child.setData( DependencyManagerUtils.NODE_DATA_PREMANAGED_EXCLUSIONS, premanagedExclusions );
+            child.setData( DependencyManagerUtils.NODE_DATA_PREMANAGED_PROPERTIES, premanagedProperties );
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/bf/BfDependencyCollector.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/bf/BfDependencyCollector.java
index cb6d28c2..8542dc7c 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/bf/BfDependencyCollector.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/bf/BfDependencyCollector.java
@@ -47,6 +47,7 @@ import org.eclipse.aether.internal.impl.collect.DataPool;
 import org.eclipse.aether.internal.impl.collect.DefaultDependencyCollectionContext;
 import org.eclipse.aether.internal.impl.collect.DefaultVersionFilterContext;
 import org.eclipse.aether.internal.impl.collect.DependencyCollectorDelegate;
+import org.eclipse.aether.internal.impl.collect.PremanagedDependency;
 import org.eclipse.aether.repository.RemoteRepository;
 import org.eclipse.aether.resolution.ArtifactDescriptorException;
 import org.eclipse.aether.resolution.ArtifactDescriptorRequest;
diff --git a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/df/DfDependencyCollector.java b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/df/DfDependencyCollector.java
index b2444f8c..4bfaf872 100644
--- a/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/df/DfDependencyCollector.java
+++ b/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/df/DfDependencyCollector.java
@@ -45,6 +45,7 @@ import org.eclipse.aether.internal.impl.collect.DefaultDependencyCollectionConte
 import org.eclipse.aether.internal.impl.collect.DefaultDependencyCycle;
 import org.eclipse.aether.internal.impl.collect.DefaultVersionFilterContext;
 import org.eclipse.aether.internal.impl.collect.DependencyCollectorDelegate;
+import org.eclipse.aether.internal.impl.collect.PremanagedDependency;
 import org.eclipse.aether.repository.RemoteRepository;
 import org.eclipse.aether.resolution.ArtifactDescriptorException;
 import org.eclipse.aether.resolution.ArtifactDescriptorRequest;