[ 
https://issues.apache.org/jira/browse/MRESOLVER-164?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17287305#comment-17287305
 ] 

Tamás Cservenák commented on MRESOLVER-164:
-------------------------------------------

At first, I did this:
* took GetDependencyTree (maven-resolver-demo-snippets), modified it to use 
Artifact like {{junit:junit:[3.8.1,]}}
* execute (it essentially calls into {{system.collectDependencies()}}
* it downloads really what it only needs (maven-metadata from centra, figures 
4.13.2 latest, gets POM for it and finally collects dependencies) (log attached 
below).

It seems there is more to it, as resolver demo does the right thing.

{noformat}
GetDependencyTree
Resolving metadata junit:junit/maven-metadata.xml from 
/Users/cstamas/Worx/apache/maven-resolver/target/local-repo (enhanced)
Resolved metadata junit:junit/maven-metadata.xml from 
/Users/cstamas/Worx/apache/maven-resolver/target/local-repo (enhanced)
Resolving metadata junit:junit/maven-metadata.xml from central 
(https://repo.maven.apache.org/maven2/, default, releases+snapshots)
Downloading: https://repo.maven.apache.org/maven2/junit/junit/maven-metadata.xml
Downloaded: https://repo.maven.apache.org/maven2/junit/junit/maven-metadata.xml 
(2 KB at 2.6 KB/sec)
Resolved metadata junit:junit/maven-metadata.xml from central 
(https://repo.maven.apache.org/maven2/, default, releases+snapshots)
Resolving artifact junit:junit:pom:4.13.2
Downloading artifact junit:junit:pom:4.13.2 from central 
(https://repo.maven.apache.org/maven2/, default, releases+snapshots)
Downloading: 
https://repo.maven.apache.org/maven2/junit/junit/4.13.2/junit-4.13.2.pom
Downloaded: 
https://repo.maven.apache.org/maven2/junit/junit/4.13.2/junit-4.13.2.pom (27 KB 
at 98.1 KB/sec)
Downloaded artifact junit:junit:pom:4.13.2 from central 
(https://repo.maven.apache.org/maven2/, default, releases+snapshots)
Resolved artifact junit:junit:pom:4.13.2 from central 
(https://repo.maven.apache.org/maven2/, default, releases+snapshots)
Resolving artifact org.hamcrest:hamcrest-core:pom:1.3
Downloading artifact org.hamcrest:hamcrest-core:pom:1.3 from central 
(https://repo.maven.apache.org/maven2/, default, releases+snapshots)
Downloading: 
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom
Downloaded: 
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.pom
 (766 B at 2.7 KB/sec)
Downloaded artifact org.hamcrest:hamcrest-core:pom:1.3 from central 
(https://repo.maven.apache.org/maven2/, default, releases+snapshots)
Resolved artifact org.hamcrest:hamcrest-core:pom:1.3 from central 
(https://repo.maven.apache.org/maven2/, default, releases+snapshots)
Resolving artifact org.hamcrest:hamcrest-parent:pom:1.3
Downloading artifact org.hamcrest:hamcrest-parent:pom:1.3 from central 
(https://repo.maven.apache.org/maven2/, default, releases+snapshots)
Downloading: 
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom
Downloaded: 
https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-parent/1.3/hamcrest-parent-1.3.pom
 (2 KB at 6.9 KB/sec)
Downloaded artifact org.hamcrest:hamcrest-parent:pom:1.3 from central 
(https://repo.maven.apache.org/maven2/, default, releases+snapshots)
Resolved artifact org.hamcrest:hamcrest-parent:pom:1.3 from central 
(https://repo.maven.apache.org/maven2/, default, releases+snapshots)
1763 [main] DEBUG DefaultDependencyCollector - Dependency collection stats 
{ConflictMarker.analyzeTime=606889, ConflictMarker.markTime=351195, 
ConflictMarker.nodeCount=2, ConflictIdSorter.graphTime=349665, 
ConflictIdSorter.topsortTime=328978, ConflictIdSorter.conflictIdCount=2, 
ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=2458713, 
ConflictResolver.conflictItemCount=2, 
DefaultDependencyCollector.collectTime=1604210782, 
DefaultDependencyCollector.transformTime=5643497}
junit:junit:jar:4.13.2
\- org.hamcrest:hamcrest-core:jar:1.3 [compile]

Process finished with exit code 0
{noformat}

> DefaultDependencyCollector filterVersions seems always return full version 
> range
> --------------------------------------------------------------------------------
>
>                 Key: MRESOLVER-164
>                 URL: https://issues.apache.org/jira/browse/MRESOLVER-164
>             Project: Maven Resolver
>          Issue Type: Bug
>    Affects Versions: 1.4.2, 1.6.1
>            Reporter: Xiang Li
>            Priority: Major
>
> Related to MNG-7049 but I think the root cause is in maven-resolver so I 
> opened a new issue. Correct me if it is better to still use the old ticket.
> During using version ranges, I notice that maven will download all poms from 
> a version range, which happen in that 
> [loop|https://github.com/apache/maven-resolver/blob/master/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java#L404],
>  the reason is that 
> [verFilter|https://github.com/apache/maven-resolver/blob/master/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java#L155]
>  here seems return null. Since by default, versionFilter is set to null by 
> DefaultRepositorySystemSession, and I do not see many examples that 
> setVersionFilter get used for some reason. 
> Another thing that confuses me is that version range is resolved by 
> DefaultVersionRangeResolver in maven rather than maven-resolver here.
>  
> I wonder if it possible to set HighestVersionFilter 
> [here|https://github.com/apache/maven-resolver/blob/master/maven-resolver-impl/src/main/java/org/eclipse/aether/internal/impl/collect/DefaultDependencyCollector.java#L155]
>  instead of return all version range results. I am happy to contribute a PR 
> with some guidance.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to