You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "John Casey (JIRA)" <ji...@codehaus.org> on 2007/04/03 18:22:21 UTC

[jira] Closed: (MASSEMBLY-194) unnecessary dependency expansion regression

     [ http://jira.codehaus.org/browse/MASSEMBLY-194?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Casey closed MASSEMBLY-194.
--------------------------------

         Assignee: John Casey
       Resolution: Fixed
    Fix Version/s: 2.2-beta-1

I've added a <useTransitiveFiltering/> flag to the <dependencySet/> that is set to false by default. This restores backward compatibility with 2.1 on this point, where the transitive path of an artifact will not be considered when looking at includes/excludes patterns. If this flag is set to true, it allows you to filter the entire subgraph based on one pattern...so that when you exclude one dependency, you also exclude all of its dependencies (which is more correct).

In fact, this "feature" is a bug in the 2.1 code. The more correct way to fix this, given your example, would be to create a build extension that supplies an artifact handler for tar.gz artifacts. Doing this, you could specify <includesDependencies>true</>, which is really what you're trying to accomplish here.

In any case, I've included a new unit test to check this flag (both directions using that and an existing test), and re-deployed the patched code as a new RC for 2.2-beta-1.

> unnecessary dependency expansion regression
> -------------------------------------------
>
>                 Key: MASSEMBLY-194
>                 URL: http://jira.codehaus.org/browse/MASSEMBLY-194
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: Bug
>    Affects Versions: 2.2-beta-1
>            Reporter: Brett Porter
>         Assigned To: John Casey
>             Fix For: 2.2-beta-1
>
>         Attachments: assembly-test.tar.gz
>
>
> See the attached test project. It requires that you've run mvn clean install for continuum previously so there is a sizable dependency in the repo to play with.
> If you build with assembly 2.1, only the tarball is expanded and included in the final distribution (about 27mb)
> With 2.2-beta-1, all the transitive dependencies are also expanded and included (about 65mb).
> This is a functionality change, but also consumes a very large amount of memory and CPU.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira