Tamás Cservenák created MASSEMBLY-957:
-----------------------------------------

             Summary: Deprecate the repository element in assembly decriptor
                 Key: MASSEMBLY-957
                 URL: https://issues.apache.org/jira/browse/MASSEMBLY-957
             Project: Maven Assembly Plugin
          Issue Type: Task
    Affects Versions: 3.0.0
            Reporter: Tamás Cservenák


The {{repository}} element in assembly descriptor is present since 1.0 of 
m-assembly-p, so it comes from Maven 2.0 times. The intent of this element is 
aligned with Maven 2.0 in a way, that Maven "local repository" and "remote 
repository" were same (plus some metadata needed for remote). This is NOT true 
since Maven 3.0, local repository is NOT transportable (this is since 
"enhanced" local repository implementation in Aether/Maven-Resolver). Simply 
put, "transporting" local repository from workstation to workstation is NOT 
JUST tarring up your local repository and un-tarring on target computer (this 
WAS like it with Maven2).

As mentioned, this element documentation is vague and unclear what it does: 
creates "local" repository? Creates "remote" repository? Both? Also, since 
3.0.0 of m-assembly-p it introduces bug and wrong behaviour: it (mis) uses 
Aether local repository to create something that may be assumed is a remote 
repository, and while doing that, introduces issues like MASSEMBLY-870 and 
MASSEMBLY-874 and alike (as in a moment local repo is redefined to that _tmp 
directory, Aether MUST re-download everything, despite all is present in your 
"real" local repository).

We MAY introduce new element that buys out this deprecated element, like 
{{remoteRepository}} that would be clearly documented it creates Maven 3 remote 
repository, while adding element like {{localRepository}} may be just overkill, 
as explained above, Maven 3 local repositories are NOT transportable.



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

Reply via email to