You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Dieter Houthooft (JIRA)" <ji...@codehaus.org> on 2008/06/29 10:27:27 UTC

[jira] Created: (MEAR-87) Allow exclusion of artifacts when building the ear file.

Allow exclusion of artifacts when building the ear file.
--------------------------------------------------------

                 Key: MEAR-87
                 URL: http://jira.codehaus.org/browse/MEAR-87
             Project: Maven 2.x Ear Plugin
          Issue Type: New Feature
    Affects Versions: 2.3.1
            Reporter: Dieter Houthooft
            Priority: Minor
         Attachments: maven-ear-plugin-excludes.patch

What is included in the .ear file is determined by the module list and the dependency list and its transitive dependencies. We are often confronted with changing demands about what to include in our ear files. It is quite hard to change our dependency management (scopes) every time without side-effects on other distributable artifacts. So I created an exclude configuration option which allows to exclude artifacts from the ear file based on regular expressions (java.util.regex) matching artifactIds and groupIds.

Use it like this:

<configuration>
   <excludes>
      <exclude>
         <groupId>be.nondistributable.*</groupId>
      </exclude>
   </excludes>
</configuration>

-- 
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: (MEAR-87) Allow exclusion of artifacts when building the ear file.

Posted by "Stephane Nicoll (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MEAR-87?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stephane Nicoll updated MEAR-87:
--------------------------------

    Fix Version/s: 2.4

That's interesting but we start having so many configuration options to manage the dependencies that I am afraid it becomes too much complex. We already have the excludes on the modules so we need to define a first-win strategy (and who wins on what).

> Allow exclusion of artifacts when building the ear file.
> --------------------------------------------------------
>
>                 Key: MEAR-87
>                 URL: http://jira.codehaus.org/browse/MEAR-87
>             Project: Maven 2.x Ear Plugin
>          Issue Type: New Feature
>    Affects Versions: 2.3.1
>            Reporter: Dieter Houthooft
>            Priority: Minor
>             Fix For: 2.4
>
>         Attachments: maven-ear-plugin-excludes-fixed.patch, maven-ear-plugin-excludes.patch
>
>
> What is included in the .ear file is determined by the module list and the dependency list and its transitive dependencies. We are often confronted with changing demands about what to include in our ear files. It is quite hard to change our dependency management (scopes) every time without side-effects on other distributable artifacts. So I created an exclude configuration option which allows to exclude artifacts from the ear file based on regular expressions (java.util.regex) matching artifactIds and groupIds.
> Use it like this:
> <configuration>
>    <excludes>
>       <exclude>
>          <groupId>be.nondistributable.*</groupId>
>       </exclude>
>    </excludes>
> </configuration>

-- 
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: (MEAR-87) Allow exclusion of artifacts when building the ear file.

Posted by "Stephane Nicoll (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MEAR-87?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stephane Nicoll updated MEAR-87:
--------------------------------

    Fix Version/s:     (was: 2.6)
                   2.7

> Allow exclusion of artifacts when building the ear file.
> --------------------------------------------------------
>
>                 Key: MEAR-87
>                 URL: http://jira.codehaus.org/browse/MEAR-87
>             Project: Maven 2.x Ear Plugin
>          Issue Type: New Feature
>    Affects Versions: 2.3.1
>            Reporter: Dieter Houthooft
>            Priority: Minor
>             Fix For: 2.7
>
>         Attachments: maven-ear-plugin-excludes-fixed.patch, maven-ear-plugin-excludes.patch
>
>
> What is included in the .ear file is determined by the module list and the dependency list and its transitive dependencies. We are often confronted with changing demands about what to include in our ear files. It is quite hard to change our dependency management (scopes) every time without side-effects on other distributable artifacts. So I created an exclude configuration option which allows to exclude artifacts from the ear file based on regular expressions (java.util.regex) matching artifactIds and groupIds.
> Use it like this:
> <configuration>
>    <excludes>
>       <exclude>
>          <groupId>be.nondistributable.*</groupId>
>       </exclude>
>    </excludes>
> </configuration>

-- 
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: (MEAR-87) Allow exclusion of artifacts when building the ear file.

Posted by "Dennis Lundberg (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MEAR-87?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dennis Lundberg updated MEAR-87:
--------------------------------

    Description: 
What is included in the .ear file is determined by the module list and the dependency list and its transitive dependencies. We are often confronted with changing demands about what to include in our ear files. It is quite hard to change our dependency management (scopes) every time without side-effects on other distributable artifacts. So I created an exclude configuration option which allows to exclude artifacts from the ear file based on regular expressions (java.util.regex) matching artifactIds and groupIds.

