[ 
https://issues.apache.org/jira/browse/MRESOLVER-253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tamás Cservenák updated MRESOLVER-253:
--------------------------------------
    Description: 
Enhances existing "enhanced" LRM (local repository manager) with "prefix" from 
from path prefix composer. Default behavior is not changed (will not use 
prefix, local repository will work as before).

The point in change is that it introduce a "composer", that is composing LRM 
path prefixes, and is able to apply different strategies, and split local 
repository into "installed" (locally built and installed) and "cached" 
(downloaded from remote), etc.

There are several composer options out of the box:
 * split between "cached" and locally "installed" artifacts
 * split "cached" artifacts based on their origin (remote repository)
 * split between "release" and "snapshot" versioned artifacts

These properties can all be configured via resolver "configuration", 
essentially via session configuration.

  was:
Enhances existing "enhanced" LRM (local repository manager) with "dynamic 
prefix". Default behaviour is not changed (uses NOOP composer).

The point in change is that it introduces a "composer", that is composing LRM 
path prefix, and is able to apply different strategies, and split local 
repository into "local" (locally built and installed) and "remote" (downloaded 
from remote, cache really), etc.

There are 3 composers, but they are extensible (just implement new 
`DynamicLocalRepositoryManagerFactory` component):
* `noop` - makes enhanced LRM behave exactly same as before, this is the 
default composer.
* `split` - splits by local and remote release/snapshot
* `split-repository` - as split but factors in remote repoId as well, basically 
splits cache by origin



> Dynamic prefixes for LRM
> ------------------------
>
>                 Key: MRESOLVER-253
>                 URL: https://issues.apache.org/jira/browse/MRESOLVER-253
>             Project: Maven Resolver
>          Issue Type: New Feature
>          Components: Resolver
>            Reporter: Tamás Cservenák
>            Assignee: Tamás Cservenák
>            Priority: Major
>             Fix For: 1.8.1
>
>
> Enhances existing "enhanced" LRM (local repository manager) with "prefix" 
> from from path prefix composer. Default behavior is not changed (will not use 
> prefix, local repository will work as before).
> The point in change is that it introduce a "composer", that is composing LRM 
> path prefixes, and is able to apply different strategies, and split local 
> repository into "installed" (locally built and installed) and "cached" 
> (downloaded from remote), etc.
> There are several composer options out of the box:
>  * split between "cached" and locally "installed" artifacts
>  * split "cached" artifacts based on their origin (remote repository)
>  * split between "release" and "snapshot" versioned artifacts
> These properties can all be configured via resolver "configuration", 
> essentially via session configuration.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to