[
https://issues.apache.org/jira/browse/MRESOLVER-512?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tamas Cservenak closed MRESOLVER-512.
-------------------------------------
Resolution: Fixed
> Scope Manager
> -------------
>
> Key: MRESOLVER-512
> URL: https://issues.apache.org/jira/browse/MRESOLVER-512
> Project: Maven Resolver
> Issue Type: New Feature
> Components: Resolver
> Reporter: Tamas Cservenak
> Assignee: Tamas Cservenak
> Priority: Major
> Fix For: 2.0.0, 2.0.0-alpha-9
>
>
> In Resolver 1.x times, resolver was unaware of "resolution scope", to get the
> wanted resolution scope caller had to tweak and set up various nits and bits,
> like selectors, filters, and so on. It was easy to miss. Similarly, resolver
> had no "first class" type for "dependency scope" either, they were just
> string labels (that everyone knew HOW should behave, but was never codified)
> and its meaning and notion was sprinkled across several classes. Introducing
> new scope in these conditions (or alter selector to something that would have
> new scopes, like Maven4 plans) was nearly impossible.
> The ScopeManager aims to solve these issues: it defines "resolution scope"
> and "dependency scope", interprets them, and allows caller to simply make a
> call to "resolve me main-runtime" resolution scope. No hoops and loops.
> Moreover, it is FASTER than Resolver 1.x was, that used always same selector
> (to build dirty graph), so potentially huge graph even if you needed just a
> bit of it, that was later chopped down to clean up the graph. ScopeManager
> automates selector selection/setup, and goes directly for result, in most
> cases the resulting tree is done in first pass.
> Finally, and most importantly, ScopeManager allows to be "configured": by
> supplying the recipe for dependency and resolution scopes, hence, makes
> Resolver 2.x versatile, in a sense, it is not "this or that" anymore, it can
> obey Maven3 and Maven4 dependency scopes at the same time.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)