Support <includes> and <excludes> for the source and testSource directories.
----------------------------------------------------------------------------
Key: MNG-643
URL: http://jira.codehaus.org/browse/MNG-643
Project: Maven 2
Type: Improvement
Components: maven-model
Versions: 2.0-alpha-3
Environment: jdk 1.4.x, gentoo linux
Reporter: Corridor Software Developer
Priority: Blocker
m2 currently supports FileSets in <resources> and <testResources> which allow
for the inclusion and exclusion of files based on a pattern.
Users may benefit from having this functionality in the source and testSource
directory definitions as well. Here are some scenarios:
1) a volative package of java files may be excluded from a build to permit
developers to continue building the other source files without having to delete
or resolve issues for the problem files.
2) Source files and test source files may be kept in the same source tree in
the same manner that resources and testResources may currently be kept in a
single directory.
3) The change will allow for a parent pom.xml which applies a custom plugin
against all source files for subprojects (modules) and subprojects which only
compile subsets of these files to all point at the same directory.
4) Some development environments keep their source files in a single directory
regardless of the deployment breakout. One reason is it isn't always obvious
which artifact a particular source file is located in and consolidation
eliminates the need to look around.
5) Elegant way of continuing to maintain Maven's one project one source set
mantra in a multi-project environment without increasing the number of source
directories.
In an effort to avoid breaking the existing pom format, the following tags
would be supported:
<sourceDirectory>../../src/java</sourceDirectory>
xor
<source>
<directory>../../src/java</directory>
<includes>
<include>**/package/*.java</include>
</includes>
<excludes>
<exclude>**/*Test.java</exclude>
</excludes>
</source>
and
<testSourceDirectory>../../src/java</testSourceDirectory>
xor
<testSource>
<directory>../../src/java</directory>
<includes>
<include>**/*Test.java</include>
</includes>
</testSource>
This issue is NOT endorsing the support of multiple source directories. It
would simply be possible to exclude some source files from the single
directory.
The change creates a path for deprecating the existing format later if desired.
The change would not break existing pom.xml files.
If a patch is not included with this issue, expect one soon. This f(x) is a
blocker for our development environment because we have several critical tools
which traverse all source files in a company project, not just a single
artifact's files. So either support for multiple source directories by a parent
project (ugh!) or filters on a single directory is a must have. I am currently
working on the patch.
--
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
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]