Use it like this:

{code:xml}
<configuration>
   <excludes>
      <exclude>
         <groupId>be.nondistributable.*</groupId>
      </exclude>
   </excludes>
</configuration>
{code}

  was:
What is included in the .ear file is determined by the module list and the dependency list and its transitive dependencies. We are often confronted with changing demands about what to include in our ear files. It is quite hard to change our dependency management (scopes) every time without side-effects on other distributable artifacts. So I created an exclude configuration option which allows to exclude artifacts from the ear file based on regular expressions (java.util.regex) matching artifactIds and groupIds.

Use it like this:

<configuration>
   <excludes>
      <exclude>
         <groupId>be.nondistributable.*</groupId>
      </exclude>
   </excludes>
</configuration>


> Allow exclusion of artifacts when building the ear file.
> --------------------------------------------------------
>
>                 Key: MEAR-87
>                 URL: https://jira.codehaus.org/browse/MEAR-87
>             Project: Maven 2.x Ear Plugin
>          Issue Type: New Feature
>    Affects Versions: 2.3.1
>            Reporter: Dieter Houthooft
>            Assignee: Dennis Lundberg
>            Priority: Minor
>             Fix For: 2.7
>
>         Attachments: maven-ear-plugin-excludes-fixed.patch, maven-ear-plugin-excludes.patch
>
>
> What is included in the .ear file is determined by the module list and the dependency list and its transitive dependencies. We are often confronted with changing demands about what to include in our ear files. It is quite hard to change our dependency management (scopes) every time without side-effects on other distributable artifacts. So I created an exclude configuration option which allows to exclude artifacts from the ear file based on regular expressions (java.util.regex) matching artifactIds and groupIds.
> Use it like this:
> {code:xml}
> <configuration>
>    <excludes>
>       <exclude>
>          <groupId>be.nondistributable.*</groupId>
>       </exclude>
>    </excludes>
> </configuration>
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MEAR-87) Allow exclusion of artifacts when building the ear file.

Posted by "Maarten Billemont (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/MEAR-87?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=151830#action_151830 ] 

Maarten Billemont commented on MEAR-87:
---------------------------------------

The current method of excluding dependencies is OK for excluding two or three.

It is UNMANAGABLE for excluding large groups of dependencies.  Moreover, excluding transitive dependencies this way is utterly rediculous, especially when you have lots of them.  You end up with a POM file that repeats x% of all the dependencies in your project, creating massive dublicate code which is hell to maintain.

For example, we want to exclude all non-in-house artifacts from the EAR generated; so that the EAR file we distribute contains only our own artifacts.  The other dependencies, we put in the default/lib directory of our JBoss AS; they do not belong in the EAR file - where they only serve to bloat; especially when we're trying to build or deploy 4 EAR files, each with all of those dependencies in them.

> Allow exclusion of artifacts when building the ear file.
> --------------------------------------------------------
>
>                 Key: MEAR-87
>                 URL: http://jira.codehaus.org/browse/MEAR-87
>             Project: Maven 2.x Ear Plugin
>          Issue Type: New Feature
>    Affects Versions: 2.3.1
>            Reporter: Dieter Houthooft
>            Priority: Minor
>             Fix For: 2.4
>
>         Attachments: maven-ear-plugin-excludes-fixed.patch, maven-ear-plugin-excludes.patch
>
>
> What is included in the .ear file is determined by the module list and the dependency list and its transitive dependencies. We are often confronted with changing demands about what to include in our ear files. It is quite hard to change our dependency management (scopes) every time without side-effects on other distributable artifacts. So I created an exclude configuration option which allows to exclude artifacts from the ear file based on regular expressions (java.util.regex) matching artifactIds and groupIds.
> Use it like this:
> <configuration>
>    <excludes>
>       <exclude>
>          <groupId>be.nondistributable.*</groupId>
>       </exclude>
>    </excludes>
> </configuration>

-- 
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] Work started: (MEAR-87) Allow exclusion of artifacts when building the ear file.

Posted by "Dennis Lundberg (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MEAR-87?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on MEAR-87 started by Dennis Lundberg.

