make path relative for classpath includes git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@115470 13f79535-47bb-0310-9956-ffa450edef68
152 lines
6.0 KiB
XML
152 lines
6.0 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
<!--
|
|
/*
|
|
* Copyright 2001-2004 The Apache Software Foundation.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
-->
|
|
|
|
<j:whitespace
|
|
xmlns:j="jelly:core"
|
|
xmlns:util="jelly:util"
|
|
xmlns:ant="jelly:ant"
|
|
xmlns:maven="jelly:maven"
|
|
xmlns:u="jelly:util"
|
|
xmlns="dummy"
|
|
trim="true">
|
|
|
|
<classpath>
|
|
<j:if test="${sourcesPresent}">
|
|
<maven:makeRelativePath var="srcDir" basedir="${basedir}" path="${pom.build.sourceDirectory}"/>
|
|
<j:set var="excluding" value=""/>
|
|
<j:forEach var="sm" items="${pom.build.sourceModifications}">
|
|
<ant:available property="classPresent" classname="${sm.className}"/>
|
|
<j:if test="${classPresent != 'true'}">
|
|
<j:forEach var="exclude" items="${sm.excludes}">
|
|
<j:choose>
|
|
<j:when test="${excluding.length() == 0}">
|
|
<j:set var="excluding" value="${exclude}"/>
|
|
</j:when>
|
|
<j:otherwise>
|
|
<j:set var="excluding" value="${excluding},${exclude}"/>
|
|
</j:otherwise>
|
|
</j:choose>
|
|
</j:forEach>
|
|
</j:if>
|
|
</j:forEach>
|
|
<classpathentry kind="src" path="${srcDir}" excluding="${excluding}" />
|
|
</j:if>
|
|
|
|
<!-- Add the list of additional directories for the classpath from ${maven.eclipse.classpath.include}-->
|
|
<u:tokenize var="maven.eclipse.classpath.include.split" delim=",">${maven.eclipse.classpath.include}</u:tokenize>
|
|
|
|
<!-- add extra directories to be included in the classpath -->
|
|
<j:forEach var="res" items="${maven.eclipse.classpath.include.split}">
|
|
<maven:makeRelativePath var="srcDir" basedir="${basedir}" path="${res}" />
|
|
<classpathentry kind="src" path="${srcDir}"/>
|
|
</j:forEach>
|
|
|
|
<j:if test="${unitTestSourcesPresent}">
|
|
<ant:echo>Contains JUnit tests</ant:echo>
|
|
<maven:makeRelativePath var="testSrcDir" basedir="${basedir}" path="${pom.build.unitTestSourceDirectory}"/>
|
|
|
|
<!-- Eclipse supports an output directory per input directory -->
|
|
<j:set var="testOutputDir" value="${maven.eclipse.test.output.dir}"/>
|
|
<j:if test="${empty testOutputDir}">
|
|
<maven:pluginVar var="testOutputDir" plugin='maven-test-plugin' property='maven.test.dest'/>
|
|
</j:if>
|
|
|
|
<maven:makeRelativePath var="testOutputDir" basedir="${basedir}" path="${testOutputDir}" />
|
|
|
|
<ant:echo>Setting compile of ${testSrcDir} to ${testOutputDir}</ant:echo>
|
|
<classpathentry kind="src" path="${testSrcDir}" output="${testOutputDir}"/>
|
|
|
|
|
|
<!-- Here are the rules:
|
|
If the project has maven.eclipse.junit property, add that ver of junit
|
|
If the project has maven.eclipse.junit property and it is empty, don't add junit
|
|
If the project has junit dep, use that.
|
|
Use the test plugin version
|
|
-->
|
|
<j:set var="verX" value="${maven.eclipse.junit}X"/>
|
|
|
|
<maven:pluginVar var="testPlugin" plugin='maven-test-plugin' property='plugin' />
|
|
<j:set var="depVersion">${testPlugin.getDependency('junit').getVersion()}</j:set>
|
|
|
|
<j:if test="${pom.getDependency('junit') != null}">
|
|
<j:set var="depVersion" value="${pom.getDependency('junit').getVersion()}"/>
|
|
</j:if>
|
|
|
|
<j:if test="${verX != 'X'}">
|
|
<j:set var="depVersion">${maven.eclipse.junit}</j:set>
|
|
</j:if>
|
|
|
|
<j:if test="${verX == 'noneX'}">
|
|
<j:set var="depVersion" value="none"/>
|
|
</j:if>
|
|
|
|
<j:if test="${depVersion != 'none'}">
|
|
<classpathentry kind="var" path="MAVEN_REPO/junit/jars/junit-${depVersion}.jar"/>
|
|
</j:if>
|
|
</j:if>
|
|
|
|
<maven:pluginVar var="cactusSrcDir" plugin='cactus-maven' property='cactus.src.dir' />
|
|
<util:available file="${cactusSrcDir}">
|
|
<j:set var="cactusSourcePresent" value="true"/>
|
|
</util:available>
|
|
|
|
<j:if test="${cactusSourcePresent == 'true'}">
|
|
<ant:echo>Contains Cactus Tests!</ant:echo>
|
|
<maven:makeRelativePath var="testSrcDir" basedir="${basedir}" path="${cactusSrcDir}" />
|
|
<classpathentry kind="src" path="${testSrcDir}"/>
|
|
|
|
<maven:pluginVar var="cactusPlugin" plugin='cactus-maven' property='plugin' />
|
|
<j:set var="depVersion">${cactusPlugin.getDependency('cactus').getVersion()}</j:set>
|
|
<classpathentry kind="var" path="MAVEN_REPO/cactus/jars/cactus-${depVersion}.jar"/>
|
|
</j:if>
|
|
|
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
|
<j:forEach var="lib" items="${pom.artifacts}">
|
|
<j:set var="eclipseDependency"
|
|
value="${lib.dependency.getProperty('eclipse.dependency')}"/>
|
|
<j:choose>
|
|
<j:when test="${eclipseDependency == 'true'}">
|
|
<classpathentry kind="src" path="/${lib.dependency.artifactId}"/>
|
|
</j:when>
|
|
<j:when test="${lib.dependency.groupId == 'junit'}">
|
|
<!-- ignoring junit dependency as we've already created it -->
|
|
</j:when>
|
|
<j:otherwise>
|
|
<!-- make sure it's a classpath dependency -->
|
|
<j:set var="isClasspath" value="${lib.dependency.isAddedToClasspath()}"/>
|
|
<j:if test="${isClasspath}">
|
|
<classpathentry kind="var" path="MAVEN_REPO${lib.urlPath}"/>
|
|
</j:if>
|
|
</j:otherwise>
|
|
</j:choose>
|
|
</j:forEach>
|
|
|
|
<!-- add the unit test build directory so that any files generated via Maven are available -->
|
|
|
|
<j:set var="outputDir" value="${maven.eclipse.output.dir}"/>
|
|
<j:if test="${empty outputDir}">
|
|
<j:set var="outputDir" value="${maven.build.dest}"/>
|
|
</j:if>
|
|
<maven:makeRelativePath var="outputDir" basedir="${basedir}" path="${outputDir}" />
|
|
<classpathentry kind="output" path="${outputDir}"/>
|
|
<ant:echo>Setting default output directory to ${outputDir}</ant:echo>
|
|
</classpath>
|
|
|
|
</j:whitespace>
|