PR: MPWAR-37

Submitted by: Troy Poppe
Reviewed by: Stephane Nicoll
Added ability to expand properties when copying war resources.

git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@398659 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
ltheussl
2006-05-01 18:08:53 +00:00
parent c5a59cb1cf
commit 337e3857b1
14 changed files with 266 additions and 0 deletions

View File

@@ -117,6 +117,11 @@
includes="${maven.war.src.includes}"
excludes="${maven.war.src.excludes}">
</ant:fileset>
<j:if test="${maven.war.property.expansion}" >
<ant:filterchain>
<ant:expandproperties/>
</ant:filterchain>
</j:if>
</ant:copy>
</j:if>

View File

@@ -31,6 +31,10 @@ maven.war.src=${maven.src.dir}/webapp
maven.war.src.includes=**
maven.war.src.excludes=
# Whether to perform property expansion for
# copied resources.
maven.war.property.expansion=false
# Location of web.xml file
maven.war.webxml=${maven.war.src}/WEB-INF/web.xml

View File

@@ -0,0 +1 @@
Sample license

View File

@@ -0,0 +1,38 @@
<!--
/*
* 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.
*/
-->
<project xmlns:j="jelly:core"
xmlns:assert="assert"
xmlns:u="jelly:util">
<goal name="testPlugin" prereqs="test-war"/>
<goal name="test-war" prereqs="clean">
<attainGoal name="war"/>
<j:set var="warFile" value="${maven.build.dir}/${pom.artifactId}.war"/>
<j:set var="warDir" value="${maven.build.dir}/${pom.artifactId}"/>
<assert:assertFileExists file="${warFile}"/>
<assert:assertFileExists file="${warDir}/WEB-INF/lib/commons-logging-1.0.4.jar"/>
<!-- check for index.html content-->
<j:set var="unzipDir" value="${maven.build.dir}/unzippedWar"/>
<mkdir dir="${unzipDir}"/>
<unzip src="${warFile}" dest="${unzipDir}"/>
<assert:assertFileContains file="${unzipDir}/index.html" match="pom.artifactId"/>
</goal>
</project>

View File

@@ -0,0 +1 @@
maven.war.property.expansion=true

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* 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.
*/
-->
<project>
<pomVersion>3</pomVersion>
<id>test-maven-war-plugin-expand-properties-false</id>
<name>Maven War Plugin 03</name>
<groupId>maven</groupId>
<currentVersion>1.0</currentVersion>
<organization>
<name>Apache Software Foundation</name>
<url>http://www.apache.org/</url>
<logo>http://maven.apache.org/images/apache-maven-project.png</logo>
</organization>
<inceptionYear>2001</inceptionYear>
<package>org.apache.maven</package>
<logo>http://maven.apache.org/images/maven.gif</logo>
<description>Test for Maven War plugin, tests maven.war.property.expansion if false</description>
<shortDescription>test for maven.war.property.expansion</shortDescription>
<url>http://maven.apache.org/maven-1.x/plugins/war/</url>
<siteDirectory>/www/maven.apache.org/maven-1.x/plugins/war/</siteDirectory>
<repository>
<connection>scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/war/</connection>
<url>http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/war/</url>
</repository>
<dependencies>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.0.4</version>
<url>http://jakarta.apache.org/commons/logging.html</url>
<properties>
<war.bundle>true</war.bundle>
<war.manifest.classpath>true</war.manifest.classpath>
</properties>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,25 @@
<!--
/*
* 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.
*/
-->
<html>
<body>
<h1>Simple WebApp Home</h1>
<p>
This is a html page for ${pom.artifactId}
</p>
</body>
</html>

View File

@@ -0,0 +1 @@
Sample license

View File

@@ -0,0 +1,39 @@
<!--
/*
* 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.
*/
-->
<project xmlns:j="jelly:core"
xmlns:assert="assert"
xmlns:u="jelly:util">
<goal name="testPlugin" prereqs="test-war"/>
<goal name="test-war" prereqs="clean">
<attainGoal name="war"/>
<j:set var="warFile" value="${maven.build.dir}/${pom.artifactId}.war"/>
<j:set var="warDir" value="${maven.build.dir}/${pom.artifactId}"/>
<assert:assertFileExists file="${warFile}"/>
<assert:assertFileExists file="${warDir}/WEB-INF/lib/commons-logging-1.0.4.jar"/>
<!-- check for index.html content-->
<j:set var="unzipDir" value="${maven.build.dir}/unzippedWar"/>
<mkdir dir="${unzipDir}"/>
<unzip src="${warFile}" dest="${unzipDir}"/>
<assert:assertFileContains file="${unzipDir}/index.html"
match="test-maven-war-plugin-expand-properties-true"/>
</goal>
</project>

View File

@@ -0,0 +1,8 @@
#
# Expand properties
maven.war.property.expansion=true
#
# Property being replaced
my.cool.property=${pom.artifactId}

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* 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.
*/
-->
<project>
<pomVersion>3</pomVersion>
<id>test-maven-war-plugin-expand-properties-true</id>
<name>Maven War Plugin 04</name>
<groupId>maven</groupId>
<currentVersion>1.0</currentVersion>
<organization>
<name>Apache Software Foundation</name>
<url>http://www.apache.org/</url>
<logo>http://maven.apache.org/images/apache-maven-project.png</logo>
</organization>
<inceptionYear>2001</inceptionYear>
<package>org.apache.maven</package>
<logo>http://maven.apache.org/images/maven.gif</logo>
<description>Test for Maven War plugin, tests maven.war.property.expansion if true</description>
<shortDescription>test for maven.war.property.expansion</shortDescription>
<url>http://maven.apache.org/maven-1.x/plugins/war/</url>
<siteDirectory>/www/maven.apache.org/maven-1.x/plugins/war/</siteDirectory>
<repository>
<connection>scm:svn:http://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk/war/</connection>
<url>http://svn.apache.org/viewcvs.cgi/maven/maven-1/plugins/trunk/war/</url>
</repository>
<dependencies>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.0.4</version>
<url>http://jakarta.apache.org/commons/logging.html</url>
<properties>
<war.bundle>true</war.bundle>
<war.manifest.classpath>true</war.manifest.classpath>
</properties>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,25 @@
<!--
/*
* 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.
*/
-->
<html>
<body>
<h1>Simple WebApp Home</h1>
<p>
This is a html page for ${my.cool.property}
</p>
</body>
</html>

View File

@@ -25,6 +25,7 @@
</properties>
<body>
<release version="1.6.2-SNAPSHOT" date="in SVN">
<action dev="snicoll" type="update" issue="MPWAR-37" due-to="Troy Poppe">Added ability to expand properties when copying war resources.</action>
<action dev="snicoll" type="update" issue="MPWAR-39">Updated wrong documentation regarding web.xml filtering.</action>
<action dev="snicoll" type="update" issue="MPWAR-46">Now filtering when copying resources.</action>
<action dev="snicoll" type="add" issue="MPWAR-52">Added property <code>maven.war.webxml.overwrite</code> to control if the source web.xml overwrite the one in the generated webapp directory.</action>

View File

@@ -59,6 +59,14 @@
by default.
</td>
</tr>
<tr>
<td>maven.war.property.expansion</td>
<td>Yes</td>
<td>
Whether to perform property expansion for copied
resources. Default to false.
</td>
</tr>
<tr>
<td>maven.war.webxml</td>
<td>Yes</td>