> Allow exclusion of artifacts when building the ear file.
> --------------------------------------------------------
>
>                 Key: MEAR-87
>                 URL: https://jira.codehaus.org/browse/MEAR-87
>             Project: Maven 2.x Ear Plugin
>          Issue Type: New Feature
>    Affects Versions: 2.3.1
>            Reporter: Dieter Houthooft
>            Assignee: Dennis Lundberg
>            Priority: Minor
>             Fix For: 2.7
>
>         Attachments: maven-ear-plugin-excludes-fixed.patch, maven-ear-plugin-excludes.patch
>
>
> What is included in the .ear file is determined by the module list and the dependency list and its transitive dependencies. We are often confronted with changing demands about what to include in our ear files. It is quite hard to change our dependency management (scopes) every time without side-effects on other distributable artifacts. So I created an exclude configuration option which allows to exclude artifacts from the ear file based on regular expressions (java.util.regex) matching artifactIds and groupIds.
> Use it like this:
> <configuration>
>    <excludes>
>       <exclude>
>          <groupId>be.nondistributable.*</groupId>
>       </exclude>
>    </excludes>
> </configuration>

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MEAR-87) Allow exclusion of artifacts when building the ear file.

Posted by "Dennis Lundberg (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MEAR-87?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=285313#comment-285313 ] 

Dennis Lundberg commented on MEAR-87:
-------------------------------------

Documentation was added in [r1212327|http://svn.apache.org/viewvc?view=revision&revision=1212327].

> Allow exclusion of artifacts when building the ear file.
> --------------------------------------------------------
>
>                 Key: MEAR-87
>                 URL: https://jira.codehaus.org/browse/MEAR-87
>             Project: Maven 2.x Ear Plugin
>          Issue Type: New Feature
>    Affects Versions: 2.3.1
>            Reporter: Dieter Houthooft
>            Assignee: Dennis Lundberg
>            Priority: Minor
>             Fix For: 2.7
>
>         Attachments: maven-ear-plugin-excludes-fixed.patch, maven-ear-plugin-excludes.patch
>
>
> What is included in the .ear file is determined by the module list and the dependency list and its transitive dependencies. We are often confronted with changing demands about what to include in our ear files. It is quite hard to change our dependency management (scopes) every time without side-effects on other distributable artifacts. So I created an exclude configuration option which allows to exclude artifacts from the ear file based on regular expressions (java.util.regex) matching artifactIds and groupIds.
> Use it like this:
> {code:xml}
> <configuration>
>    <excludes>
>       <exclude>
>          <groupId>be.nondistributable.*</groupId>
>       </exclude>
>    </excludes>
> </configuration>
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MEAR-87) Allow exclusion of artifacts when building the ear file.

Posted by "Dennis Lundberg (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MEAR-87?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=285167#comment-285167 ] 

Dennis Lundberg commented on MEAR-87:
-------------------------------------

I found another approach to solve this issue that I feel works better.

It uses the same method that Maven WAR Plugin has, with packagingExcludes and packagingIncludes. These each take a comma-separated String of file patterns.

