You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2021/01/18 21:02:29 UTC

[maven-common-artifact-filters] branch MSHARED-950 created (now 9c3d887)

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

slachiewicz pushed a change to branch MSHARED-950
in repository https://gitbox.apache.org/repos/asf/maven-common-artifact-filters.git.


      at 9c3d887  [MSHARED-950] Remove obsolete code and references to Sonatype Aether

This branch includes the following new commits:

     new 2477125  Switch to 3.2.0-SNAPSHOT
     new 9c3d887  [MSHARED-950] Remove obsolete code and references to Sonatype Aether

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven-common-artifact-filters] 01/02: Switch to 3.2.0-SNAPSHOT

Posted by sl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch MSHARED-950
in repository https://gitbox.apache.org/repos/asf/maven-common-artifact-filters.git

commit 2477125660ebd3a39e05a51d174241f839c7d406
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Sun Jan 17 20:43:10 2021 +0100

    Switch to 3.2.0-SNAPSHOT
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index b39ffd3..841b297 100644
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
   </parent>
 
   <artifactId>maven-common-artifact-filters</artifactId>
-  <version>3.1.1-SNAPSHOT</version>
+  <version>3.2.0-SNAPSHOT</version>
 
   <name>Apache Maven Common Artifact Filters</name>
   <description>A collection of ready-made filters to control inclusion/exclusion of artifacts during dependency resolution.</description>


[maven-common-artifact-filters] 02/02: [MSHARED-950] Remove obsolete code and references to Sonatype Aether

Posted by sl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch MSHARED-950
in repository https://gitbox.apache.org/repos/asf/maven-common-artifact-filters.git

commit 9c3d88702830e259e7364b186995d0a0fcefc7c1
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Sun Sep 27 22:41:24 2020 +0200

    [MSHARED-950] Remove obsolete code and references to Sonatype Aether
---
 pom.xml                                            |  14 +-
 .../collection/ArtifactTransitivityFilter.java     |  75 +--------
 .../shared/artifact/filter/collection/Invoker.java |  52 ------
 .../shared/artifact/filter/resolve/AndFilter.java  |   1 -
 .../artifact/filter/resolve/ExclusionsFilter.java  |   1 -
 .../shared/artifact/filter/resolve/OrFilter.java   |   1 -
 .../filter/resolve/PatternExclusionsFilter.java    |   2 -
 .../filter/resolve/PatternInclusionsFilter.java    |   2 -
 .../artifact/filter/resolve/ScopeFilter.java       |   1 -
 .../transform/SonatypeAetherFilterTransformer.java | 176 --------------------
 .../resolve/transform/SonatypeAetherNode.java      |  88 ----------
 .../SonatypeAetherFilterTransformerTest.java       | 184 ---------------------
 .../resolve/transform/SonatypeAetherNodeTest.java  | 135 ---------------
 13 files changed, 7 insertions(+), 725 deletions(-)

diff --git a/pom.xml b/pom.xml
index 841b297..06d45fb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -55,7 +55,7 @@
   </distributionManagement>
 
   <properties>
-    <maven.version>3.1.0</maven.version>
+    <maven.version>3.1.1</maven.version>
     <javaVersion>7</javaVersion>
     <project.build.outputTimestamp>2020-04-04T09:03:59Z</project.build.outputTimestamp>
   </properties>
@@ -106,18 +106,6 @@
     </dependency>
 
     <dependency>
-      <groupId>org.sonatype.aether</groupId>
-      <artifactId>aether-api</artifactId>
-      <version>1.7</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.sonatype.aether</groupId>
-      <artifactId>aether-util</artifactId>
-      <version>1.7</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
       <groupId>org.apache.maven.resolver</groupId>
       <artifactId>maven-resolver-api</artifactId>
       <version>1.4.2</version>
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/collection/ArtifactTransitivityFilter.java b/src/main/java/org/apache/maven/shared/artifact/filter/collection/ArtifactTransitivityFilter.java
index e238f57..7c08cca 100644
--- a/src/main/java/org/apache/maven/shared/artifact/filter/collection/ArtifactTransitivityFilter.java
+++ b/src/main/java/org/apache/maven/shared/artifact/filter/collection/ArtifactTransitivityFilter.java
@@ -27,8 +27,8 @@ import org.apache.maven.project.ProjectBuilder;
 import org.apache.maven.project.ProjectBuildingException;
 import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.project.ProjectBuildingResult;
