You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Peter De Velder (JIRA)" <ji...@codehaus.org> on 2007/02/19 17:07:52 UTC

[jira] Created: (MASSEMBLY-185) When using different parent and aggregator poms, the assembly plugin does not package the ModuleSets of the aggregator modules

When using different parent and aggregator poms, the assembly plugin does not package the ModuleSets of the aggregator modules
------------------------------------------------------------------------------------------------------------------------------

                 Key: MASSEMBLY-185
                 URL: http://jira.codehaus.org/browse/MASSEMBLY-185
             Project: Maven 2.x Assembly Plugin
          Issue Type: Bug
    Affects Versions: 2.1
            Reporter: Peter De Velder


As mentioned on http://maven.apache.org/pom.html#Aggregation (see: A final note on Inheritance v. Aggregation), the aggregator project and parent project are conceptually not the same and can be split physically into 2 different projects. In the example below, the aggregProj just groups ChildProj1 and ChildProj2 in it's <modules> definition, while the ChildProj poms do NOT reference aggregProj, but they both refer to parentProj in their <parent>

aggregProj
  +-- ChildProj1  --> parentProj
  +-- ChildProj2  --> parentProj

mvn clean package assembly:assembly 

in this case the ChildProj artifacts are not packaged, although they are referenced in the  <ModulesSets> of the aggregProj

In other words if  the <artifactId> of aggregProj differs from the <artifactId> in the ChildProjX <parent> definitions, the packaging is incorrect.


-- 
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-185) When using different parent and aggregator poms, the assembly plugin does not package the ModuleSets of the aggregator modules

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

John Casey closed MASSEMBLY-185.
--------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: 2.2)
                   2.2-beta-6
         Assignee: John Casey

definitely fixed in this release, if not before this. If nothing else, you can use the <useAllReactorProjects/> flag inside a <moduleSet> from a child module to gain access to all projects in the current reactor, then filter them by project coordinate.

> When using different parent and aggregator poms, the assembly plugin does not package the ModuleSets of the aggregator modules
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MASSEMBLY-185
>                 URL: http://jira.codehaus.org/browse/MASSEMBLY-185
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: Bug
>    Affects Versions: 2.1
>            Reporter: Peter De Velder
>            Assignee: John Casey
>             Fix For: 2.2-beta-6
>
>
> As mentioned on http://maven.apache.org/pom.html#Aggregation (see: A final note on Inheritance v. Aggregation), the aggregator project and parent project are conceptually not the same and can be split physically into 2 different projects. In the example below, the aggregProj just groups ChildProj1 and ChildProj2 in it's <modules> definition, while the ChildProj poms do NOT reference aggregProj, but they both refer to parentProj in their <parent>
> aggregProj
>   +-- ChildProj1  --> parentProj
>   +-- ChildProj2  --> parentProj
> mvn clean package assembly:assembly 
> in this case the ChildProj artifacts are not packaged, although they are referenced in the  <ModulesSets> of the aggregProj
> In other words if  the <artifactId> of aggregProj differs from the <artifactId> in the ChildProjX <parent> definitions, the packaging is incorrect.

-- 
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-185) When using different parent and aggregator poms, the assembly plugin does not package the ModuleSets of the aggregator modules

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

John Casey updated MASSEMBLY-185:
---------------------------------

    Fix Version/s: 2.2

> When using different parent and aggregator poms, the assembly plugin does not package the ModuleSets of the aggregator modules
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MASSEMBLY-185
>                 URL: http://jira.codehaus.org/browse/MASSEMBLY-185
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: Bug
>    Affects Versions: 2.1
>            Reporter: Peter De Velder
>             Fix For: 2.2
>
>
> As mentioned on http://maven.apache.org/pom.html#Aggregation (see: A final note on Inheritance v. Aggregation), the aggregator project and parent project are conceptually not the same and can be split physically into 2 different projects. In the example below, the aggregProj just groups ChildProj1 and ChildProj2 in it's <modules> definition, while the ChildProj poms do NOT reference aggregProj, but they both refer to parentProj in their <parent>
> aggregProj
>   +-- ChildProj1  --> parentProj
>   +-- ChildProj2  --> parentProj
> mvn clean package assembly:assembly 
> in this case the ChildProj artifacts are not packaged, although they are referenced in the  <ModulesSets> of the aggregProj
> In other words if  the <artifactId> of aggregProj differs from the <artifactId> in the ChildProjX <parent> definitions, the packaging is incorrect.

-- 
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-185) When using different parent and aggregator poms, the assembly plugin does not package the ModuleSets of the aggregator modules

Posted by "Peter De Velder (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MASSEMBLY-185?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_93131 ] 

