[ http://jira.codehaus.org/browse/MPECLIPSE-72?page=all ]
fabrizio giustina closed MPECLIPSE-72:
--------------------------------------
Assign To: fabrizio giustina
Resolution: Fixed
Fix Version: 1.10
patch committed to svn for 1.10, thanks
> Failing use cases for projects with just resources
> --------------------------------------------------
>
> Key: MPECLIPSE-72
> URL: http://jira.codehaus.org/browse/MPECLIPSE-72
> Project: maven-eclipse-plugin
> Type: Bug
> Versions: 1.10
> Reporter: Kristopher Brown
> Assignee: fabrizio giustina
> Fix For: 1.10
> Attachments: eclipse.diff, eclipse.diff, justresourcestest.zip
>
>
> I've just upgraded to v1.10-SNAPSHOT as I'm looking at adding some new
> features, and I have a few issues with some usecases / project structures I
> use. Most of these issues arise from projects where there is no java source
> code in the source directory. As the issues are so inter related and affect
> simialr lines in the script, I decided to put them into the same issue and
> the patch contains all of them.
> Part1: MPECLIPSE-56 introduced checks to only generate .classpath and add the
> java nature if ${sourcesPresent}. I can see why this has been added,
> however, I feel its too restrictive. I feel a more suitable check would be
> based on the presence of the source or the resources, i.e. ${sourcesPresent
> or !pom.build.resources.isEmpty()}. This also affects the
> resources.addtoclasspath feature as its wrapped by a <j:if
> test="${sourcesPresent}"> which is not needed around it. I've moved the
> block of script to after the test.
> Part2: The resources.addtoclasspath feature works very nicely, however, I
> seemed to be having issues with eclipse due to the separator always being
> appended to the end of the includes/excludes. Its pretty simple to change
> this to intelligently add the separator,
> e.g. for includeAsString:
> <j:set var="includingAsString" value="" />
> <j:forEach var="res" items="${resource.includes}">
> <j:if test="${includingAsString.length() > 0}">
> <j:set var="includingAsString" value="${includingAsString}|" />
> </j:if>
> <j:set var="includingAsString" value="${includingAsString}${res}"
> />
> </j:forEach>
> Part3: The resources.addtoclasspath always adds the directory as a source
> classpathentry. Quite often, parent project.xml files include something like
> src/main/resources, and if this is not used by the sub project, then eclipse
> is generating an error saying it cannot find the path specified. A simple
> fix to this is just to check for the presence of the directory. I added this
> around the comment about dupplicates.
> <maven:makeRelativePath var="resourceDirectory"
> basedir="${basedir}" path="${resource.directory}" separator="/"/>
> <u:file var="resourceDirectoryFile" name="${resourceDirectory}"/>
> <!-- don't add duplicate directories -->
> <j:if test="${resourceDirectoryFile.exists() and
> !resourceDirectory.equals(srcDir) and (!resourceDirectory.equals(testSrcDir)
> or !unitTestSourcesPresent)}">
> <classpathentry kind="src" path="${resourceDirectory}"
> including="${includingAsString}" excluding="${excludingAsString}" />
> </j:if>
> I'll attach the patch shortly, I've run the tests and my changes pass.
--
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]