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 2020/05/07 19:34:01 UTC
[maven-resolver] branch MRESOLVER-62_tests updated (ae26635 ->
10f3e85)
This is an automated email from the ASF dual-hosted git repository.
slachiewicz pushed a change to branch MRESOLVER-62_tests
in repository https://gitbox.apache.org/repos/asf/maven-resolver.git.
discard ae26635 Add tests for MRESOLVER-62 (currently inversed)
add 47edcfe [MRESOLVER-88] Code style cleanup to use Java 7 features
add a08cb20 [MRESOLVER-10] New 'TransitiveDependencyManager' supporting transitive dependency management
add a9f849c [MRESOLVER-33] New class 'DefaultDependencyManager' managing dependencies on all levels supporting transitive dependency management.
add 34ca09e [maven-release-plugin] prepare release maven-resolver-1.4.0
add 7e3a0b8 [maven-release-plugin] prepare for next development iteration
add 18dd2b5 [MRESOLVER-92] Revert MRESOLVER-7
add 9417310 [maven-release-plugin] prepare release maven-resolver-1.4.1
add 0a55f70 [maven-release-plugin] prepare for next development iteration
add 2a1f4a1 [MRESOLVER-93] PathRecordingDependencyVisitor to handle 3 cycles
add 89e8e66 [MRESOLVER-101] - Upgrade parent to version 34 o Need to add configuration to ignore empty module name in demo project.
add 32b7768 [MRESOLVER-102] make build Reproducible
add 0498b5a added README
add 2ab4d73 Trim whitespace in README.md
add fe24ef7 [maven-release-plugin] prepare release maven-resolver-1.4.2
add a923656 [maven-release-plugin] prepare for next development iteration
add 1fc2952 update JUnit (#43)
add 7cd1ac8 ignore backup files (#44)
add b6c09d9 udpate wagon api
add db53659 Merge pull request #47 from apache/wagon
add 5ed5f71 update org.apache.httpcomponents
add 2655827 Merge pull request #45 from apache/plexus
add 14e6724 update plexus
add 5ff45a2 Merge pull request #46 from apache/plex
add ce12285 add checkstyle to .gitignore
add 47010e1 Merge pull request #49 from apache/i108
add 702931e [MRESOLVER-108] - Update mockito-core to 2.28.2
add 8d2c375 Merge pull request #50 from jonvolfson/master
new 10f3e85 Add tests for MRESOLVER-62 (currently inversed)
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (ae26635)
\
N -- N -- N refs/heads/MRESOLVER-62_tests (10f3e85)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 1 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.
Summary of changes:
.asf.yaml | 9 +
.gitignore | 3 +
README.md | 99 ++
maven-resolver-api/pom.xml | 158 +--
.../org/eclipse/aether/DefaultRepositoryCache.java | 2 +-
.../aether/DefaultRepositorySystemSession.java | 20 +-
.../org/eclipse/aether/DefaultSessionData.java | 2 +-
.../java/org/eclipse/aether/RepositorySystem.java | 6 +-
.../eclipse/aether/artifact/AbstractArtifact.java | 21 +-
.../eclipse/aether/artifact/DefaultArtifact.java | 2 +-
.../aether/artifact/DefaultArtifactType.java | 2 +-
.../eclipse/aether/collection/CollectRequest.java | 9 +-
.../eclipse/aether/collection/CollectResult.java | 7 +-
.../aether/collection/DependencyManagement.java | 3 +-
.../UnsolvableVersionConflictException.java | 4 +-
.../eclipse/aether/deployment/DeployRequest.java | 8 +-
.../eclipse/aether/deployment/DeployResult.java | 7 +-
.../aether/graph/DefaultDependencyNode.java | 14 +-
.../java/org/eclipse/aether/graph/Dependency.java | 17 +-
.../aether/installation/InstallRequest.java | 5 +-
.../eclipse/aether/installation/InstallResult.java | 8 +-
.../eclipse/aether/metadata/AbstractMetadata.java | 21 +-
.../aether/repository/AuthenticationContext.java | 2 +-
.../aether/repository/AuthenticationDigest.java | 2 +
.../repository/LocalArtifactRegistration.java | 3 +-
.../aether/repository/LocalArtifactRequest.java | 3 +-
.../aether/repository/LocalArtifactResult.java | 4 +-
.../repository/LocalMetadataRegistration.java | 3 +-
.../aether/repository/LocalMetadataRequest.java | 3 +-
.../aether/repository/LocalMetadataResult.java | 4 +-
.../eclipse/aether/repository/LocalRepository.java | 8 +-
.../java/org/eclipse/aether/repository/Proxy.java | 11 +-
.../aether/repository/RemoteRepository.java | 29 +-
.../resolution/ArtifactDescriptorRequest.java | 5 +-
.../resolution/ArtifactDescriptorResult.java | 18 +-
.../eclipse/aether/resolution/ArtifactRequest.java | 5 +-
.../eclipse/aether/resolution/ArtifactResult.java | 5 +-
.../aether/resolution/DependencyRequest.java | 3 +-
.../aether/resolution/DependencyResult.java | 3 +-
.../eclipse/aether/resolution/MetadataRequest.java | 3 +-
.../eclipse/aether/resolution/MetadataResult.java | 3 +-
.../aether/resolution/VersionRangeRequest.java | 7 +-
.../aether/resolution/VersionRangeResult.java | 11 +-
.../eclipse/aether/resolution/VersionRequest.java | 5 +-
.../eclipse/aether/resolution/VersionResult.java | 5 +-
.../aether/transfer/ArtifactNotFoundException.java | 3 +-
.../aether/transfer/ArtifactTransferException.java | 3 +-
.../aether/transfer/ChecksumFailureException.java | 3 +-
.../aether/transfer/MetadataNotFoundException.java | 3 +-
.../aether/transfer/MetadataTransferException.java | 3 +-
.../eclipse/aether/transfer/TransferResource.java | 3 +-
.../eclipse/aether/DefaultRepositoryCacheTest.java | 4 +-
.../aether/DefaultRepositorySystemSessionTest.java | 1 -
.../org/eclipse/aether/DefaultSessionDataTest.java | 4 +-
.../aether/artifact/DefaultArtifactTest.java | 6 +-
.../repository/RemoteRepositoryBuilderTest.java | 2 +-
maven-resolver-connector-basic/pom.xml | 230 ++---
.../connector/basic/BasicRepositoryConnector.java | 4 +-
.../basic/BasicRepositoryConnectorFactory.java | 3 +-
.../aether/connector/basic/ChecksumCalculator.java | 6 +-
.../aether/connector/basic/ChecksumValidator.java | 4 +-
.../aether/connector/basic/PartialFile.java | 15 +-
.../connector/basic/TransferTransportListener.java | 3 +-
.../connector/basic/ChecksumCalculatorTest.java | 2 +-
.../connector/basic/ChecksumValidatorTest.java | 20 +-
.../aether/connector/basic/PartialFileTest.java | 2 +-
.../maven-resolver-demo-maven-plugin/pom.xml | 14 +-
.../maven-resolver-demo-snippets/pom.xml | 4 +-
.../examples/guice/DemoResolverModule.java | 6 +-
.../util/ConsoleDependencyGraphDumper.java | 19 +-
.../examples/util/ConsoleTransferListener.java | 7 +-
maven-resolver-demos/pom.xml | 2 +-
maven-resolver-impl/pom.xml | 244 ++---
.../aether/impl/ArtifactDescriptorReader.java | 9 +-
.../eclipse/aether/impl/DefaultServiceLocator.java | 14 +-
.../aether/impl/RemoteRepositoryManager.java | 3 +-
.../eclipse/aether/impl/guice/AetherModule.java | 5 +-
.../eclipse/aether/impl/guice/package-info.java | 3 +-
.../internal/impl/ArtifactRequestBuilder.java | 2 +-
.../eclipse/aether/internal/impl/CacheUtils.java | 141 ---
.../internal/impl/DefaultArtifactResolver.java | 47 +-
.../impl/DefaultChecksumPolicyProvider.java | 3 -
.../aether/internal/impl/DefaultDeployer.java | 97 +-
.../aether/internal/impl/DefaultInstaller.java | 26 +-
.../impl/DefaultLocalRepositoryProvider.java | 15 +-
.../internal/impl/DefaultMetadataResolver.java | 73 +-
.../impl/DefaultRemoteRepositoryManager.java | 10 +-
.../impl/DefaultRepositoryConnectorProvider.java | 12 +-
.../impl/DefaultRepositoryEventDispatcher.java | 10 +-
.../impl/DefaultRepositoryLayoutProvider.java | 12 +-
.../internal/impl/DefaultRepositorySystem.java | 13 +-
.../internal/impl/DefaultTransporterProvider.java | 8 +-
.../internal/impl/DefaultUpdateCheckManager.java | 12 +-
.../internal/impl/DefaultUpdatePolicyAnalyzer.java | 2 +
.../impl/EnhancedLocalRepositoryManager.java | 4 +-
.../aether/internal/impl/PrioritizedComponent.java | 2 +-
.../internal/impl/PrioritizedComponents.java | 9 +-
.../aether/internal/impl/SafeTransferListener.java | 3 +-
.../eclipse/aether/internal/impl/SimpleDigest.java | 1 +
.../impl/SimpleLocalRepositoryManager.java | 2 +-
.../aether/internal/impl/TrackingFileManager.java | 3 +-
.../org/eclipse/aether/internal/impl/Utils.java | 17 +-
.../eclipse/aether/internal/impl/collect/Args.java | 69 --
.../impl/collect/CachingArtifactTypeRegistry.java | 2 +-
.../aether/internal/impl/collect/DataPool.java | 140 +--
.../DefaultDependencyCollectionContext.java | 178 +---
.../impl/collect/DefaultDependencyCollector.java | 881 ++++++++++-------
...efaultDependencyGraphTransformationContext.java | 2 +-
.../impl/collect/DefaultVersionFilterContext.java | 8 +-
.../impl/collect/DependencyCollectionUtils.java | 171 ----
.../internal/impl/collect/DependencyContext.java | 74 --
.../aether/internal/impl/collect/NodeStack.java | 3 +
.../aether/internal/impl/collect/ObjectPool.java | 4 +-
.../impl/collect/PremanagedDependency.java | 148 ---
.../aether/internal/impl/collect/Results.java | 83 --
.../internal/impl/slf4j/Slf4jLoggerFactory.java | 6 +-
.../aether/impl/StubArtifactDescriptorReader.java | 4 +-
.../aether/impl/StubVersionRangeResolver.java | 6 +-
.../eclipse/aether/impl/StubVersionResolver.java | 4 +-
.../internal/impl/DefaultArtifactResolverTest.java | 34 +-
.../impl/DefaultChecksumPolicyProviderTest.java | 2 -
.../internal/impl/DefaultFileProcessorTest.java | 1 -
.../aether/internal/impl/DefaultInstallerTest.java | 2 -
.../impl/DefaultRemoteRepositoryManagerTest.java | 2 -
.../impl/DefaultRepositoryEventDispatcherTest.java | 2 -
.../impl/DefaultUpdateCheckManagerTest.java | 38 +-
.../impl/DefaultUpdatePolicyAnalyzerTest.java | 7 +-
.../internal/impl/DependencyGraphDumper.java | 8 +-
.../internal/impl/PrioritizedComponentTest.java | 16 +-
.../internal/impl/PrioritizedComponentsTest.java | 12 +-
.../impl/RecordingRepositoryConnector.java | 19 +-
.../impl/SimpleLocalRepositoryManagerTest.java | 2 -
.../aether/internal/impl/StubVersionResolver.java | 2 -
.../internal/impl/TrackingFileManagerTest.java | 4 +-
.../aether/internal/impl/collect/DataPoolTest.java | 19 +-
.../collect/DefaultDependencyCollectorTest.java | 135 ++-
.../artifact-descriptions/gid3_aid1_1.ini | 7 -
.../artifact-descriptions/gid3_aid2_1.ini | 2 -
.../artifact-descriptions/gid3_aid3_1.ini | 2 -
.../artifact-descriptions/gid3_aid3_2.ini | 2 -
.../managed/default-management-tree.txt | 6 +
.../gid_direct_managed-by-dominant-request.ini | 5 +
.../managed/gid_direct_ver.ini | 5 +
.../artifact-descriptions/managed/gid_root_ver.ini | 5 +
.../managed/gid_transitive-1_managed-by-root.ini | 5 +
.../managed/gid_transitive-2_managed-by-direct.ini | 5 +
.../gid_transitive-3_managed-by-transitive-1.ini | 4 +
...> gid_transitive-4_managed-by-transitive-2.ini} | 0
.../managed/management-tree.txt | 6 +
maven-resolver-spi/pom.xml | 154 +--
.../aether/spi/connector/ArtifactDownload.java | 9 -
.../aether/spi/connector/RepositoryConnector.java | 3 +-
.../aether/spi/connector/transport/GetTask.java | 2 +-
.../org/eclipse/aether/spi/io/FileProcessor.java | 2 +-
maven-resolver-test-util/pom.xml | 162 ++--
.../internal/test/util/DependencyGraphParser.java | 19 +-
.../internal/test/util/IniArtifactDataReader.java | 14 +-
.../aether/internal/test/util/NodeBuilder.java | 4 +-
.../aether/internal/test/util/NodeDefinition.java | 4 +-
.../TestDependencyGraphTransformationContext.java | 2 +-
.../aether/internal/test/util/TestFileUtils.java | 2 +-
.../test/util/TestLocalRepositoryManager.java | 12 +-
.../internal/test/util/TestVersionConstraint.java | 10 +-
.../test/util/TestVersionFilterContext.java | 2 +-
.../internal/test/util/TestVersionRange.java | 13 +-
.../internal/test/util/TestVersionScheme.java | 3 +-
.../test/util/IniArtifactDataReaderTest.java | 1 -
.../test/util/IniArtifactDescriptorReaderTest.java | 3 -
maven-resolver-transport-classpath/pom.xml | 212 ++--
.../classpath/ClasspathTransporterTest.java | 1 -
maven-resolver-transport-file/pom.xml | 222 ++---
.../aether/transport/file/FileTransporterTest.java | 1 -
maven-resolver-transport-http/pom.xml | 316 +++---
.../aether/transport/http/AuthSchemePool.java | 2 +-
.../http/DeferredCredentialsProvider.java | 2 +-
.../eclipse/aether/transport/http/GlobalState.java | 12 +-
.../aether/transport/http/HttpTransporter.java | 39 +-
.../eclipse/aether/transport/http/LocalState.java | 2 +-
.../aether/transport/http/SharingAuthCache.java | 3 +-
.../eclipse/aether/transport/http/SslConfig.java | 12 +-
.../eclipse/aether/transport/http/UriUtils.java | 2 +-
.../http/X509HostnameVerifierAdapter.java | 2 -
.../eclipse/aether/transport/http/HttpServer.java | 12 +-
.../aether/transport/http/HttpTransporterTest.java | 14 +-
.../aether/transport/http/UriUtilsTest.java | 2 +-
maven-resolver-transport-wagon/pom.xml | 274 +++---
.../transport/wagon/PlexusWagonConfigurator.java | 3 +-
.../aether/transport/wagon/WagonTransporter.java | 8 +-
.../eclipse/aether/transport/wagon/MemWagon.java | 14 +-
.../aether/transport/wagon/MemWagonUtils.java | 5 +-
maven-resolver-util/pom.xml | 164 ++--
.../org/eclipse/aether/util/ChecksumUtils.java | 8 +-
.../java/org/eclipse/aether/util/ConfigUtils.java | 2 +-
.../aether/util/artifact/ArtifactIdUtils.java | 36 +-
.../util/artifact/SimpleArtifactTypeRegistry.java | 6 +-
.../eclipse/aether/util/artifact/SubArtifact.java | 4 +-
.../aether/util/concurrency/FutureResult.java | 69 --
.../util/concurrency/RunnableErrorForwarder.java | 9 +-
.../filter/AbstractPatternDependencyFilter.java | 10 +-
.../aether/util/filter/AndDependencyFilter.java | 2 +-
.../aether/util/filter/DependencyFilterUtils.java | 6 +-
.../util/filter/ExclusionsDependencyFilter.java | 2 +-
.../aether/util/filter/OrDependencyFilter.java | 2 +-
.../aether/util/filter/ScopeDependencyFilter.java | 4 +-
.../graph/manager/ClassicDependencyManager.java | 20 +-
.../graph/manager/DefaultDependencyManager.java | 313 ++++++
.../util/graph/manager/DependencyManagerUtils.java | 9 +-
...nager.java => TransitiveDependencyManager.java} | 188 ++--
.../util/graph/selector/AndDependencySelector.java | 6 +-
.../selector/ExclusionDependencySelector.java | 2 +-
.../graph/selector/ScopeDependencySelector.java | 16 +-
.../util/graph/transformer/ConflictIdSorter.java | 32 +-
.../util/graph/transformer/ConflictMarker.java | 10 +-
.../util/graph/transformer/ConflictResolver.java | 47 +-
.../util/graph/transformer/JavaScopeSelector.java | 2 +-
.../graph/transformer/NearestVersionSelector.java | 4 +-
.../graph/traverser/AndDependencyTraverser.java | 6 +-
.../util/graph/version/HighestVersionFilter.java | 3 +-
.../AbstractDepthFirstNodeListGenerator.java | 10 +-
.../graph/visitor/CloningDependencyVisitor.java | 7 +-
.../graph/visitor/FilteringDependencyVisitor.java | 4 +-
.../visitor/PathRecordingDependencyVisitor.java | 18 +-
.../graph/visitor/PostorderNodeListGenerator.java | 2 +-
.../eclipse/aether/util/graph/visitor/Stack.java | 2 +
.../util/graph/visitor/TreeDependencyVisitor.java | 4 +-
.../util/listener/ChainedRepositoryListener.java | 3 +-
.../util/listener/ChainedTransferListener.java | 3 +-
.../util/repository/AuthenticationBuilder.java | 2 +-
.../util/repository/ChainedWorkspaceReader.java | 8 +-
.../repository/DefaultAuthenticationSelector.java | 2 +-
.../util/repository/DefaultMirrorSelector.java | 2 +-
.../util/repository/DefaultProxySelector.java | 9 +-
.../util/repository/SecretAuthentication.java | 10 +-
.../util/repository/StringAuthentication.java | 10 +-
.../aether/util/version/GenericVersion.java | 4 +-
.../util/version/GenericVersionConstraint.java | 9 +-
.../aether/util/version/GenericVersionRange.java | 13 +-
.../aether/util/version/GenericVersionScheme.java | 2 +-
.../aether/util/version/UnionVersionRange.java | 9 +-
.../org/eclipse/aether/util/ChecksumUtilTest.java | 1 -
.../org/eclipse/aether/util/ConfigUtilsTest.java | 2 +-
.../aether/util/artifact/SubArtifactTest.java | 2 +-
.../util/filter/AndDependencyFilterTest.java | 8 +-
.../util/filter/ExclusionDependencyFilterTest.java | 4 +-
.../aether/util/filter/OrDependencyFilterTest.java | 6 +-
.../PatternExclusionsDependencyFilterTest.java | 2 +-
.../PatternInclusionsDependencyFilterTest.java | 2 +-
.../util/filter/ScopeDependencyFilterTest.java | 2 +-
.../AbstractDependencyGraphTransformerTest.java | 2 +-
.../graph/transformer/ConflictIdSorterTest.java | 2 +-
.../graph/transformer/JavaScopeSelectorTest.java | 6 +-
.../graph/transformer/SimpleConflictMarker.java | 3 +-
.../graph/versions/ChainedVersionFilterTest.java | 1 +
.../ContextualSnapshotVersionFilterTest.java | 1 +
.../graph/versions/HighestVersionFilterTest.java | 1 +
.../graph/versions/SnapshotVersionFilterTest.java | 1 +
.../PathRecordingDependencyVisitorTest.java | 14 +
.../util/repository/JreProxySelectorTest.java | 5 -
.../util/version/GenericVersionRangeTest.java | 5 +-
.../util/version/GenericVersionSchemeTest.java | 1 -
.../visitor/path-recorder/cycle-3paths.txt | 8 +
pom.xml | 1023 ++++++++++----------
262 files changed, 3616 insertions(+), 4074 deletions(-)
create mode 100644 .asf.yaml
create mode 100644 README.md
delete mode 100644 maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/CacheUtils.java
delete mode 100644 maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/Args.java
delete mode 100644 maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DependencyCollectionUtils.java
delete mode 100644 maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DependencyContext.java
delete mode 100644 maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/PremanagedDependency.java
delete mode 100644 maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/Results.java
delete mode 100644 maven-resolver-impl/src/test/resources/artifact-descriptions/gid3_aid1_1.ini
delete mode 100644 maven-resolver-impl/src/test/resources/artifact-descriptions/gid3_aid2_1.ini
delete mode 100644 maven-resolver-impl/src/test/resources/artifact-descriptions/gid3_aid3_1.ini
delete mode 100644 maven-resolver-impl/src/test/resources/artifact-descriptions/gid3_aid3_2.ini
create mode 100644 maven-resolver-impl/src/test/resources/artifact-descriptions/managed/default-management-tree.txt
create mode 100644 maven-resolver-impl/src/test/resources/artifact-descriptions/managed/gid_direct_managed-by-dominant-request.ini
create mode 100644 maven-resolver-impl/src/test/resources/artifact-descriptions/managed/gid_direct_ver.ini
create mode 100644 maven-resolver-impl/src/test/resources/artifact-descriptions/managed/gid_root_ver.ini
create mode 100644 maven-resolver-impl/src/test/resources/artifact-descriptions/managed/gid_transitive-1_managed-by-root.ini
create mode 100644 maven-resolver-impl/src/test/resources/artifact-descriptions/managed/gid_transitive-2_managed-by-direct.ini
create mode 100644 maven-resolver-impl/src/test/resources/artifact-descriptions/managed/gid_transitive-3_managed-by-transitive-1.ini
copy maven-resolver-impl/src/test/resources/artifact-descriptions/managed/{gid_aid2_managed.ini => gid_transitive-4_managed-by-transitive-2.ini} (100%)
create mode 100644 maven-resolver-impl/src/test/resources/artifact-descriptions/managed/management-tree.txt
delete mode 100644 maven-resolver-util/src/main/java/org/eclipse/aether/util/concurrency/FutureResult.java
create mode 100644 maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/DefaultDependencyManager.java
copy maven-resolver-util/src/main/java/org/eclipse/aether/util/graph/manager/{ClassicDependencyManager.java => TransitiveDependencyManager.java} (51%)
create mode 100644 maven-resolver-util/src/test/resources/visitor/path-recorder/cycle-3paths.txt
[maven-resolver] 01/01: Add tests for MRESOLVER-62 (currently
inversed)
Posted by sl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
slachiewicz pushed a commit to branch MRESOLVER-62_tests
in repository https://gitbox.apache.org/repos/asf/maven-resolver.git
commit 10f3e8531af58f88e1f13fa9daafd94f16516a10
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Sun May 12 19:45:56 2019 +0200
Add tests for MRESOLVER-62 (currently inversed)
---
.../transformer/NearestVersionSelectorTest.java | 33 ++++++++++++++++++++--
.../cycle-underneath-removed-node.txt | 20 +++++++++++++
.../cycle-underneath-removed-node2.txt | 17 +++++++++++
3 files changed, 68 insertions(+), 2 deletions(-)
diff --git a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/NearestVersionSelectorTest.java b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/NearestVersionSelectorTest.java
index b71adab..ab40650 100644
--- a/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/NearestVersionSelectorTest.java
+++ b/maven-resolver-util/src/test/java/org/eclipse/aether/util/graph/transformer/NearestVersionSelectorTest.java
@@ -8,9 +8,9 @@ package org.eclipse.aether.util.graph.transformer;
* 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
@@ -82,6 +82,35 @@ public class NearestVersionSelectorTest
assertEquals( 5, trail.size() );
}
+ // This test must be assertTrue() as soon as MRESOLVER-62 is fixed
+ @Test
+ public void testCycleUnderneathRemovedNode()
+ throws Exception
+ {
+ DependencyNode root = parseResource("cycle-underneath-removed-node.txt" );
+
+ assertSame( root, transform( root ) );
+ List<DependencyNode> trail = find( root, "y" );
+ assertEquals( 6, trail.size() );
+
+ // Node y should have children removed
+ assertFalse( trail.get(0).getChildren().isEmpty() );
+ }
+
+ // This test must be assertFalse() as soon as MRESOLVER-62 is fixed
+ @Test
+ public void testCycleUnderneathRemovedNode2()
+ throws Exception
+ {
+ DependencyNode root = parseResource("cycle-underneath-removed-node2.txt" );
+
+ assertSame( root, transform( root ) );
+
+ // Node x should be present
+ List<DependencyNode> trail = find( root, "x" );
+ assertTrue( trail.isEmpty() );
+ }
+
@Test
public void testViolationOfHardConstraintFallsBackToNearestSeenNotFirstSeen()
throws Exception
diff --git a/maven-resolver-util/src/test/resources/transformer/version-resolver/cycle-underneath-removed-node.txt b/maven-resolver-util/src/test/resources/transformer/version-resolver/cycle-underneath-removed-node.txt
new file mode 100644
index 0000000..5406c72
--- /dev/null
+++ b/maven-resolver-util/src/test/resources/transformer/version-resolver/cycle-underneath-removed-node.txt
@@ -0,0 +1,20 @@
+# This graph has a cycle (x <-> y) underneath a node that is removed from the tree (a:1).
+# However, this cycle also appears as a child of another cycle. Specifically, (q <-> p) depends on d, which depends on x.
+# When conflicts are resolved, the cycle between x and y should be broken.
+(null)
++- gid:a:1
+| \- gid:x:1 (x)
+| \- gid:y:1
+| \- ^x
++- gid:a:2
++- gid:b:1
+| +- gid:c:1
+| \- gid:d:1 (d)
+| \- ^x
+\- gid:m:1
+ \- gid:n:1
+ +- gid:p:1
+ | \- gid:q:1
+ \- gid:q:2
+ \- gid:p:2
+ \- ^d
\ No newline at end of file
diff --git a/maven-resolver-util/src/test/resources/transformer/version-resolver/cycle-underneath-removed-node2.txt b/maven-resolver-util/src/test/resources/transformer/version-resolver/cycle-underneath-removed-node2.txt
new file mode 100644
index 0000000..23e4a91
--- /dev/null
+++ b/maven-resolver-util/src/test/resources/transformer/version-resolver/cycle-underneath-removed-node2.txt
@@ -0,0 +1,17 @@
+# This graph has a cycle (x <-> y) underneath a node that is removed from the tree (a:1).
+# However, this cycle also appears as a child of another cycle.
+# Specifically, q:2 depends on x and is part of a cycle (p <-> q).
+# When conflicts are resolved, x should be included.
+(null)
++- gid:a:1
+| \- gid:x:1 (x)
+| \- gid:y:1
+| \- ^x
++- gid:a:2
+\- gid:m:1
+ \- gid:n:1
+ +- gid:p:1
+ | \- gid:q:1
+ \- gid:q:2
+ |- gid:p:2
+ \- ^x
\ No newline at end of file