+import org.eclipse.aether.graph.Dependency;
 
-import java.lang.reflect.InvocationTargetException;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
@@ -79,85 +79,22 @@ public class ArtifactTransitivityFilter
         DependencyResolutionResult resolutionResult = buildingResult.getDependencyResolutionResult();
         if ( resolutionResult != null )
         {
-            if ( isMaven31() )
-            {
-                try
-                {
-                    @SuppressWarnings( "unchecked" ) List<org.eclipse.aether.graph.Dependency> dependencies =
-                        (List<org.eclipse.aether.graph.Dependency>) Invoker.invoke( resolutionResult,
-                                                                                    "getDependencies" );
-
-                    for ( org.eclipse.aether.graph.Dependency dependency : dependencies )
-                    {
-                        Artifact mavenArtifact = 
-                                        (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
-                                                                    org.eclipse.aether.artifact.Artifact.class,
-                                                                    dependency.getArtifact() );
+            resolutionResult.getDependencies();
+            List<Dependency> dependencies = resolutionResult.getDependencies();
 
-                        transitiveArtifacts.add( mavenArtifact.getDependencyConflictId() );
-                    }
-                }
-                catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
-                {
-                    // don't want to pollute method signature with ReflectionExceptions
-                    throw new RuntimeException( e.getMessage(), e );
-                }
-            }
-            else
+            for ( Dependency dependency : dependencies )
             {
-                try
-                {
-                    @SuppressWarnings( "unchecked" ) List<org.sonatype.aether.graph.Dependency> dependencies =
-                        (List<org.sonatype.aether.graph.Dependency>) Invoker.invoke( resolutionResult,
-                                                                                     "getDependencies" );
-
-                    for ( org.sonatype.aether.graph.Dependency dependency : dependencies )
-                    {
-                        Artifact mavenArtifact = 
-                                        (Artifact) Invoker.invoke( RepositoryUtils.class, "toArtifact",
-                                                                    org.sonatype.aether.artifact.Artifact.class,
-                                                                    dependency.getArtifact() );
-
-                        transitiveArtifacts.add( mavenArtifact.getDependencyConflictId() );
-                    }
-                }
-                catch ( IllegalAccessException | InvocationTargetException | NoSuchMethodException e )
-                {
-                    // don't want to pollute method signature with ReflectionExceptions
-                    throw new RuntimeException( e.getMessage(), e );
-                }
+                Artifact mavenArtifact = RepositoryUtils.toArtifact( dependency.getArtifact() );
+                transitiveArtifacts.add( mavenArtifact.getDependencyConflictId() );
             }
         }
     }
 
     /**
-     * @return true if the current Maven version is Maven 3.1.
-     */
-    protected static boolean isMaven31()
-    {
-        return canFindCoreClass( "org.eclipse.aether.artifact.Artifact" ); // Maven 3.1 specific
-    }
-
-    private static boolean canFindCoreClass( String className )
-    {
-        try
-        {
-            Thread.currentThread().getContextClassLoader().loadClass( className );
-
-            return true;
-        }
-        catch ( ClassNotFoundException e )
-        {
-            return false;
-        }
-    }
-
-    /**
      * {@inheritDoc}
      */
     public Set<Artifact> filter( Set<Artifact> artifacts )
     {
-
         Set<Artifact> result = new LinkedHashSet<>();
         for ( Artifact artifact : artifacts )
         {
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/collection/Invoker.java b/src/main/java/org/apache/maven/shared/artifact/filter/collection/Invoker.java
deleted file mode 100644
index 8f49ef7..0000000
--- a/src/main/java/org/apache/maven/shared/artifact/filter/collection/Invoker.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package org.apache.maven.shared.artifact.filter.collection;
-
-/*
- * 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 java.lang.reflect.InvocationTargetException;
-
-/**
- * Invokes method on objects using reflection.
- */
-final class Invoker
-{
-    private Invoker()
-    {
-        // do not instantiate
-    }
-
-    public static Object invoke( Object object, String method )
-        throws IllegalAccessException, InvocationTargetException, NoSuchMethodException
-    {
-        return invoke( object.getClass(), object, method );
-    }
-
-    public static Object invoke( Class<?> objectClazz, Object object, String method )
-        throws IllegalAccessException, InvocationTargetException, NoSuchMethodException
-    {
-        return objectClazz.getMethod( method ).invoke( object );
-    }
-
-    public static Object invoke( Object object, String method, Class<?> clazz, Object arg )
-        throws IllegalAccessException, InvocationTargetException, NoSuchMethodException
-    {
-        final Class<?> objectClazz = object.getClass();
-        return objectClazz.getMethod( method, clazz ).invoke( object, arg );
-    }
-}
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/AndFilter.java b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/AndFilter.java
index 0d8d416..3ac97c5 100644
--- a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/AndFilter.java
+++ b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/AndFilter.java
@@ -28,7 +28,6 @@ import java.util.Collections;
  * @author Robert Scholte
  * @since 3.0
  * 
- * @see org.sonatype.aether.util.filter.AndDependencyFilter
  * @see org.eclipse.aether.util.filter.AndDependencyFilter
  */
 public class AndFilter
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/ExclusionsFilter.java b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/ExclusionsFilter.java
index b9da1b0..9760bac 100644
--- a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/ExclusionsFilter.java
+++ b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/ExclusionsFilter.java
@@ -28,7 +28,6 @@ import java.util.Collections;
  * @author Robert Scholte
  * @since 3.0
  * 
- * @see org.sonatype.aether.util.filter.ExclusionsDependencyFilter
  * @see org.eclipse.aether.util.filter.ExclusionsDependencyFilter
  */
 public class ExclusionsFilter
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/OrFilter.java b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/OrFilter.java
index 12b27ed..bc9c78a 100644
--- a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/OrFilter.java
+++ b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/OrFilter.java
@@ -28,7 +28,6 @@ import java.util.Collections;
  * @author Robert Scholte
  * @since 3.0
  * 
- * @see org.sonatype.aether.util.filter.OrDependencyFilter
  * @see org.eclipse.aether.util.filter.OrDependencyFilter
  */
 public class OrFilter implements TransformableFilter
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/PatternExclusionsFilter.java b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/PatternExclusionsFilter.java
index 1386638..f072a2e 100644
--- a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/PatternExclusionsFilter.java
+++ b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/PatternExclusionsFilter.java
@@ -40,9 +40,7 @@ import java.util.Collections;
  * @author Robert Scholte
  * @since 3.0
  * 
- * @see org.sonatype.aether.util.filter.PatternExclusionsDependencyFilter
  * @see org.eclipse.aether.util.filter.PatternExclusionsDependencyFilter
- * @see org.sonatype.aether.version.VersionScheme
  * @see org.eclipse.aether.version.VersionScheme
  */
 public class PatternExclusionsFilter implements TransformableFilter
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/PatternInclusionsFilter.java b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/PatternInclusionsFilter.java
index 78a8685..def075e 100644
--- a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/PatternInclusionsFilter.java
+++ b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/PatternInclusionsFilter.java
@@ -41,9 +41,7 @@ import java.util.Collections;
  * @author Robert Scholte
  * @since 3.0
  * 
- * @see org.sonatype.aether.util.filter.PatternInclusionsDependencyFilter
  * @see org.eclipse.aether.util.filter.PatternInclusionsDependencyFilter
- * @see org.sonatype.aether.version.VersionScheme
  * @see org.eclipse.aether.version.VersionScheme
  */
 public class PatternInclusionsFilter implements TransformableFilter
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/ScopeFilter.java b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/ScopeFilter.java
index 57d4788..1bc2cb4 100644
--- a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/ScopeFilter.java
+++ b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/ScopeFilter.java
@@ -29,7 +29,6 @@ import java.util.Collections;
  * @author Robert Scholte
  * @since 3.0
  * 
- * @see org.sonatype.aether.util.filter.ScopeDependencyFilter
  * @see org.eclipse.aether.util.filter.ScopeDependencyFilter
  */
 public class ScopeFilter implements TransformableFilter
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/SonatypeAetherFilterTransformer.java b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/SonatypeAetherFilterTransformer.java
deleted file mode 100644
index edce5d2..0000000
--- a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/SonatypeAetherFilterTransformer.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package org.apache.maven.shared.artifact.filter.resolve.transform;
-
-/*
- * 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 java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.maven.shared.artifact.filter.resolve.AbstractFilter;
-import org.apache.maven.shared.artifact.filter.resolve.AndFilter;
-import org.apache.maven.shared.artifact.filter.resolve.ExclusionsFilter;
-import org.apache.maven.shared.artifact.filter.resolve.FilterTransformer;
-import org.apache.maven.shared.artifact.filter.resolve.OrFilter;
-import org.apache.maven.shared.artifact.filter.resolve.PatternExclusionsFilter;
-import org.apache.maven.shared.artifact.filter.resolve.PatternInclusionsFilter;
-import org.apache.maven.shared.artifact.filter.resolve.ScopeFilter;
-import org.apache.maven.shared.artifact.filter.resolve.TransformableFilter;
-import org.sonatype.aether.graph.DependencyFilter;
-import org.sonatype.aether.graph.DependencyNode;
-import org.sonatype.aether.util.filter.AndDependencyFilter;
-import org.sonatype.aether.util.filter.ExclusionsDependencyFilter;
-import org.sonatype.aether.util.filter.OrDependencyFilter;
-import org.sonatype.aether.util.filter.PatternExclusionsDependencyFilter;
-import org.sonatype.aether.util.filter.PatternInclusionsDependencyFilter;
-import org.sonatype.aether.util.filter.ScopeDependencyFilter;
-
-/**
- * FilterTransformer implementation for Sonatype Aether
- * 
- * @deprecated update to Maven 3.1.0 or later and replace Sonatype Aether with Eclipse Aether
- * @author Robert Scholte  
- * @since 3.0
- */
-@Deprecated
-public class SonatypeAetherFilterTransformer
-    implements FilterTransformer<DependencyFilter>
-{
-    /**
-     * When using as regular expression, group(1) + group(3) will be the coordinate, 
-     * group(2) will be the classifier.
-     */
-    private static final String GAE_C_V = "(.*:.*:.*):(.+)(:.*)";
-    
-    @Override
-    public AndDependencyFilter transform( AndFilter filter )
-    {
-        Collection<DependencyFilter> filters = new ArrayList<>( filter.getFilters().size() );
-        for ( TransformableFilter dependencyFilter : filter.getFilters() )
-        {
-            filters.add( dependencyFilter.transform( this ) );
-        }
-        return new AndDependencyFilter( filters );
-    }
-
-    @Override
-    public ExclusionsDependencyFilter transform( ExclusionsFilter filter )
-    {
-        return new ExclusionsDependencyFilter( filter.getExcludes() );
-    }
-    
-    @Override
-    public OrDependencyFilter transform( OrFilter filter )
-    {
-        Collection<DependencyFilter> filters = new ArrayList<>( filter.getFilters().size() );
-        for ( TransformableFilter dependencyFilter : filter.getFilters() )
-        {
-            filters.add( dependencyFilter.transform( this ) );
-        }
-        return new OrDependencyFilter( filters );
-    }
-    
-    @Override
-    public ScopeDependencyFilter transform( ScopeFilter filter )
-    {
-        return new ScopeDependencyFilter( filter.getIncluded(), filter.getExcluded() );
-    }
-    
-    @Override
-    public DependencyFilter transform( PatternExclusionsFilter filter )
-    {
-        return new PatternExclusionsDependencyFilter( filter.getExcludes() );
-    }
-    
-    @Override
-    public DependencyFilter transform( PatternInclusionsFilter filter )
-    {
-     // if any include contains a classifier:
-        // split all includes and make it an or-filter for every include
-        // for the classifier, add an and-filter with a classifierfilter and patterninclusionfilter
-        
-        for ( String include : filter.getIncludes() )
-        {
-            if ( include.matches( GAE_C_V ) )
-            {
-                return newAdvancedPatternInclusionFilter( filter.getIncludes() );
-            }
-        }
-        
-        return new PatternInclusionsDependencyFilter( filter.getIncludes() );
-    }
-    
-    @Override
-    public DependencyFilter transform( final AbstractFilter filter )
-    {
-        return new DependencyFilter()
-        {
-            @Override
-            public boolean accept( DependencyNode node, List<DependencyNode> parents )
-            {
-                return filter.accept( new SonatypeAetherNode( node ), null );
-            }
-        };
-    }
-    
-    private DependencyFilter newAdvancedPatternInclusionFilter( Collection<String> includes )
-    {
-        List<DependencyFilter> filters = new ArrayList<>( includes.size() );
-
-        Pattern pattern = Pattern.compile( GAE_C_V );
-        for ( String include : includes )
-        {
-            Matcher matcher = pattern.matcher( include );
-            if ( matcher.matches() )
-            {
-                DependencyFilter patternFilter =
-                    new PatternInclusionsDependencyFilter( matcher.group( 1 ) + matcher.group( 3 ) );
-
-                final String classifier = matcher.group( 2 );
-                
-                DependencyFilter classifierFilter = new DependencyFilter()
-                {
-                    @Override
-                    public boolean accept( DependencyNode node, List<DependencyNode> parents )
-                    {
-                        String nodeClassifier = node.getDependency().getArtifact().getClassifier();
-                        
-                        if ( nodeClassifier == null )
-                        {
-                            return false;
-                        }
-                        else 
-                        {
-                            return "*".equals( classifier ) || nodeClassifier.matches( classifier );
-                        }
-                    }
-                };
-
-                filters.add( new AndDependencyFilter( patternFilter, classifierFilter ) );
-            }
-            else
-            {
-                filters.add( new PatternInclusionsDependencyFilter( include ) );
-            }
-        }
-        return new OrDependencyFilter( filters );
-    }
-}
diff --git a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/SonatypeAetherNode.java b/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/SonatypeAetherNode.java
deleted file mode 100644
index 419f6fb..0000000
--- a/src/main/java/org/apache/maven/shared/artifact/filter/resolve/transform/SonatypeAetherNode.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.apache.maven.shared.artifact.filter.resolve.transform;
-
-/*
- * 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 java.util.ArrayList;
-import java.util.List;
-
-import org.apache.maven.shared.artifact.filter.resolve.Node;
-import org.sonatype.aether.graph.Dependency;
-import org.sonatype.aether.graph.DependencyNode;
-import org.sonatype.aether.graph.Exclusion;
-import org.sonatype.aether.util.artifact.ArtifactProperties;
-
-/**
- * Adapter of a Sonatype Aether DependencyNode for common Node
- * 
- * @author Robert Scholte
- * @since 3.0
- */
-class SonatypeAetherNode implements Node
-{
-
-    private final DependencyNode node;
-
-    SonatypeAetherNode( DependencyNode node )
-    {
-        this.node = node;
-    }
-
-
-    @Override
-    public org.apache.maven.model.Dependency getDependency()
-    {
-        Dependency nodeDependency = node.getDependency();
-
-        if ( nodeDependency == null )
-        {
-            return null;
-        }
-        
-        org.apache.maven.model.Dependency mavenDependency = new org.apache.maven.model.Dependency();
-        mavenDependency.setGroupId( nodeDependency.getArtifact().getGroupId() );
-        mavenDependency.setArtifactId( nodeDependency.getArtifact().getArtifactId() );
-        mavenDependency.setVersion( nodeDependency.getArtifact().getVersion() );
-        mavenDependency.setClassifier( nodeDependency.getArtifact().getClassifier() );
-        mavenDependency.setType( nodeDependency.getArtifact().getProperty( ArtifactProperties.TYPE, null ) );
-        mavenDependency.setScope( nodeDependency.getScope() );
-        mavenDependency.setOptional( nodeDependency.isOptional() );
-        if ( nodeDependency.getExclusions() != null )
-        {
-            List<org.apache.maven.model.Exclusion> mavenExclusions =
-                    new ArrayList<>( nodeDependency.getExclusions().size() );
-
-            for ( Exclusion aetherExclusion : nodeDependency.getExclusions() )
-            {
-                org.apache.maven.model.Exclusion mavenExclusion = new org.apache.maven.model.Exclusion();
-
-                mavenExclusion.setGroupId( aetherExclusion.getGroupId() );
-                mavenExclusion.setArtifactId( aetherExclusion.getArtifactId() );
-                // that's all folks, although Aether has more metadata
-
-                mavenExclusions.add( mavenExclusion );
-            }
-
-            mavenDependency.setExclusions( mavenExclusions );
-        }
-
-        return mavenDependency;
-    }
-     
-}
diff --git a/src/test/java/org/apache/maven/shared/artifact/filter/resolve/transform/SonatypeAetherFilterTransformerTest.java b/src/test/java/org/apache/maven/shared/artifact/filter/resolve/transform/SonatypeAetherFilterTransformerTest.java
deleted file mode 100644
index fe4cd19..0000000
--- a/src/test/java/org/apache/maven/shared/artifact/filter/resolve/transform/SonatypeAetherFilterTransformerTest.java
+++ /dev/null
@@ -1,184 +0,0 @@
-package org.apache.maven.shared.artifact.filter.resolve.transform;
-
-/*
- * 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 static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.maven.artifact.ArtifactUtils;
-import org.apache.maven.shared.artifact.filter.resolve.AbstractFilter;
-import org.apache.maven.shared.artifact.filter.resolve.AndFilter;
-import org.apache.maven.shared.artifact.filter.resolve.ExclusionsFilter;
-import org.apache.maven.shared.artifact.filter.resolve.Node;
-import org.apache.maven.shared.artifact.filter.resolve.OrFilter;
-import org.apache.maven.shared.artifact.filter.resolve.PatternExclusionsFilter;
-import org.apache.maven.shared.artifact.filter.resolve.PatternInclusionsFilter;
-import org.apache.maven.shared.artifact.filter.resolve.ScopeFilter;
-import org.apache.maven.shared.artifact.filter.resolve.TransformableFilter;
-import org.sonatype.aether.graph.DependencyFilter;
-import org.sonatype.aether.graph.Dependency;
-import org.sonatype.aether.graph.DependencyNode;
-import org.sonatype.aether.util.artifact.DefaultArtifact;
-import org.sonatype.aether.util.filter.AndDependencyFilter;
-import org.sonatype.aether.util.filter.ExclusionsDependencyFilter;
-import org.sonatype.aether.util.filter.OrDependencyFilter;
-import org.sonatype.aether.util.filter.PatternExclusionsDependencyFilter;
-import org.sonatype.aether.util.filter.PatternInclusionsDependencyFilter;
-import org.sonatype.aether.util.filter.ScopeDependencyFilter;
-import org.sonatype.aether.util.graph.DefaultDependencyNode;
-import org.junit.Test;
-
-public class SonatypeAetherFilterTransformerTest
-{
-
-    private final SonatypeAetherFilterTransformer transformer = new SonatypeAetherFilterTransformer();
-
-    @Test
-    public void testTransformAndFilter()
-    {
-        AndFilter filter = new AndFilter(
-                  Arrays.asList( ScopeFilter.including( "compile" ),
-                                                      new ExclusionsFilter( Collections.singletonList( "x:a" ) ) ) );
-
-        AndDependencyFilter dependencyFilter = (AndDependencyFilter) filter.transform( transformer );
-        
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "compile" ), null ) );
-
-        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v", "compile" ), null ) );
-
-        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:v", "test" ), null ) );
-
-        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v", "test" ), null ) );
-    }
-
-    @Test
-    public void testTransformExclusionsFilter()
-    {
-        ExclusionsFilter filter = new ExclusionsFilter( Collections.singletonList( "x:a" ) );
-
-        ExclusionsDependencyFilter dependencyFilter = (ExclusionsDependencyFilter) filter.transform( transformer );
-
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "compile" ), null ) );
-
-        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v", "compile" ), null ) );
-    }
-
-    @Test
-    public void testTransformOrFilter()
-    {
-        OrFilter filter = new OrFilter( Arrays.<TransformableFilter>asList( ScopeFilter.including( "compile" ), 
-                                                                            ScopeFilter.including( "test" ) ) );
-
-        OrDependencyFilter dependencyFilter = (OrDependencyFilter) filter.transform( transformer );
-
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "compile" ), null ) );
-
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "test" ), null ) );
-        
-        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:v", "runtime" ), null ) );
-    }
-
-    @Test
-    public void testTransformScopeFilter()
-    {
-        ScopeFilter filter = ScopeFilter.including( Collections.singletonList( "runtime" ) );
-
-        ScopeDependencyFilter dependencyFilter = (ScopeDependencyFilter) filter.transform( transformer );
-        
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "runtime" ), null ) );
-
-        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:v", "compile" ), null ) );
-
-        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:v", "test" ), null ) );
-    }
-
-    @Test
-    public void testTransformPatternExclusionsFilter()
-    {
-        PatternExclusionsFilter filter =
-            new PatternExclusionsFilter( Collections.singletonList( "x:*" ) );
-
-        PatternExclusionsDependencyFilter dependencyFilter =
-            (PatternExclusionsDependencyFilter) filter.transform( transformer );
-        
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "runtime" ), null ) );
-
-        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v", "runtime" ), null ) );
-    }
-
-    @Test
-    public void testTransformPatternInclusionsFilter()
-    {
-        PatternInclusionsFilter filter =
-            new PatternInclusionsFilter( Collections.singletonList( "g:*" ) );
-
-        PatternInclusionsDependencyFilter dependencyFilter =
-            (PatternInclusionsDependencyFilter) filter.transform( transformer );
-        
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v", "runtime" ), null ) );
-
-        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v", "runtime" ), null ) );
-    }
-    
-
-    @Test
-    public void testTransformClassifierPatternInclusionsFilter()
-    {
-        PatternInclusionsFilter filter =
-            new PatternInclusionsFilter( Collections.singletonList( "g:*:*:c:*" ) );
-
-        DependencyFilter dependencyFilter = filter.transform( transformer );
-
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:v:c:*", "runtime" ), null ) );
-
-        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:v", "runtime" ), null ) );
-        
-        assertFalse( dependencyFilter.accept( newDependencyNode( "x:a:v:c:*", "runtime" ), null ) );
-    }
-    
-    @Test
-    public void testTransformAbstractFilter()
-    {
-        AbstractFilter snapshotFilter = new AbstractFilter()
-        {
-            @Override
-            public boolean accept( Node node, List<Node> parents )
-            {
-                return ArtifactUtils.isSnapshot( node.getDependency().getVersion() );
-            }
-        };
-        
-        DependencyFilter dependencyFilter = snapshotFilter.transform( transformer );
-        
-        assertTrue( dependencyFilter.accept( newDependencyNode( "g:a:1.0-SNAPSHOT", "compile" ), null ) );
-
-        assertFalse( dependencyFilter.accept( newDependencyNode( "g:a:1.0", "compile" ), null ) );
-    }
-    
-    private DependencyNode newDependencyNode( String string, String scope )
-    {
-        return new DefaultDependencyNode( new Dependency( new DefaultArtifact( string ), scope ) );
-    }
-
-}
diff --git a/src/test/java/org/apache/maven/shared/artifact/filter/resolve/transform/SonatypeAetherNodeTest.java b/src/test/java/org/apache/maven/shared/artifact/filter/resolve/transform/SonatypeAetherNodeTest.java
deleted file mode 100644
index 826e394..0000000
--- a/src/test/java/org/apache/maven/shared/artifact/filter/resolve/transform/SonatypeAetherNodeTest.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package org.apache.maven.shared.artifact.filter.resolve.transform;
-
-/*
- * 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 java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-
-import org.apache.maven.shared.artifact.filter.resolve.Node;
-import org.junit.Test;
-import org.sonatype.aether.graph.Dependency;
-import org.sonatype.aether.graph.DependencyNode;
-import org.sonatype.aether.graph.Exclusion;
-import org.sonatype.aether.util.artifact.DefaultArtifact;
-import org.sonatype.aether.util.graph.DefaultDependencyNode;
-
-import static org.junit.Assert.*;
-
-public class SonatypeAetherNodeTest
-{
-    @Test
-    public void testGAV()
-    {
-        Node node = new SonatypeAetherNode( newDependencyNode( "g:a:v", null ) );
-        
-        org.apache.maven.model.Dependency mavenDependency = node.getDependency();
-        
-        assertEquals( "g", mavenDependency.getGroupId()  );
-        assertEquals( "a", mavenDependency.getArtifactId()  );
-        assertEquals( "v", mavenDependency.getVersion() );
-        assertEquals( "", mavenDependency.getClassifier() );
-        assertNull( mavenDependency.getType() );
-        assertEquals( "", mavenDependency.getScope() );
-    }
-
-    @Test
-    public void testClassifier()
-    {
-        Node node = new SonatypeAetherNode( newDependencyNode( "g:a::c:v", null ) );
-        
-        org.apache.maven.model.Dependency mavenDependency = node.getDependency();
-        
-        assertEquals( "g", mavenDependency.getGroupId()  );
-        assertEquals( "a", mavenDependency.getArtifactId()  );
-        assertEquals( "v", mavenDependency.getVersion() );
-        assertEquals( "c", mavenDependency.getClassifier() );
-        assertNull( mavenDependency.getType() );
-        assertEquals( "", mavenDependency.getScope() );
-    }
-
-    @Test
-    public void testScope()
-    {
-        Node node = new SonatypeAetherNode( newDependencyNode( "g:a:v", "s" ) );
-        
-        org.apache.maven.model.Dependency mavenDependency = node.getDependency();
-        
-        assertEquals( "g", mavenDependency.getGroupId()  );
-        assertEquals( "a", mavenDependency.getArtifactId()  );
-        assertEquals( "v", mavenDependency.getVersion() );
-        assertEquals( "", mavenDependency.getClassifier() );
-        assertNull( mavenDependency.getType() );
-        assertEquals( "s", mavenDependency.getScope() );
-    }
-    
-    @Test
-    public void testOptional()
-    {
-        Node node = new SonatypeAetherNode( newDependencyNode( "g:a:v", null ) );
-        
-        assertEquals( "false", node.getDependency().getOptional()  );
-        assertFalse( node.getDependency().isOptional() );
-        
-        node = new SonatypeAetherNode( newDependencyNode( "g:a:v", null, true ) );
-        assertEquals( "true", node.getDependency().getOptional()  );
-        assertTrue( node.getDependency().isOptional() );
-
-        node = new SonatypeAetherNode( newDependencyNode( "g:a:v", null, false ) );
-        assertEquals( "false", node.getDependency().getOptional()  );
-        assertFalse( node.getDependency().isOptional() );
-    }
-
-    @Test
-    public void testExclusions()
-    {
-        Node node = new SonatypeAetherNode( newDependencyNode( "g:a:v", null, Collections.singletonList( "eg:ea" ) ) );
-        assertEquals( 1, node.getDependency().getExclusions().size() );
-        
-        org.apache.maven.model.Exclusion mavenExclusion = node.getDependency().getExclusions().get( 0 );
-        assertEquals( "eg", mavenExclusion.getGroupId() );
-        assertEquals( "ea", mavenExclusion.getArtifactId() );
-    }
-
-    private DependencyNode newDependencyNode( String string, String scope )
-    {
-        return new DefaultDependencyNode( new Dependency( new DefaultArtifact( string ), scope ) );
-    }
-    
-    private DependencyNode newDependencyNode( String coor, String scope, boolean optional )
-    {
-        return new DefaultDependencyNode( new Dependency( new DefaultArtifact( coor ), scope, optional ) );
-    }
-
-    private DependencyNode newDependencyNode( String coor, String scope, Collection<String> exclusions )
-    {
-        Dependency dependency = new Dependency( new DefaultArtifact( coor ), scope );
-        
-        Collection<Exclusion> aetherExclusions = new ArrayList<>( exclusions.size() );
-        for ( String exclusion : exclusions )
-        {
-            String[] ga = exclusion.split( ":" );
-            aetherExclusions.add( new Exclusion( ga[0], ga[1], null, null ) );
-        }
-        dependency = dependency.setExclusions( aetherExclusions );
-        
-        return new DefaultDependencyNode( dependency );
-    }
-}