Files
maven-plugins/gump/src/plugin-resources/project.jelly
T
2005-01-19 11:56:09 +00:00

88 lines
4.4 KiB
XML
Executable File

<?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:jelly
xmlns:j="jelly:core"
xmlns:maven="jelly:maven"
xmlns:u="jelly:util"
xmlns:license="license"
xmlns="dummy">
<!-- Note: all variables must be relative to the project, or from the project context -->
<maven:makeRelativePath basedir="${basedir}" var="homeDir" separator="/" path="${project.file.parent}" />
<maven:makeRelativePath basedir="${project.file.parent}" var="mavenBuildDir" separator="/" path="${project.context.getVariable('maven.build.dir')}" />
<maven:makeRelativePath basedir="${basedir}" var="mavenDocsDest" separator="/" path="${project.context.getVariable('maven.docs.dest')}" />
<!-- As the test reports is a plugin property, we can't reliably get it from the project context. Forced to assume the default -->
<maven:get var="testReportsDirectory" plugin="maven-test-plugin" property="maven.test.reportsDirectory" />
<maven:makeRelativePath basedir="${basedir}" var="mavenTestReportsDest" separator="/" path="${testReportsDirectory}" />
<j:new var="dependentProjects" className="java.util.TreeSet" />
<j:new var="dependentProjectIds" className="java.util.HashMap" />
<j:new var="dependentProjectRuntimes" className="java.util.HashMap" />
<j:forEach var="dep" items="${project.dependencies}">
<j:choose>
<j:when test="${dep.getProperty('gump.ignore')}">
<!-- skip -->
</j:when>
<j:when test="${dep.getProperty('gump.project') != null}">
<j:set var="depVal" value="${dep.getProperty('gump.project')}" />
<j:set var="dummy">${dependentProjects.add(depVal)}</j:set>
</j:when>
<j:otherwise>
<j:set var="depVal" value="${dep.artifactId}" />
<j:set var="dummy">${dependentProjects.add(depVal)}</j:set>
</j:otherwise>
</j:choose>
<j:if test="${dep.getProperty('gump.runtime') != null}">
<j:set var="dummy">${dependentProjectRuntimes.put(depVal,dep.getProperty('gump.runtime'))}</j:set>
</j:if>
<j:if test="${dep.getProperty('gump.id') != null}">
<j:set var="idVal" value="${dep.getProperty('gump.id')}" />
<j:if test="${dependentProjectIds.containsKey(depVal)}">
<j:set var="idVal" value="${idVal} ${dependentProjectIds.get(depVal)}"/>
</j:if>
<j:set var="dummy">${dependentProjectIds.put(depVal, idVal)}</j:set>
</j:if>
</j:forEach>
<j:whitespace>
<project name="${project.artifactId}">
<j:if test="${genAnt}"><ant buildfile="build.xml" target="${maven.gump.ant.target}">
<![CDATA[<property name="final.name" value="${project.artifactId}-@@DATE@@"/>]]>
</ant></j:if><j:if test="${genMaven}"><maven goal="${maven.gump.maven.goals}" basedir="${homeDir}">
<![CDATA[<property name="maven.final.name" value="${project.artifactId}-@@DATE@@"/>]]>
<j:forEach var="dep" items="${project.dependencies}"><j:if test="${dep.getProperty('gump.project') != null}">
<![CDATA[<property project="${dep.getProperty('gump.project')}" name="maven.jar.${dep.artifactId}" reference="jarpath" ]]><j:if test="${dep.getProperty('gump.id') != null}"><![CDATA[id="${dep.getProperty('gump.id')}" ]]></j:if><![CDATA[/>]]></j:if></j:forEach>
</maven></j:if>
<j:forEach var="dep" items="${dependentProjects}"><![CDATA[<depend project="${dep}"]]><j:if test="${dependentProjectIds.containsKey(dep)}"><![CDATA[ ids="${dependentProjectIds.get(dep)}"]]></j:if><j:if test="${dependentProjectRuntimes.containsKey(dep)}"><![CDATA[ runtime="${dependentProjectRuntimes.get(dep)}"]]></j:if><![CDATA[ />]]>
</j:forEach><![CDATA[
<home nested="${homeDir}" />
<jar name="${mavenBuildDir}/${project.artifactId}-@@DATE@@.jar" />
<javadoc nested="${mavenDocsDest}/apidocs" />
<junitreport nested="${homeDir}/${mavenTestReportsDest}" />
<nag from="${project.name} development &lt;${project.build.nagEmailAddress}&gt;"
to="${project.build.nagEmailAddress}"/>]]>
</project></j:whitespace>
</j:jelly>