o applying patches for MPGENAPP-1

http://jira.codehaus.org/secure/ViewIssue.jspa?key=MPGENAPP-1


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@114435 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
jvanzyl committed 2003-11-30 21:26:26 +00:00
1 parent aca688b63c
commit ddd35b494d
5 files changed
+187 -69

No files matched your search

+47 -33
View File
@@ -25,18 +25,20 @@
<i:ask question="${maven.genapp.prompt.template}" answer="template" default="${maven.genapp.default.template}"/>
</j:if>
<!-- Search the template in the plugin resources at first place -->
<u:available file="${plugin.resources}/${template}">
<j:set var="maven.genapp.template.dir" value="${plugin.resources}/${template}"/>
</u:available>
<!-- If template is in the user's home directory, use it -->
<u:available file="${user.home}/.maven/template/${template}">
<j:set var="maven.genapp.template.dir" value="${user.home}/.maven/template/${template}"/>
</u:available>
<j:set var="currenttemplatedir" value="${maven.genapp.template.dir}"/>
<j:if test="${empty(currenttemplatedir)}">
<!-- The template was not found in user.home, check in the plugin resources -->
<u:available file="${plugin.resources}/${template}">
<j:set var="maven.genapp.template.dir" value="${plugin.resources}/${template}"/>
</u:available>
</j:if>
<!-- If template is in a given template repository, use it -->
<u:available file="${maven.genapp.template.repository}/${template}">
<j:set var="maven.genapp.template.dir" value="${maven.genapp.template.repository}/${template}"/>
</u:available>
</j:if>
<j:set var="currenttemplatedir" value="${maven.genapp.template.dir}"/>
@@ -64,34 +66,46 @@
<u:available file="${maven.genapp.template.dir}/template.properties">
<u:properties file="${maven.genapp.template.dir}/template.properties"/>
</u:available>
<!-- Ensure we have a project id, name, and package -->
<j:set var="presetid" value="${maven.genapp.template.id}"/>
<j:if test="${empty(presetid)}">
<i:ask question="${maven.genapp.prompt.id}" answer="maven.genapp.template.id" default="${maven.genapp.default.id}"/>
</j:if>
<j:set var="presetname" value="${maven.genapp.template.name}"/>
<j:if test="${empty(presetname)}">
<i:ask question="${maven.genapp.prompt.name}" answer="maven.genapp.template.name" default="${maven.genapp.default.name}"/>
</j:if>
<j:set var="presetpackage" value="${maven.genapp.template.package}"/>
<j:if test="${empty(presetpackage)}">
<i:ask question="${maven.genapp.prompt.package}" answer="maven.genapp.template.package" default="${maven.genapp.default.package}"/>
</j:if>
<!-- Split variables manually, since jelly does not support this currently. -->
<u:tokenize var="maven.genapp.param.split" delim=",">${maven.genapp.param}</u:tokenize>
<j:forEach var="var" items="${maven.genapp.param.split}">
<j:set var="varname">maven.genapp.template.${var}</j:set>
<j:set var="presetval" value="${context.findVariable(varname)}"/>
<j:if test="${empty(presetval)}">
<j:set var="varname">maven.genapp.default.${var}</j:set>
<j:set var="defaultval" value="${context.findVariable(varname)}"/>
<j:set var="varname">maven.genapp.prompt.${var}</j:set>
<j:set var="prompt" value="${context.findVariable(varname)}"/>
<j:if test="${empty(prompt)}">
<j:set var="maven.genapp.template.${var}" value="${defaultval}"/>
</j:if>
<j:if test="${!empty(prompt)}">
<i:ask question="${prompt}" answer="maven.genapp.template.${var}" default="${defaultval}"/>
</j:if>
</j:if>
<j:invoke method="toUpperCase" on="${var}" var="placeholder" />
<j:set var="varname">maven.genapp.template.${var}</j:set>
<j:set var="value" value="${context.findVariable(varname)}"/>
<filter token="${placeholder}" value="${value}"/>
</j:forEach>
<!-- Show used variables for template -->
<ant:echo>Parameters used in template:</ant:echo>
<j:forEach var="var" items="${maven.genapp.param.split}">
<j:set var="varname">maven.genapp.template.${var}</j:set>
<j:set var="value" value="${context.findVariable(varname)}"/>
<j:invoke method="toUpperCase" on="${var}" var="placeholder" />
<ant:echo>${varname} (${placeholder}):${value}</ant:echo>
</j:forEach>
<!-- Turn the specified package into a path -->
<u:replace var="appPath" oldChar="." newChar="/" value="${maven.genapp.template.package}"/>
<!-- We want to substitute in the id, name, and package name. -->
<filter token="ID" value="${maven.genapp.template.id}"/>
<filter token="NAME" value="${maven.genapp.template.name}"/>
<filter token="PACKAGE" value="${maven.genapp.template.package}"/>
<!-- split the list of dirs that need repackaged -->
<!-- split variables manually, since jelly does not support this currently. -->
<u:tokenize var="maven.genapp.repackage.split" delim=",">${maven.genapp.repackage}</u:tokenize>
<u:tokenize var="maven.genapp.filter.split" delim=",">${maven.genapp.filter}</u:tokenize>
<!-- copy resources that need repackaged, eg java files -->
<j:forEach var="res" items="${maven.genapp.repackage.split}">
@@ -104,7 +118,7 @@
<!-- copy resources that just need filtered, eg project.xml -->
<ant:copy todir="${basedir}" filtering="true">
<ant:fileset dir="${maven.genapp.resources}">
<j:forEach var="res" items="${maven.genapp.filter}">
<j:forEach var="res" items="${maven.genapp.filter.split}">
<include name="${res}"/>
</j:forEach>
</ant:fileset>