ant - Create specific WAR file -
in ant script, there way include file 'environnement' directory different war ?
my filesystem tree :
- environnement
- dev
- web.xml
- log4j.properties
- int
- web.xml
- log4j.properties
- dev
- webcontent
- web-inf
- web.xml
- log4j.properties
- web-inf
extract build.xml :
<target name="createfordev"> <delete file="environnement/dev/${timestampday}/${warfile}.war" /> <war destfile="environnement/dev/${timestampday}/${warfile}.war" webxml="environnement/dev/web.xml" update="true"> <classes dir="build/classes" /> <fileset dir="webcontent"> <exclude name="web-inf/web.xml" /> <exclude name="**/thumbs.db" /> </fileset> </war> </target> <target name="createforint"> <delete file="environnement/int/${timestampday}/${warfile}.war" /> <war destfile="environnement/int/${timestampday}/${warfile}.war" webxml="environnement/int/web.xml" update="true"> <classes dir="build/classes" /> <fileset dir="webcontent"> <exclude name="web-inf/web.xml" /> <exclude name="**/thumbs.db" /> <exclude name="**/test.jsp" /> </fileset> </war> </target> i have 2 configuration files :
- for dev environment
- for int environment
when make war file, ignore files , replace them others specific files 'environnement' directory ?
- when making war in
createfordevtarget, take file environnement/dev , replace corresponding files - when making war in
createforinttarget, take file environnement/int , replace corresponding files
the trick here utilize duplicate attribute of war task, , include multiple fileset elements. value preserve duplicate tells ignore duplicate entries. files in first fileset (from either dev or int) placed in war first. additional files in webcontent included second fileset, files included dev or int ignored.
<target name="createfordev"> <delete file="environnement/dev/${timestampday}/${warfile}.war" /> <war destfile="environnement/dev/${timestampday}/${warfile}.war" webxml="environnement/dev/web.xml" update="true" duplicate="preserve"> <classes dir="build/classes" /> <fileset dir="environnement/dev"> <exclude name="web.xml" /> </fileset> <fileset dir="webcontent"> <exclude name="web-inf/web.xml" /> <exclude name="**/thumbs.db" /> </fileset> </war> </target> <target name="createforint"> <delete file="environnement/int/${timestampday}/${warfile}.war" /> <war destfile="environnement/int/${timestampday}/${warfile}.war" webxml="environnement/int/web.xml" update="true" duplicate="preserve"> <classes dir="build/classes" /> <fileset dir="environnement/int"> <exclude name="web.xml" /> </fileset> <fileset dir="webcontent"> <exclude name="web-inf/web.xml" /> <exclude name="**/thumbs.db" /> <exclude name="**/test.jsp" /> </fileset> </war> </target>
Comments
Post a Comment