You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Joerg Schaible (JIRA)" <ji...@codehaus.org> on 2008/07/03 19:05:26 UTC

[jira] Created: (MASSEMBLY-336) Flag to inline POM dependencies in DependencySets

Flag to inline POM dependencies in DependencySets
-------------------------------------------------

                 Key: MASSEMBLY-336
                 URL: http://jira.codehaus.org/browse/MASSEMBLY-336
             Project: Maven 2.x Assembly Plugin
          Issue Type: New Feature
    Affects Versions: 2.2-beta-2
            Reporter: Joerg Schaible


We use the assembly plugin to generate a general distribution of our product by packaging a lot of "final" artifacts non-transitively. Works fine. However, for some project specific distributions we need to drop some of the artifacts and add some others. However, in this case we must now repeat the complete unchanged dependencies in the project specific version.

We came up with a solution using the POM as dependency to get all the standard artifacts and declare a runtime dep to this POM in the project specific distribution (with exclusions). Unfortunately in this case we can now use neither a DependencySet without transitive dependencies (then we will include the dependent POM only) nor with complete transitive deps, since then we will not only include the "final" deps of the general distribution, but their transitive dependencies also.

Therefore we patched the assembly plugin to support a new flag "inlinePomDependencies" that forces the plugin to handle a POM dependency as if the dependencies of the dependent POM had been declared directly in the current one. If the DependencySet is collecting all transitive deps, the resulting archive will simply not contain all dependent artifacts of type "pom", if the DependencySet is collecting direct dependencies only, it will also include all direct dependencies of the transitive dependencies of type "pom".

-- 
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

        

[jira] Commented: (MASSEMBLY-336) Flag to inline POM dependencies in DependencySets

Posted by "John Casey (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MASSEMBLY-336?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=158734#action_158734 ] 

John Casey commented on MASSEMBLY-336:
--------------------------------------

Please add a test project so we can incorporate it in the integration tests. 

> Flag to inline POM dependencies in DependencySets
> -------------------------------------------------
>
>                 Key: MASSEMBLY-336
>                 URL: http://jira.codehaus.org/browse/MASSEMBLY-336
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: New Feature
>    Affects Versions: 2.2-beta-2
>            Reporter: Joerg Schaible
>         Attachments: MASSEMBLY-336-1.patch, MASSEMBLY-336.patch
>
>
> We use the assembly plugin to generate a general distribution of our product by packaging a lot of "final" artifacts non-transitively. Works fine. However, for some project specific distributions we need to drop some of the artifacts and add some others. However, in this case we must now repeat the complete unchanged dependencies in the project specific version.
> We came up with a solution using the POM as dependency to get all the standard artifacts and declare a runtime dep to this POM in the project specific distribution (with exclusions). Unfortunately in this case we can now use neither a DependencySet without transitive dependencies (then we will include the dependent POM only) nor with complete transitive deps, since then we will not only include the "final" deps of the general distribution, but their transitive dependencies also.
> Therefore we patched the assembly plugin to support a new flag "inlinePomDependencies" that forces the plugin to handle a POM dependency as if the dependencies of the dependent POM had been declared directly in the current one. If the DependencySet is collecting all transitive deps, the resulting archive will simply not contain all dependent artifacts of type "pom", if the DependencySet is collecting direct dependencies only, it will also include all direct dependencies of the transitive dependencies of type "pom".

-- 
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

        

[jira] Updated: (MASSEMBLY-336) Flag to inline POM dependencies in DependencySets

Posted by "Joerg Schaible (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MASSEMBLY-336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joerg Schaible updated MASSEMBLY-336:
-------------------------------------

    Attachment: MASSEMBLY-336.patch

Patch against tagged version 2.2-beta-2.

> Flag to inline POM dependencies in DependencySets
> -------------------------------------------------
>
>                 Key: MASSEMBLY-336
>                 URL: http://jira.codehaus.org/browse/MASSEMBLY-336
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: New Feature
>    Affects Versions: 2.2-beta-2
>            Reporter: Joerg Schaible
>         Attachments: MASSEMBLY-336.patch
>
>
> We use the assembly plugin to generate a general distribution of our product by packaging a lot of "final" artifacts non-transitively. Works fine. However, for some project specific distributions we need to drop some of the artifacts and add some others. However, in this case we must now repeat the complete unchanged dependencies in the project specific version.
> We came up with a solution using the POM as dependency to get all the standard artifacts and declare a runtime dep to this POM in the project specific distribution (with exclusions). Unfortunately in this case we can now use neither a DependencySet without transitive dependencies (then we will include the dependent POM only) nor with complete transitive deps, since then we will not only include the "final" deps of the general distribution, but their transitive dependencies also.
> Therefore we patched the assembly plugin to support a new flag "inlinePomDependencies" that forces the plugin to handle a POM dependency as if the dependencies of the dependent POM had been declared directly in the current one. If the DependencySet is collecting all transitive deps, the resulting archive will simply not contain all dependent artifacts of type "pom", if the DependencySet is collecting direct dependencies only, it will also include all direct dependencies of the transitive dependencies of type "pom".

-- 
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

        

[jira] Updated: (MASSEMBLY-336) Flag to inline POM dependencies in DependencySets

Posted by "Joerg Schaible (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MASSEMBLY-336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joerg Schaible updated MASSEMBLY-336:
-------------------------------------

    Attachment: MASSEMBLY-336-IT.tgz
                MASSEMBLY-336-2.patch

Updated patch against version 2.2-beta-3, applies flawlessly against svn 751653. New patch contains also update of advanced-descriptor-topics.apt. Additional tgz file contains two ITs.