This was added in [r1211419|http://svn.apache.org/viewvc?view=revision&revision=1211419].

A new 2.7-SNAPSHOT has been deployed. Please give it a try.

You can look at the ITs that were added in that check-in for examples of how to configure it. I'll write up some documentation and add it to the site later on.

> Allow exclusion of artifacts when building the ear file.
> --------------------------------------------------------
>
>                 Key: MEAR-87
>                 URL: https://jira.codehaus.org/browse/MEAR-87
>             Project: Maven 2.x Ear Plugin
>          Issue Type: New Feature
>    Affects Versions: 2.3.1
>            Reporter: Dieter Houthooft
>            Assignee: Dennis Lundberg
>            Priority: Minor
>             Fix For: 2.7
>
>         Attachments: maven-ear-plugin-excludes-fixed.patch, maven-ear-plugin-excludes.patch
>
>
> What is included in the .ear file is determined by the module list and the dependency list and its transitive dependencies. We are often confronted with changing demands about what to include in our ear files. It is quite hard to change our dependency management (scopes) every time without side-effects on other distributable artifacts. So I created an exclude configuration option which allows to exclude artifacts from the ear file based on regular expressions (java.util.regex) matching artifactIds and groupIds.
> Use it like this:
> <configuration>
>    <excludes>
>       <exclude>
>          <groupId>be.nondistributable.*</groupId>
>       </exclude>
>    </excludes>
> </configuration>

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (MEAR-87) Allow exclusion of artifacts when building the ear file.

Posted by "Dennis Lundberg (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MEAR-87?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=282151#comment-282151 ] 

Dennis Lundberg commented on MEAR-87:
-------------------------------------

This is an interesting approach that I am interested in getting into the EAR Plugin. Although somewhat related to MEAR-60, this fills another need. It looks similar in concept to the packagingExcludes feature in the WAR Plugin. This feature is useful if you have multiple EARs that use a common "shared library" of JARs, where MEAR-60 in contrast is used to share JARs within the modules of a single EAR.

I'm also looking at MWAR-81, which is an enhancement to packagingExcludes to allow different "selectors", like regexp. There might be an overlap between these two. Even if it turns out there is no overlap, we should still try to use a common terminology when it comes to naming the configuration parameters.

> Allow exclusion of artifacts when building the ear file.
> --------------------------------------------------------
>
>                 Key: MEAR-87
>                 URL: https://jira.codehaus.org/browse/MEAR-87
>             Project: Maven 2.x Ear Plugin
>          Issue Type: New Feature
>    Affects Versions: 2.3.1
>            Reporter: Dieter Houthooft
>            Priority: Minor
>             Fix For: 2.7
>
>         Attachments: maven-ear-plugin-excludes-fixed.patch, maven-ear-plugin-excludes.patch
>
>
> What is included in the .ear file is determined by the module list and the dependency list and its transitive dependencies. We are often confronted with changing demands about what to include in our ear files. It is quite hard to change our dependency management (scopes) every time without side-effects on other distributable artifacts. So I created an exclude configuration option which allows to exclude artifacts from the ear file based on regular expressions (java.util.regex) matching artifactIds and groupIds.
> Use it like this:
> <configuration>
>    <excludes>
>       <exclude>
>          <groupId>be.nondistributable.*</groupId>
>       </exclude>
>    </excludes>
> </configuration>

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Updated: (MEAR-87) Allow exclusion of artifacts when building the ear file.

Posted by "Dieter Houthooft (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/MEAR-87?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dieter Houthooft updated MEAR-87:
---------------------------------

    Attachment: maven-ear-plugin-excludes-fixed.patch

There was a bug in the previous patch. Fixed + updated unit test.

> Allow exclusion of artifacts when building the ear file.
> --------------------------------------------------------
>
>                 Key: MEAR-87
>                 URL: http://jira.codehaus.org/browse/MEAR-87
>             Project: Maven 2.x Ear Plugin
>          Issue Type: New Feature
>    Affects Versions: 2.3.1
>            Reporter: Dieter Houthooft
>            Priority: Minor
>         Attachments: maven-ear-plugin-excludes-fixed.patch, maven-ear-plugin-excludes.patch
>
>
> What is included in the .ear file is determined by the module list and the dependency list and its transitive dependencies. We are often confronted with changing demands about what to include in our ear files. It is quite hard to change our dependency management (scopes) every time without side-effects on other distributable artifacts. So I created an exclude configuration option which allows to exclude artifacts from the ear file based on regular expressions (java.util.regex) matching artifactIds and groupIds.
> Use it like this:
> <configuration>
>    <excludes>
>       <exclude>
>          <groupId>be.nondistributable.*</groupId>
>       </exclude>
>    </excludes>
> </configuration>

-- 
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] (MEAR-87) Allow exclusion of artifacts when building the ear file.

Posted by "Dennis Lundberg (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MEAR-87?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dennis Lundberg closed MEAR-87.
-------------------------------

    Resolution: Fixed
    
> Allow exclusion of artifacts when building the ear file.
> --------------------------------------------------------
>
>                 Key: MEAR-87
>                 URL: https://jira.codehaus.org/browse/MEAR-87
>             Project: Maven 2.x Ear Plugin
>          Issue Type: New Feature
>    Affects Versions: 2.3.1
>            Reporter: Dieter Houthooft
>            Assignee: Dennis Lundberg
>            Priority: Minor
>             Fix For: 2.7
>
>         Attachments: maven-ear-plugin-excludes-fixed.patch, maven-ear-plugin-excludes.patch
>
>
> What is included in the .ear file is determined by the module list and the dependency list and its transitive dependencies. We are often confronted with changing demands about what to include in our ear files. It is quite hard to change our dependency management (scopes) every time without side-effects on other distributable artifacts. So I created an exclude configuration option which allows to exclude artifacts from the ear file based on regular expressions (java.util.regex) matching artifactIds and groupIds.
> Use it like this:
> {code:xml}
> <configuration>
>    <excludes>
>       <exclude>
>          <groupId>be.nondistributable.*</groupId>
>       </exclude>
>    </excludes>
> </configuration>
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira