You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2016/09/03 20:23:35 UTC
[12/51] [partial] maven-aether git commit: [MNG-6007] rename Aether
to Maven Artifact Resolver
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/NoopDependencyGraphTransformer.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/NoopDependencyGraphTransformer.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/NoopDependencyGraphTransformer.java
deleted file mode 100644
index 55b6175..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/NoopDependencyGraphTransformer.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.eclipse.aether.util.graph.transformer;
-
-/*
- * 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.RepositoryException;
-import org.eclipse.aether.collection.DependencyGraphTransformationContext;
-import org.eclipse.aether.collection.DependencyGraphTransformer;
-import org.eclipse.aether.graph.DependencyNode;
-
-/**
- * A dependency graph transformer that does not perform any changes on its input.
- */
-public final class NoopDependencyGraphTransformer
- implements DependencyGraphTransformer
-{
-
- /**
- * A ready-made instance of this dependency graph transformer which can safely be reused throughout an entire
- * application regardless of multi-threading.
- */
- public static final DependencyGraphTransformer INSTANCE = new NoopDependencyGraphTransformer();
-
- /**
- * Creates a new instance of this graph transformer. Usually, {@link #INSTANCE} should be used instead.
- */
- public NoopDependencyGraphTransformer()
- {
- }
-
- public DependencyNode transformGraph( DependencyNode node, DependencyGraphTransformationContext context )
- throws RepositoryException
- {
- return node;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/SimpleOptionalitySelector.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/SimpleOptionalitySelector.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/SimpleOptionalitySelector.java
deleted file mode 100644
index 0cc7a73..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/SimpleOptionalitySelector.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.eclipse.aether.util.graph.transformer;
-
-/*
- * 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.Collection;
-
-import org.eclipse.aether.RepositoryException;
-import org.eclipse.aether.util.graph.transformer.ConflictResolver.ConflictContext;
-import org.eclipse.aether.util.graph.transformer.ConflictResolver.ConflictItem;
-import org.eclipse.aether.util.graph.transformer.ConflictResolver.OptionalitySelector;
-
-/**
- * An optionality selector for use with {@link ConflictResolver}. In general, this selector only marks a dependency as
- * optional if all its occurrences are optional. If however a direct dependency is involved, its optional flag is
- * selected.
- */
-public final class SimpleOptionalitySelector
- extends OptionalitySelector
-{
-
- /**
- * Creates a new instance of this optionality selector.
- */
- public SimpleOptionalitySelector()
- {
- }
-
- @Override
- public void selectOptionality( ConflictContext context )
- throws RepositoryException
- {
- boolean optional = chooseEffectiveOptionality( context.getItems() );
- context.setOptional( optional );
- }
-
- private boolean chooseEffectiveOptionality( Collection<ConflictItem> items )
- {
- boolean optional = true;
- for ( ConflictItem item : items )
- {
- if ( item.getDepth() <= 1 )
- {
- return item.getDependency().isOptional();
- }
- if ( ( item.getOptionalities() & ConflictItem.OPTIONAL_FALSE ) != 0 )
- {
- optional = false;
- }
- }
- return optional;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/TransformationContextKeys.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/TransformationContextKeys.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/TransformationContextKeys.java
deleted file mode 100644
index a9ebf68..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/TransformationContextKeys.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.aether.util.graph.transformer;
-
-/*
- * 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.
- */
-
-/**
- * A collection of keys used by the dependency graph transformers when exchanging information via the graph
- * transformation context.
- *
- * @see org.eclipse.aether.collection.DependencyGraphTransformationContext#get(Object)
- */
-public final class TransformationContextKeys
-{
-
- /**
- * The key in the graph transformation context where a {@code Map<DependencyNode, Object>} is stored which maps
- * dependency nodes to their conflict ids. All nodes that map to an equal conflict id belong to the same group of
- * conflicting dependencies. Note that the map keys use reference equality.
- *
- * @see ConflictMarker
- */
- public static final Object CONFLICT_IDS = "conflictIds";
-
- /**
- * The key in the graph transformation context where a {@code List<Object>} is stored that denotes a topological
- * sorting of the conflict ids.
- *
- * @see ConflictIdSorter
- */
- public static final Object SORTED_CONFLICT_IDS = "sortedConflictIds";
-
- /**
- * The key in the graph transformation context where a {@code Collection<Collection<Object>>} is stored that denotes
- * cycles among conflict ids. Each element in the outer collection denotes one cycle, i.e. if the collection is
- * empty, the conflict ids have no cyclic dependencies.
- *
- * @see ConflictIdSorter
- */
- public static final Object CYCLIC_CONFLICT_IDS = "cyclicConflictIds";
-
- /**
- * The key in the graph transformation context where a {@code Map<String, Object>} is stored that can be used to
- * include some runtime/performance stats in the debug log. If this map is not present, no stats should be recorded.
- */
- public static final Object STATS = "stats";
-
- private TransformationContextKeys()
- {
- // hide constructor
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/package-info.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/package-info.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/package-info.java
deleted file mode 100644
index a41adcd..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/transformer/package-info.java
+++ /dev/null
@@ -1,24 +0,0 @@
-// CHECKSTYLE_OFF: RegexpHeader
-/*
- * 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.
- */
-/**
- * Various dependency graph transformers for post-processing a dependency graph.
- */
-package org.eclipse.aether.util.graph.transformer;
-
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java
deleted file mode 100644
index fb08b3b..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/AndDependencyTraverser.java
+++ /dev/null
@@ -1,207 +0,0 @@
-package org.eclipse.aether.util.graph.traverser;
-
-/*
- * 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.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
-import org.eclipse.aether.collection.DependencyCollectionContext;
-import org.eclipse.aether.collection.DependencyTraverser;
-import org.eclipse.aether.graph.Dependency;
-
-/**
- * A dependency traverser that combines zero or more other traversers using a logical {@code AND}. The resulting
- * traverser enables processing of child dependencies if and only if all constituent traversers request traversal.
- */
-public final class AndDependencyTraverser
- implements DependencyTraverser
-{
-
- private final Set<? extends DependencyTraverser> traversers;
-
- private int hashCode;
-
- /**
- * Creates a new traverser from the specified traversers. Prefer
- * {@link #newInstance(DependencyTraverser, DependencyTraverser)} if any of the input traversers might be
- * {@code null}.
- *
- * @param traversers The traversers to combine, may be {@code null} but must not contain {@code null} elements.
- */
- public AndDependencyTraverser( DependencyTraverser... traversers )
- {
- if ( traversers != null && traversers.length > 0 )
- {
- this.traversers = new LinkedHashSet<DependencyTraverser>( Arrays.asList( traversers ) );
- }
- else
- {
- this.traversers = Collections.emptySet();
- }
- }
-
- /**
- * Creates a new traverser from the specified traversers.
- *
- * @param traversers The traversers to combine, may be {@code null} but must not contain {@code null} elements.
- */
- public AndDependencyTraverser( Collection<? extends DependencyTraverser> traversers )
- {
- if ( traversers != null && !traversers.isEmpty() )
- {
- this.traversers = new LinkedHashSet<DependencyTraverser>( traversers );
- }
- else
- {
- this.traversers = Collections.emptySet();
- }
- }
-
- private AndDependencyTraverser( Set<DependencyTraverser> traversers )
- {
- if ( traversers != null && !traversers.isEmpty() )
- {
- this.traversers = traversers;
- }
- else
- {
- this.traversers = Collections.emptySet();
- }
- }
-
- /**
- * Creates a new traverser from the specified traversers.
- *
- * @param traverser1 The first traverser to combine, may be {@code null}.
- * @param traverser2 The second traverser to combine, may be {@code null}.
- * @return The combined traverser or {@code null} if both traversers were {@code null}.
- */
- public static DependencyTraverser newInstance( DependencyTraverser traverser1, DependencyTraverser traverser2 )
- {
- if ( traverser1 == null )
- {
- return traverser2;
- }
- else if ( traverser2 == null || traverser2.equals( traverser1 ) )
- {
- return traverser1;
- }
- return new AndDependencyTraverser( traverser1, traverser2 );
- }
-
- public boolean traverseDependency( Dependency dependency )
- {
- for ( DependencyTraverser traverser : traversers )
- {
- if ( !traverser.traverseDependency( dependency ) )
- {
- return false;
- }
- }
- return true;
- }
-
- public DependencyTraverser deriveChildTraverser( DependencyCollectionContext context )
- {
- int seen = 0;
- Set<DependencyTraverser> childTraversers = null;
-
- for ( DependencyTraverser traverser : traversers )
- {
- DependencyTraverser childTraverser = traverser.deriveChildTraverser( context );
- if ( childTraversers != null )
- {
- if ( childTraverser != null )
- {
- childTraversers.add( childTraverser );
- }
- }
- else if ( traverser != childTraverser )
- {
- childTraversers = new LinkedHashSet<DependencyTraverser>();
- if ( seen > 0 )
- {
- for ( DependencyTraverser s : traversers )
- {
- if ( childTraversers.size() >= seen )
- {
- break;
- }
- childTraversers.add( s );
- }
- }
- if ( childTraverser != null )
- {
- childTraversers.add( childTraverser );
- }
- }
- else
- {
- seen++;
- }
- }
-
- if ( childTraversers == null )
- {
- return this;
- }
- if ( childTraversers.size() <= 1 )
- {
- if ( childTraversers.isEmpty() )
- {
- return null;
- }
- return childTraversers.iterator().next();
- }
- return new AndDependencyTraverser( childTraversers );
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
- else if ( null == obj || !getClass().equals( obj.getClass() ) )
- {
- return false;
- }
-
- AndDependencyTraverser that = (AndDependencyTraverser) obj;
- return traversers.equals( that.traversers );
- }
-
- @Override
- public int hashCode()
- {
- if ( hashCode == 0 )
- {
- int hash = 17;
- hash = hash * 31 + traversers.hashCode();
- hashCode = hash;
- }
- return hashCode;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/FatArtifactTraverser.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/FatArtifactTraverser.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/FatArtifactTraverser.java
deleted file mode 100644
index 40ce616..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/FatArtifactTraverser.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.aether.util.graph.traverser;
-
-/*
- * 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.ArtifactProperties;
-import org.eclipse.aether.collection.DependencyCollectionContext;
-import org.eclipse.aether.collection.DependencyTraverser;
-import org.eclipse.aether.graph.Dependency;
-
-/**
- * A dependency traverser that excludes the dependencies of fat artifacts from the traversal. Fat artifacts are
- * artifacts that have the property {@link org.eclipse.aether.artifact.ArtifactProperties#INCLUDES_DEPENDENCIES} set to
- * {@code true}.
- *
- * @see org.eclipse.aether.artifact.Artifact#getProperties()
- */
-public final class FatArtifactTraverser
- implements DependencyTraverser
-{
-
- /**
- * Creates a new instance of this dependency traverser.
- */
- public FatArtifactTraverser()
- {
- }
-
- public boolean traverseDependency( Dependency dependency )
- {
- String prop = dependency.getArtifact().getProperty( ArtifactProperties.INCLUDES_DEPENDENCIES, "" );
- return !Boolean.parseBoolean( prop );
- }
-
- public DependencyTraverser deriveChildTraverser( DependencyCollectionContext context )
- {
- return this;
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
- else if ( null == obj || !getClass().equals( obj.getClass() ) )
- {
- return false;
- }
- return true;
- }
-
- @Override
- public int hashCode()
- {
- return getClass().hashCode();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/StaticDependencyTraverser.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/StaticDependencyTraverser.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/StaticDependencyTraverser.java
deleted file mode 100644
index 5e2a703..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/StaticDependencyTraverser.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.aether.util.graph.traverser;
-
-/*
- * 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.collection.DependencyCollectionContext;
-import org.eclipse.aether.collection.DependencyTraverser;
-import org.eclipse.aether.graph.Dependency;
-
-/**
- * A dependency traverser which always or never traverses children.
- */
-public final class StaticDependencyTraverser
- implements DependencyTraverser
-{
-
- private final boolean traverse;
-
- /**
- * Creates a new traverser with the specified traversal behavior.
- *
- * @param traverse {@code true} to traverse all dependencies, {@code false} to never traverse.
- */
- public StaticDependencyTraverser( boolean traverse )
- {
- this.traverse = traverse;
- }
-
- public boolean traverseDependency( Dependency dependency )
- {
- return traverse;
- }
-
- public DependencyTraverser deriveChildTraverser( DependencyCollectionContext context )
- {
- return this;
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
- else if ( null == obj || !getClass().equals( obj.getClass() ) )
- {
- return false;
- }
-
- StaticDependencyTraverser that = (StaticDependencyTraverser) obj;
- return traverse == that.traverse;
- }
-
- @Override
- public int hashCode()
- {
- int hash = getClass().hashCode();
- hash = hash * 31 + ( traverse ? 1 : 0 );
- return hash;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/package-info.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/package-info.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/package-info.java
deleted file mode 100644
index a1b71e0..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/traverser/package-info.java
+++ /dev/null
@@ -1,24 +0,0 @@
-// CHECKSTYLE_OFF: RegexpHeader
-/*
- * 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.
- */
-/**
- * Various dependency traversers for building a dependency graph.
- */
-package org.eclipse.aether.util.graph.traverser;
-
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/version/ChainedVersionFilter.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/version/ChainedVersionFilter.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/version/ChainedVersionFilter.java
deleted file mode 100644
index 7d13555..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/version/ChainedVersionFilter.java
+++ /dev/null
@@ -1,185 +0,0 @@
-package org.eclipse.aether.util.graph.version;
-
-/*
- * 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.Arrays;
-import java.util.Collection;
-
-import org.eclipse.aether.RepositoryException;
-import org.eclipse.aether.collection.DependencyCollectionContext;
-import org.eclipse.aether.collection.VersionFilter;
-
-/**
- * A version filter that combines multiple version filters into a chain where each filter gets invoked one after the
- * other, thereby accumulating their filtering effects.
- */
-public final class ChainedVersionFilter
- implements VersionFilter
-{
-
- private final VersionFilter[] filters;
-
- private int hashCode;
-
- /**
- * Chains the specified version filters.
- *
- * @param filter1 The first version filter, may be {@code null}.
- * @param filter2 The second version filter, may be {@code null}.
- * @return The chained version filter or {@code null} if both input filters are {@code null}.
- */
- public static VersionFilter newInstance( VersionFilter filter1, VersionFilter filter2 )
- {
- if ( filter1 == null )
- {
- return filter2;
- }
- if ( filter2 == null )
- {
- return filter1;
- }
- return new ChainedVersionFilter( new VersionFilter[] { filter1, filter2 } );
- }
-
- /**
- * Chains the specified version filters.
- *
- * @param filters The version filters to chain, must not be {@code null} or contain {@code null}.
- * @return The chained version filter or {@code null} if the input array is empty.
- */
- public static VersionFilter newInstance( VersionFilter... filters )
- {
- if ( filters.length <= 1 )
- {
- if ( filters.length <= 0 )
- {
- return null;
- }
- return filters[0];
- }
- return new ChainedVersionFilter( filters.clone() );
- }
-
- /**
- * Chains the specified version filters.
- *
- * @param filters The version filters to chain, must not be {@code null} or contain {@code null}.
- * @return The chained version filter or {@code null} if the input collection is empty.
- */
- public static VersionFilter newInstance( Collection<? extends VersionFilter> filters )
- {
- if ( filters.size() <= 1 )
- {
- if ( filters.isEmpty() )
- {
- return null;
- }
- return filters.iterator().next();
- }
- return new ChainedVersionFilter( filters.toArray( new VersionFilter[filters.size()] ) );
- }
-
- private ChainedVersionFilter( VersionFilter[] filters )
- {
- this.filters = filters;
- }
-
- public void filterVersions( VersionFilterContext context )
- throws RepositoryException
- {
- for ( int i = 0, n = filters.length; i < n && context.getCount() > 0; i++ )
- {
- filters[i].filterVersions( context );
- }
- }
-
- public VersionFilter deriveChildFilter( DependencyCollectionContext context )
- {
- VersionFilter[] children = null;
- int removed = 0;
- for ( int i = 0, n = filters.length; i < n; i++ )
- {
- VersionFilter child = filters[i].deriveChildFilter( context );
- if ( children != null )
- {
- children[i - removed] = child;
- }
- else if ( child != filters[i] )
- {
- children = new VersionFilter[filters.length];
- System.arraycopy( filters, 0, children, 0, i );
- children[i - removed] = child;
- }
- if ( child == null )
- {
- removed++;
- }
- }
- if ( children == null )
- {
- return this;
- }
- if ( removed > 0 )
- {
- int count = filters.length - removed;
- if ( count <= 0 )
- {
- return null;
- }
- if ( count == 1 )
- {
- return children[0];
- }
- VersionFilter[] tmp = new VersionFilter[count];
- System.arraycopy( children, 0, tmp, 0, count );
- children = tmp;
- }
- return new ChainedVersionFilter( children );
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
- else if ( null == obj || !getClass().equals( obj.getClass() ) )
- {
- return false;
- }
-
- ChainedVersionFilter that = (ChainedVersionFilter) obj;
- return Arrays.equals( filters, that.filters );
- }
-
- @Override
- public int hashCode()
- {
- if ( hashCode == 0 )
- {
- int hash = getClass().hashCode();
- hash = hash * 31 + Arrays.hashCode( filters );
- hashCode = hash;
- }
- return hashCode;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/version/ContextualSnapshotVersionFilter.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/version/ContextualSnapshotVersionFilter.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/version/ContextualSnapshotVersionFilter.java
deleted file mode 100644
index 569bf4c..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/version/ContextualSnapshotVersionFilter.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package org.eclipse.aether.util.graph.version;
-
-/*
- * 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.RepositorySystemSession;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.collection.DependencyCollectionContext;
-import org.eclipse.aether.collection.VersionFilter;
-import org.eclipse.aether.util.ConfigUtils;
-
-/**
- * A version filter that blocks "*-SNAPSHOT" versions if the
- * {@link org.eclipse.aether.collection.CollectRequest#getRootArtifact() root artifact} of the dependency graph is not a
- * snapshot. Alternatively, this filter can be forced to always ban snapshot versions by setting the boolean
- * {@link RepositorySystemSession#getConfigProperties() configuration property} {@link #CONFIG_PROP_ENABLE} to
- * {@code true}.
- */
-public final class ContextualSnapshotVersionFilter
- implements VersionFilter
-{
-
- /**
- * The key in the repository session's {@link RepositorySystemSession#getConfigProperties() configuration
- * properties} used to store a {@link Boolean} flag whether this filter should be forced to ban snapshots. By
- * default, snapshots are only filtered if the root artifact is not a snapshot.
- */
- public static final String CONFIG_PROP_ENABLE = "aether.snapshotFilter";
-
- private final SnapshotVersionFilter filter;
-
- /**
- * Creates a new instance of this version filter.
- */
- public ContextualSnapshotVersionFilter()
- {
- filter = new SnapshotVersionFilter();
- }
-
- private boolean isEnabled( RepositorySystemSession session )
- {
- return ConfigUtils.getBoolean( session, false, CONFIG_PROP_ENABLE );
- }
-
- public void filterVersions( VersionFilterContext context )
- {
- if ( isEnabled( context.getSession() ) )
- {
- filter.filterVersions( context );
- }
- }
-
- public VersionFilter deriveChildFilter( DependencyCollectionContext context )
- {
- if ( !isEnabled( context.getSession() ) )
- {
- Artifact artifact = context.getArtifact();
- if ( artifact == null )
- {
- // no root artifact to test, allow snapshots and recheck once we reach the direct dependencies
- return this;
- }
- if ( artifact.isSnapshot() )
- {
- // root is a snapshot, allow snapshots all the way down
- return null;
- }
- }
- // artifact is a non-snapshot or filter explicitly enabled, block snapshots all the way down
- return filter;
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
- else if ( null == obj || !getClass().equals( obj.getClass() ) )
- {
- return false;
- }
- return true;
- }
-
- @Override
- public int hashCode()
- {
- return getClass().hashCode();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/version/HighestVersionFilter.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/version/HighestVersionFilter.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/version/HighestVersionFilter.java
deleted file mode 100644
index 902e08d..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/version/HighestVersionFilter.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.aether.util.graph.version;
-
-/*
- * 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.Iterator;
-
-import org.eclipse.aether.collection.DependencyCollectionContext;
-import org.eclipse.aether.collection.VersionFilter;
-import org.eclipse.aether.version.Version;
-
-/**
- * A version filter that excludes any version except the highest one.
- */
-public final class HighestVersionFilter
- implements VersionFilter
-{
-
- /**
- * Creates a new instance of this version filter.
- */
- public HighestVersionFilter()
- {
- }
-
- public void filterVersions( VersionFilterContext context )
- {
- Iterator<Version> it = context.iterator();
- for ( boolean hasNext = it.hasNext(); hasNext; )
- {
- it.next();
- if ( hasNext = it.hasNext() )
- {
- it.remove();
- }
- }
- }
-
- public VersionFilter deriveChildFilter( DependencyCollectionContext context )
- {
- return this;
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
- else if ( null == obj || !getClass().equals( obj.getClass() ) )
- {
- return false;
- }
- return true;
- }
-
- @Override
- public int hashCode()
- {
- return getClass().hashCode();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/version/SnapshotVersionFilter.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/version/SnapshotVersionFilter.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/version/SnapshotVersionFilter.java
deleted file mode 100644
index 6af7cf5..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/version/SnapshotVersionFilter.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.eclipse.aether.util.graph.version;
-
-/*
- * 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.Iterator;
-
-import org.eclipse.aether.collection.DependencyCollectionContext;
-import org.eclipse.aether.collection.VersionFilter;
-import org.eclipse.aether.version.Version;
-
-/**
- * A version filter that (unconditionally) blocks "*-SNAPSHOT" versions. For practical purposes,
- * {@link ContextualSnapshotVersionFilter} is usually more desirable.
- */
-public final class SnapshotVersionFilter
- implements VersionFilter
-{
-
- /**
- * Creates a new instance of this version filter.
- */
- public SnapshotVersionFilter()
- {
- }
-
- public void filterVersions( VersionFilterContext context )
- {
- for ( Iterator<Version> it = context.iterator(); it.hasNext(); )
- {
- String version = it.next().toString();
- if ( version.endsWith( "SNAPSHOT" ) )
- {
- it.remove();
- }
- }
- }
-
- public VersionFilter deriveChildFilter( DependencyCollectionContext context )
- {
- return this;
- }
-
- @Override
- public boolean equals( Object obj )
- {
- if ( this == obj )
- {
- return true;
- }
- else if ( null == obj || !getClass().equals( obj.getClass() ) )
- {
- return false;
- }
- return true;
- }
-
- @Override
- public int hashCode()
- {
- return getClass().hashCode();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/version/package-info.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/version/package-info.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/version/package-info.java
deleted file mode 100644
index a9f4649..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/version/package-info.java
+++ /dev/null
@@ -1,24 +0,0 @@
-// CHECKSTYLE_OFF: RegexpHeader
-/*
- * 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.
- */
-/**
- * Various version filters for building a dependency graph.
- */
-package org.eclipse.aether.util.graph.version;
-
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/AbstractDepthFirstNodeListGenerator.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/AbstractDepthFirstNodeListGenerator.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/AbstractDepthFirstNodeListGenerator.java
deleted file mode 100644
index 70fc7d4..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/AbstractDepthFirstNodeListGenerator.java
+++ /dev/null
@@ -1,186 +0,0 @@
-package org.eclipse.aether.util.graph.visitor;
-
-/*
- * 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.graph.Dependency;
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.graph.DependencyVisitor;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.IdentityHashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Abstract base class for depth first dependency tree traversers. Subclasses of this visitor will visit each node
- * exactly once regardless how many paths within the dependency graph lead to the node such that the resulting node
- * sequence is free of duplicates.
- * <p>
- * Actual vertex ordering (preorder, inorder, postorder) needs to be defined by subclasses through appropriate
- * implementations for {@link #visitEnter(org.eclipse.aether.graph.DependencyNode)} and
- * {@link #visitLeave(org.eclipse.aether.graph.DependencyNode)}
- */
-abstract class AbstractDepthFirstNodeListGenerator
- implements DependencyVisitor
-{
-
- private final Map<DependencyNode, Object> visitedNodes;
-
- protected final List<DependencyNode> nodes;
-
- public AbstractDepthFirstNodeListGenerator()
- {
- nodes = new ArrayList<DependencyNode>( 128 );
- visitedNodes = new IdentityHashMap<DependencyNode, Object>( 512 );
- }
-
- /**
- * Gets the list of dependency nodes that was generated during the graph traversal.
- *
- * @return The list of dependency nodes, never {@code null}.
- */
- public List<DependencyNode> getNodes()
- {
- return nodes;
- }
-
- /**
- * Gets the dependencies seen during the graph traversal.
- *
- * @param includeUnresolved Whether unresolved dependencies shall be included in the result or not.
- * @return The list of dependencies, never {@code null}.
- */
- public List<Dependency> getDependencies( boolean includeUnresolved )
- {
- List<Dependency> dependencies = new ArrayList<Dependency>( getNodes().size() );
-
- for ( DependencyNode node : getNodes() )
- {
- Dependency dependency = node.getDependency();
- if ( dependency != null )
- {
- if ( includeUnresolved || dependency.getArtifact().getFile() != null )
- {
- dependencies.add( dependency );
- }
- }
- }
-
- return dependencies;
- }
-
- /**
- * Gets the artifacts associated with the list of dependency nodes generated during the graph traversal.
- *
- * @param includeUnresolved Whether unresolved artifacts shall be included in the result or not.
- * @return The list of artifacts, never {@code null}.
- */
- public List<Artifact> getArtifacts( boolean includeUnresolved )
- {
- List<Artifact> artifacts = new ArrayList<Artifact>( getNodes().size() );
-
- for ( DependencyNode node : getNodes() )
- {
- if ( node.getDependency() != null )
- {
- Artifact artifact = node.getDependency().getArtifact();
- if ( includeUnresolved || artifact.getFile() != null )
- {
- artifacts.add( artifact );
- }
- }
- }
-
- return artifacts;
- }
-
- /**
- * Gets the files of resolved artifacts seen during the graph traversal.
- *
- * @return The list of artifact files, never {@code null}.
- */
- public List<File> getFiles()
- {
- List<File> files = new ArrayList<File>( getNodes().size() );
-
- for ( DependencyNode node : getNodes() )
- {
- if ( node.getDependency() != null )
- {
- File file = node.getDependency().getArtifact().getFile();
- if ( file != null )
- {
- files.add( file );
- }
- }
- }
-
- return files;
- }
-
- /**
- * Gets a class path by concatenating the artifact files of the visited dependency nodes. Nodes with unresolved
- * artifacts are automatically skipped.
- *
- * @return The class path, using the platform-specific path separator, never {@code null}.
- */
- public String getClassPath()
- {
- StringBuilder buffer = new StringBuilder( 1024 );
-
- for ( Iterator<DependencyNode> it = getNodes().iterator(); it.hasNext(); )
- {
- DependencyNode node = it.next();
- if ( node.getDependency() != null )
- {
- Artifact artifact = node.getDependency().getArtifact();
- if ( artifact.getFile() != null )
- {
- buffer.append( artifact.getFile().getAbsolutePath() );
- if ( it.hasNext() )
- {
- buffer.append( File.pathSeparatorChar );
- }
- }
- }
- }
-
- return buffer.toString();
- }
-
- /**
- * Marks the specified node as being visited and determines whether the node has been visited before.
- *
- * @param node The node being visited, must not be {@code null}.
- * @return {@code true} if the node has not been visited before, {@code false} if the node was already visited.
- */
- protected boolean setVisited( DependencyNode node )
- {
- return visitedNodes.put( node, Boolean.TRUE ) == null;
- }
-
- public abstract boolean visitEnter( DependencyNode node );
-
- public abstract boolean visitLeave( DependencyNode node );
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/CloningDependencyVisitor.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/CloningDependencyVisitor.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/CloningDependencyVisitor.java
deleted file mode 100644
index a39fc84..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/CloningDependencyVisitor.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.eclipse.aether.util.graph.visitor;
-
-/*
- * 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.IdentityHashMap;
-import java.util.Map;
-
-import org.eclipse.aether.graph.DefaultDependencyNode;
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.graph.DependencyVisitor;
-
-/**
- * A dependency visitor that constructs a clone of the visited dependency graph. If such a visitor is passed into a
- * {@link FilteringDependencyVisitor}, a sub graph can be created. This class creates shallow clones of the visited
- * dependency nodes (via {@link DefaultDependencyNode#DefaultDependencyNode(DependencyNode)}) but clients can create a
- * subclass and override {@link #clone(DependencyNode)} to alter the clone process.
- */
-public class CloningDependencyVisitor
- implements DependencyVisitor
-{
-
- private final Map<DependencyNode, DependencyNode> clones;
-
- private final Stack<DependencyNode> parents;
-
- private DependencyNode root;
-
- /**
- * Creates a new visitor that clones the visited nodes.
- */
- public CloningDependencyVisitor()
- {
- parents = new Stack<DependencyNode>();
- clones = new IdentityHashMap<DependencyNode, DependencyNode>( 256 );
- }
-
- /**
- * Gets the root node of the cloned dependency graph.
- *
- * @return The root node of the cloned dependency graph or {@code null}.
- */
- public final DependencyNode getRootNode()
- {
- return root;
- }
-
- /**
- * Creates a clone of the specified node.
- *
- * @param node The node to clone, must not be {@code null}.
- * @return The cloned node, never {@code null}.
- */
- protected DependencyNode clone( DependencyNode node )
- {
- DefaultDependencyNode clone = new DefaultDependencyNode( node );
- return clone;
- }
-
- public final boolean visitEnter( DependencyNode node )
- {
- boolean recurse = true;
-
- DependencyNode clone = clones.get( node );
- if ( clone == null )
- {
- clone = clone( node );
- clones.put( node, clone );
- }
- else
- {
- recurse = false;
- }
-
- DependencyNode parent = parents.peek();
-
- if ( parent == null )
- {
- root = clone;
- }
- else
- {
- parent.getChildren().add( clone );
- }
-
- parents.push( clone );
-
- return recurse;
- }
-
- public final boolean visitLeave( DependencyNode node )
- {
- parents.pop();
-
- return true;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/FilteringDependencyVisitor.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/FilteringDependencyVisitor.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/FilteringDependencyVisitor.java
deleted file mode 100644
index 49f779c..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/FilteringDependencyVisitor.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package org.eclipse.aether.util.graph.visitor;
-
-/*
- * 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.graph.DependencyFilter;
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.graph.DependencyVisitor;
-
-/**
- * A dependency visitor that delegates to another visitor if nodes match a filter. Note that in case of a mismatching
- * node, the children of that node are still visisted and presented to the filter.
- */
-public final class FilteringDependencyVisitor
- implements DependencyVisitor
-{
-
- private final DependencyFilter filter;
-
- private final DependencyVisitor visitor;
-
- private final Stack<Boolean> accepts;
-
- private final Stack<DependencyNode> parents;
-
- /**
- * Creates a new visitor that delegates traversal of nodes matching the given filter to the specified visitor.
- *
- * @param visitor The visitor to delegate to, must not be {@code null}.
- * @param filter The filter to apply, may be {@code null} to not filter.
- */
- public FilteringDependencyVisitor( DependencyVisitor visitor, DependencyFilter filter )
- {
- if ( visitor == null )
- {
- throw new IllegalArgumentException( "dependency visitor not specified" );
- }
- this.visitor = visitor;
- this.filter = filter;
- this.accepts = new Stack<Boolean>();
- this.parents = new Stack<DependencyNode>();
- }
-
- /**
- * Gets the visitor to which this visitor delegates to.
- *
- * @return The visitor being delegated to, never {@code null}.
- */
- public DependencyVisitor getVisitor()
- {
- return visitor;
- }
-
- /**
- * Gets the filter being applied before delegation.
- *
- * @return The filter being applied or {@code null} if none.
- */
- public DependencyFilter getFilter()
- {
- return filter;
- }
-
- public boolean visitEnter( DependencyNode node )
- {
- boolean accept = filter == null || filter.accept( node, parents );
-
- accepts.push( accept );
-
- parents.push( node );
-
- if ( accept )
- {
- return visitor.visitEnter( node );
- }
- else
- {
- return true;
- }
- }
-
- public boolean visitLeave( DependencyNode node )
- {
- parents.pop();
-
- Boolean accept = accepts.pop();
-
- if ( accept )
- {
- return visitor.visitLeave( node );
- }
- else
- {
- return true;
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/PathRecordingDependencyVisitor.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/PathRecordingDependencyVisitor.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/PathRecordingDependencyVisitor.java
deleted file mode 100644
index d1814ed..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/PathRecordingDependencyVisitor.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package org.eclipse.aether.util.graph.visitor;
-
-/*
- * 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.Arrays;
-import java.util.IdentityHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.aether.graph.DependencyFilter;
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.graph.DependencyVisitor;
-
-/**
- * A dependency visitor that records all paths leading to nodes matching a certain filter criteria.
- */
-public final class PathRecordingDependencyVisitor
- implements DependencyVisitor
-{
-
- private final DependencyFilter filter;
-
- private final List<List<DependencyNode>> paths;
-
- private final Stack<DependencyNode> parents;
-
- private final Map<DependencyNode, Object> visited;
-
- private final boolean excludeChildrenOfMatches;
-
- /**
- * Creates a new visitor that uses the specified filter to identify terminal nodes of interesting paths. The visitor
- * will not search for paths going beyond an already matched node.
- *
- * @param filter The filter used to select terminal nodes of paths to record, may be {@code null} to match any node.
- */
- public PathRecordingDependencyVisitor( DependencyFilter filter )
- {
- this( filter, true );
- }
-
- /**
- * Creates a new visitor that uses the specified filter to identify terminal nodes of interesting paths.
- *
- * @param filter The filter used to select terminal nodes of paths to record, may be {@code null} to match any node.
- * @param excludeChildrenOfMatches Flag controlling whether children of matched nodes should be excluded from the
- * traversal, thereby ignoring any potential paths to other matching nodes beneath a matching ancestor
- * node. If {@code true}, all recorded paths will have only one matching node (namely the terminal node),
- * if {@code false} a recorded path can consist of multiple matching nodes.
- */
- public PathRecordingDependencyVisitor( DependencyFilter filter, boolean excludeChildrenOfMatches )
- {
- this.filter = filter;
- this.excludeChildrenOfMatches = excludeChildrenOfMatches;
- paths = new ArrayList<List<DependencyNode>>();
- parents = new Stack<DependencyNode>();
- visited = new IdentityHashMap<DependencyNode, Object>( 128 );
- }
-
- /**
- * Gets the filter being used to select terminal nodes.
- *
- * @return The filter being used or {@code null} if none.
- */
- public DependencyFilter getFilter()
- {
- return filter;
- }
-
- /**
- * Gets the paths leading to nodes matching the filter that have been recorded during the graph visit. A path is
- * given as a sequence of nodes, starting with the root node of the graph and ending with a node that matched the
- * filter.
- *
- * @return The recorded paths, never {@code null}.
- */
- public List<List<DependencyNode>> getPaths()
- {
- return paths;
- }
-
- public boolean visitEnter( DependencyNode node )
- {
- boolean accept = filter == null || filter.accept( node, parents );
-
- parents.push( node );
-
- if ( accept )
- {
- DependencyNode[] path = new DependencyNode[parents.size()];
- for ( int i = 0, n = parents.size(); i < n; i++ )
- {
- path[n - i - 1] = parents.get( i );
- }
- paths.add( Arrays.asList( path ) );
-
- if ( excludeChildrenOfMatches )
- {
- return false;
- }
- }
-
- if ( visited.put( node, Boolean.TRUE ) != null )
- {
- return false;
- }
-
- return true;
- }
-
- public boolean visitLeave( DependencyNode node )
- {
- parents.pop();
- visited.remove( node );
-
- return true;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/PostorderNodeListGenerator.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/PostorderNodeListGenerator.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/PostorderNodeListGenerator.java
deleted file mode 100644
index 47897a7..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/PostorderNodeListGenerator.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.aether.util.graph.visitor;
-
-/*
- * 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.graph.DependencyNode;
-
-/**
- * Generates a sequence of dependency nodes from a dependeny graph by traversing the graph in postorder. This visitor
- * visits each node exactly once regardless how many paths within the dependency graph lead to the node such that the
- * resulting node sequence is free of duplicates.
- */
-public final class PostorderNodeListGenerator
- extends AbstractDepthFirstNodeListGenerator
-{
-
- private final Stack<Boolean> visits;
-
- /**
- * Creates a new postorder list generator.
- */
- public PostorderNodeListGenerator()
- {
- visits = new Stack<Boolean>();
- }
-
- @Override
- public boolean visitEnter( DependencyNode node )
- {
- boolean visited = !setVisited( node );
-
- visits.push( visited );
-
- if ( visited )
- {
- return false;
- }
-
- return true;
- }
-
- @Override
- public boolean visitLeave( DependencyNode node )
- {
- Boolean visited = visits.pop();
-
- if ( visited )
- {
- return true;
- }
-
- if ( node.getDependency() != null )
- {
- nodes.add( node );
- }
-
- return true;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/PreorderNodeListGenerator.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/PreorderNodeListGenerator.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/PreorderNodeListGenerator.java
deleted file mode 100644
index bd9b52a..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/PreorderNodeListGenerator.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.eclipse.aether.util.graph.visitor;
-
-/*
- * 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.graph.DependencyNode;
-
-/**
- * Generates a sequence of dependency nodes from a dependeny graph by traversing the graph in preorder. This visitor
- * visits each node exactly once regardless how many paths within the dependency graph lead to the node such that the
- * resulting node sequence is free of duplicates.
- */
-public final class PreorderNodeListGenerator
- extends AbstractDepthFirstNodeListGenerator
-{
-
- /**
- * Creates a new preorder list generator.
- */
- public PreorderNodeListGenerator()
- {
- }
-
- @Override
- public boolean visitEnter( DependencyNode node )
- {
- if ( !setVisited( node ) )
- {
- return false;
- }
-
- if ( node.getDependency() != null )
- {
- nodes.add( node );
- }
-
- return true;
- }
-
- @Override
- public boolean visitLeave( DependencyNode node )
- {
- return true;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/Stack.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/Stack.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/Stack.java
deleted file mode 100644
index 27fbb4b..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/Stack.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.eclipse.aether.util.graph.visitor;
-
-/*
- * 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.AbstractList;
-import java.util.NoSuchElementException;
-import java.util.RandomAccess;
-
-/**
- * A non-synchronized stack with a non-modifiable list view which starts at the top of the stack. While
- * {@code LinkedList} can provide the same behavior, it creates many temp objects upon frequent pushes/pops.
- */
-class Stack<E>
- extends AbstractList<E>
- implements RandomAccess
-{
-
- @SuppressWarnings( "unchecked" )
- private E[] elements = (E[]) new Object[96];
-
- private int size;
-
- public void push( E element )
- {
- if ( size >= elements.length )
- {
- @SuppressWarnings( "unchecked" )
- E[] tmp = (E[]) new Object[size + 64];
- System.arraycopy( elements, 0, tmp, 0, elements.length );
- elements = tmp;
- }
- elements[size++] = element;
- }
-
- public E pop()
- {
- if ( size <= 0 )
- {
- throw new NoSuchElementException();
- }
- return elements[--size];
- }
-
- public E peek()
- {
- if ( size <= 0 )
- {
- return null;
- }
- return elements[size - 1];
- }
-
- @Override
- public E get( int index )
- {
- if ( index < 0 || index >= size )
- {
- throw new IndexOutOfBoundsException( "Index: " + index + ", Size: " + size );
- }
- return elements[size - index - 1];
- }
-
- @Override
- public int size()
- {
- return size;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/TreeDependencyVisitor.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/TreeDependencyVisitor.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/TreeDependencyVisitor.java
deleted file mode 100644
index f1658a8..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/TreeDependencyVisitor.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.aether.util.graph.visitor;
-
-/*
- * 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.IdentityHashMap;
-import java.util.Map;
-
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.graph.DependencyVisitor;
-
-/**
- * A dependency visitor that delegates to another visitor if a node hasn't been visited before. In other words, this
- * visitor provides a tree-view of a dependency graph which generally can have multiple paths to the same node or even
- * cycles.
- */
-public final class TreeDependencyVisitor
- implements DependencyVisitor
-{
-
- private final Map<DependencyNode, Object> visitedNodes;
-
- private final DependencyVisitor visitor;
-
- private final Stack<Boolean> visits;
-
- /**
- * Creates a new visitor that delegates to the specified visitor.
- *
- * @param visitor The visitor to delegate to, must not be {@code null}.
- */
- public TreeDependencyVisitor( DependencyVisitor visitor )
- {
- if ( visitor == null )
- {
- throw new IllegalArgumentException( "no visitor delegate specified" );
- }
- this.visitor = visitor;
- visitedNodes = new IdentityHashMap<DependencyNode, Object>( 512 );
- visits = new Stack<Boolean>();
- }
-
- public boolean visitEnter( DependencyNode node )
- {
- boolean visited = visitedNodes.put( node, Boolean.TRUE ) != null;
-
- visits.push( visited );
-
- if ( visited )
- {
- return false;
- }
-
- return visitor.visitEnter( node );
- }
-
- public boolean visitLeave( DependencyNode node )
- {
- Boolean visited = visits.pop();
-
- if ( visited )
- {
- return true;
- }
-
- return visitor.visitLeave( node );
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/package-info.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/package-info.java b/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/package-info.java
deleted file mode 100644
index 3ea9968..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/graph/visitor/package-info.java
+++ /dev/null
@@ -1,24 +0,0 @@
-// CHECKSTYLE_OFF: RegexpHeader
-/*
- * 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.
- */
-/**
- * Various dependency visitors for inspecting a dependency graph.
- */
-package org.eclipse.aether.util.graph.visitor;
-
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/27f8bd73/aether-util/src/main/java/org/eclipse/aether/util/listener/ChainedRepositoryListener.java
----------------------------------------------------------------------
diff --git a/aether-util/src/main/java/org/eclipse/aether/util/listener/ChainedRepositoryListener.java b/aether-util/src/main/java/org/eclipse/aether/util/listener/ChainedRepositoryListener.java
deleted file mode 100644
index c654510..0000000
--- a/aether-util/src/main/java/org/eclipse/aether/util/listener/ChainedRepositoryListener.java
+++ /dev/null
@@ -1,437 +0,0 @@
-package org.eclipse.aether.util.listener;
-
-/*
- * 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.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-import org.eclipse.aether.AbstractRepositoryListener;
-import org.eclipse.aether.RepositoryEvent;
-import org.eclipse.aether.RepositoryListener;
-
-/**
- * A repository listener that delegates to zero or more other listeners (multicast). The list of target listeners is
- * thread-safe, i.e. target listeners can be added or removed by any thread at any time.
- */
-public final class ChainedRepositoryListener
- extends AbstractRepositoryListener
-{
-
- private final List<RepositoryListener> listeners = new CopyOnWriteArrayList<RepositoryListener>();
-
- /**
- * Creates a new multicast listener that delegates to the specified listeners. In contrast to the constructor, this
- * factory method will avoid creating an actual chained listener if one of the specified readers is actually
- * {@code null}.
- *
- * @param listener1 The first listener, may be {@code null}.
- * @param listener2 The second listener, may be {@code null}.
- * @return The chained listener or {@code null} if no listener was supplied.
- */
- public static RepositoryListener newInstance( RepositoryListener listener1, RepositoryListener listener2 )
- {
- if ( listener1 == null )
- {
- return listener2;
- }
- else if ( listener2 == null )
- {
- return listener1;
- }
- return new ChainedRepositoryListener( listener1, listener2 );
- }
-
- /**
- * Creates a new multicast listener that delegates to the specified listeners.
- *
- * @param listeners The listeners to delegate to, may be {@code null} or empty.
- */
- public ChainedRepositoryListener( RepositoryListener... listeners )
- {
- if ( listeners != null )
- {
- add( Arrays.asList( listeners ) );
- }
- }
-
- /**
- * Creates a new multicast listener that delegates to the specified listeners.
- *
- * @param listeners The listeners to delegate to, may be {@code null} or empty.
- */
- public ChainedRepositoryListener( Collection<? extends RepositoryListener> listeners )
- {
- add( listeners );
- }
-
- /**
- * Adds the specified listeners to the end of the multicast chain.
- *
- * @param listeners The listeners to add, may be {@code null} or empty.
- */
- public void add( Collection<? extends RepositoryListener> listeners )
- {
- if ( listeners != null )
- {
- for ( RepositoryListener listener : listeners )
- {
- add( listener );
- }
- }
- }
-
- /**
- * Adds the specified listener to the end of the multicast chain.
- *
- * @param listener The listener to add, may be {@code null}.
- */
- public void add( RepositoryListener listener )
- {
- if ( listener != null )
- {
- listeners.add( listener );
- }
- }
-
- /**
- * Removes the specified listener from the multicast chain. Trying to remove a non-existing listener has no effect.
- *
- * @param listener The listener to remove, may be {@code null}.
- */
- public void remove( RepositoryListener listener )
- {
- if ( listener != null )
- {
- listeners.remove( listener );
- }
- }
-
- protected void handleError( RepositoryEvent event, RepositoryListener listener, RuntimeException error )
- {
- // default just swallows errors
- }
-
- @Override
- public void artifactDeployed( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.artifactDeployed( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void artifactDeploying( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.artifactDeploying( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void artifactDescriptorInvalid( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.artifactDescriptorInvalid( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void artifactDescriptorMissing( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.artifactDescriptorMissing( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void artifactDownloaded( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.artifactDownloaded( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void artifactDownloading( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.artifactDownloading( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void artifactInstalled( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.artifactInstalled( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void artifactInstalling( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.artifactInstalling( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void artifactResolved( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.artifactResolved( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void artifactResolving( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.artifactResolving( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void metadataDeployed( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.metadataDeployed( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void metadataDeploying( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.metadataDeploying( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void metadataDownloaded( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.metadataDownloaded( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void metadataDownloading( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.metadataDownloading( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void metadataInstalled( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.metadataInstalled( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void metadataInstalling( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.metadataInstalling( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void metadataInvalid( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.metadataInvalid( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void metadataResolved( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.metadataResolved( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
- @Override
- public void metadataResolving( RepositoryEvent event )
- {
- for ( RepositoryListener listener : listeners )
- {
- try
- {
- listener.metadataResolving( event );
- }
- catch ( RuntimeException e )
- {
- handleError( event, listener, e );
- }
- }
- }
-
-}