> Flag to inline POM dependencies in DependencySets
> -------------------------------------------------
>
>                 Key: MASSEMBLY-336
>                 URL: http://jira.codehaus.org/browse/MASSEMBLY-336
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: New Feature
>    Affects Versions: 2.2-beta-2
>            Reporter: Joerg Schaible
>         Attachments: MASSEMBLY-336-1.patch, MASSEMBLY-336-2.patch, MASSEMBLY-336-IT.tgz, MASSEMBLY-336.patch
>
>
> We use the assembly plugin to generate a general distribution of our product by packaging a lot of "final" artifacts non-transitively. Works fine. However, for some project specific distributions we need to drop some of the artifacts and add some others. However, in this case we must now repeat the complete unchanged dependencies in the project specific version.
> We came up with a solution using the POM as dependency to get all the standard artifacts and declare a runtime dep to this POM in the project specific distribution (with exclusions). Unfortunately in this case we can now use neither a DependencySet without transitive dependencies (then we will include the dependent POM only) nor with complete transitive deps, since then we will not only include the "final" deps of the general distribution, but their transitive dependencies also.
> Therefore we patched the assembly plugin to support a new flag "inlinePomDependencies" that forces the plugin to handle a POM dependency as if the dependencies of the dependent POM had been declared directly in the current one. If the DependencySet is collecting all transitive deps, the resulting archive will simply not contain all dependent artifacts of type "pom", if the DependencySet is collecting direct dependencies only, it will also include all direct dependencies of the transitive dependencies of type "pom".

-- 
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

        

[jira] Closed: (MASSEMBLY-336) Flag to inline POM dependencies in DependencySets

Posted by "Joerg Schaible (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MASSEMBLY-336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joerg Schaible closed MASSEMBLY-336.
------------------------------------

    Resolution: Won't Fix

Found a different way to solve my problem and I am not interested in maintaining the patch set for ongoing versions of the plugin.

> Flag to inline POM dependencies in DependencySets
> -------------------------------------------------
>
>                 Key: MASSEMBLY-336
>                 URL: http://jira.codehaus.org/browse/MASSEMBLY-336
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: New Feature
>    Affects Versions: 2.2-beta-2
>            Reporter: Joerg Schaible
>         Attachments: MASSEMBLY-336-1.patch, MASSEMBLY-336-2.patch, MASSEMBLY-336-IT.tgz, MASSEMBLY-336.patch
>
>
> We use the assembly plugin to generate a general distribution of our product by packaging a lot of "final" artifacts non-transitively. Works fine. However, for some project specific distributions we need to drop some of the artifacts and add some others. However, in this case we must now repeat the complete unchanged dependencies in the project specific version.
> We came up with a solution using the POM as dependency to get all the standard artifacts and declare a runtime dep to this POM in the project specific distribution (with exclusions). Unfortunately in this case we can now use neither a DependencySet without transitive dependencies (then we will include the dependent POM only) nor with complete transitive deps, since then we will not only include the "final" deps of the general distribution, but their transitive dependencies also.
> Therefore we patched the assembly plugin to support a new flag "inlinePomDependencies" that forces the plugin to handle a POM dependency as if the dependencies of the dependent POM had been declared directly in the current one. If the DependencySet is collecting all transitive deps, the resulting archive will simply not contain all dependent artifacts of type "pom", if the DependencySet is collecting direct dependencies only, it will also include all direct dependencies of the transitive dependencies of type "pom".

-- 
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

        

[jira] Updated: (MASSEMBLY-336) Flag to inline POM dependencies in DependencySets

Posted by "Joerg Schaible (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MASSEMBLY-336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joerg Schaible updated MASSEMBLY-336:
-------------------------------------

    Attachment: MASSEMBLY-336-1.patch

Updated patch. The last one assumed that the current project is of packaging type "pom" which is an unnecessary requirement. Also I've cleaned up the white spaces (removed tabs) in the patch. Although the patch was generated against the tagged version 2.2-beta-2 it can be applied flawlessly to trunk (svn 673932).

> Flag to inline POM dependencies in DependencySets
> -------------------------------------------------
>
>                 Key: MASSEMBLY-336
>                 URL: http://jira.codehaus.org/browse/MASSEMBLY-336
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: New Feature
>    Affects Versions: 2.2-beta-2
>            Reporter: Joerg Schaible
>         Attachments: MASSEMBLY-336-1.patch, MASSEMBLY-336.patch
>
>
> We use the assembly plugin to generate a general distribution of our product by packaging a lot of "final" artifacts non-transitively. Works fine. However, for some project specific distributions we need to drop some of the artifacts and add some others. However, in this case we must now repeat the complete unchanged dependencies in the project specific version.
> We came up with a solution using the POM as dependency to get all the standard artifacts and declare a runtime dep to this POM in the project specific distribution (with exclusions). Unfortunately in this case we can now use neither a DependencySet without transitive dependencies (then we will include the dependent POM only) nor with complete transitive deps, since then we will not only include the "final" deps of the general distribution, but their transitive dependencies also.
> Therefore we patched the assembly plugin to support a new flag "inlinePomDependencies" that forces the plugin to handle a POM dependency as if the dependencies of the dependent POM had been declared directly in the current one. If the DependencySet is collecting all transitive deps, the resulting archive will simply not contain all dependent artifacts of type "pom", if the DependencySet is collecting direct dependencies only, it will also include all direct dependencies of the transitive dependencies of type "pom".

-- 
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