Peter De Velder commented on MASSEMBLY-185:
-------------------------------------------

My current workaround to this problem is to include in the parentProj pom.xml an "assemble" profile, 

   ...
   <profiles>
      <profile>
         <id>assemble</id>
         <properties>
            <maven.test.skip>true</maven.test.skip>
         </properties>
         <modules>
            <module>../ChildProj1</module>
            <module>../ChildProj2</module>
         </modules>          
         <build>
           <plugins>
             <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                   <descriptors>
                      <descriptor>assemble/myassembly.xml</descriptor>
                    </descriptors>
                </configuration>
             </plugin>
            </plugins>
         </build>         
      </profile>
   </profiles>   
   ...

This makes sure the childproject-modules are explicitly called when creating a package using the assemble-profile,
and ONLY when creating the package:
   
   cd parentProj
   mvn -Passemble clean package assembly:assembly

   (or specified as an Eclipse m2eclipse external-tool, with 
      1. base directory: ${workspace_loc:/parentProj} 
      2. goal: clean install package assembly:assembly
      3. profile: assemble) 
   
The example project-directory structure is : 

   workspace
     +-- ChildProj1
     +-- ChildProj1
     +-- ParentProj
            +-- aggregProj
 
The aggregProj-pom is used for all other (non-assembly) maven goals: clean, install
(typically used in Eclipse m2eclipse external-tools, with base directory ${workspace_loc:/parentProj/aggregProj}) 

  <?xml version="1.0" encoding="UTF-8"?>
  <project>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mastercard.admin</groupId>
    <artifactId>Aggregator</artifactId>
    <version>DONT-CARE</version>
    <packaging>pom</packaging>
    <name>Eclipse Aggregator</name>
    <description>Aggregator pom to be able to build all Eclipse projects at once</description>
    <modules>
      <module>../../ChildProj1</module>
      <module>../../ChildProj1</module>
    </modules>
  </project>

We are trying to learn here, and using a non-hierarchical Eclipse project structure. And using the same directory structure in Continuum.
Better ideas are certainly welcome!


> When using different parent and aggregator poms, the assembly plugin does not package the ModuleSets of the aggregator modules
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MASSEMBLY-185
>                 URL: http://jira.codehaus.org/browse/MASSEMBLY-185
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: Bug
>    Affects Versions: 2.1
>            Reporter: Peter De Velder
>
> As mentioned on http://maven.apache.org/pom.html#Aggregation (see: A final note on Inheritance v. Aggregation), the aggregator project and parent project are conceptually not the same and can be split physically into 2 different projects. In the example below, the aggregProj just groups ChildProj1 and ChildProj2 in it's <modules> definition, while the ChildProj poms do NOT reference aggregProj, but they both refer to parentProj in their <parent>
> aggregProj
>   +-- ChildProj1  --> parentProj
>   +-- ChildProj2  --> parentProj
> mvn clean package assembly:assembly 
> in this case the ChildProj artifacts are not packaged, although they are referenced in the  <ModulesSets> of the aggregProj
> In other words if  the <artifactId> of aggregProj differs from the <artifactId> in the ChildProjX <parent> definitions, the packaging is incorrect.

-- 
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-185) When using different parent and aggregator poms, the assembly plugin does not package the ModuleSets of the aggregator modules

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

John Casey commented on MASSEMBLY-185:
--------------------------------------

If you can attach a sample project structure where this is failing, it'll greatly improve the likelihood of getting this fixed sooner rather than later. I'd like to capture these things in the integration tests for this plugin.

> When using different parent and aggregator poms, the assembly plugin does not package the ModuleSets of the aggregator modules
> ------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MASSEMBLY-185
>                 URL: http://jira.codehaus.org/browse/MASSEMBLY-185
>             Project: Maven 2.x Assembly Plugin
>          Issue Type: Bug
>    Affects Versions: 2.1
>            Reporter: Peter De Velder
>             Fix For: 2.2
>
>
> As mentioned on http://maven.apache.org/pom.html#Aggregation (see: A final note on Inheritance v. Aggregation), the aggregator project and parent project are conceptually not the same and can be split physically into 2 different projects. In the example below, the aggregProj just groups ChildProj1 and ChildProj2 in it's <modules> definition, while the ChildProj poms do NOT reference aggregProj, but they both refer to parentProj in their <parent>
> aggregProj
>   +-- ChildProj1  --> parentProj
>   +-- ChildProj2  --> parentProj
> mvn clean package assembly:assembly 
> in this case the ChildProj artifacts are not packaged, although they are referenced in the  <ModulesSets> of the aggregProj
> In other words if  the <artifactId> of aggregProj differs from the <artifactId> in the ChildProjX <parent> definitions, the packaging is incorrect.

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