Methods Summary |
---|
public void | addClasses(org.apache.tools.ant.types.ZipFileSet fs)add files under WEB-INF/classes
// We just set the prefix for this fileset, and pass it up.
fs.setPrefix("WEB-INF/classes/");
super.addFileset(fs);
|
public void | addLib(org.apache.tools.ant.types.ZipFileSet fs)add files under WEB-INF/lib/
// We just set the prefix for this fileset, and pass it up.
fs.setPrefix("WEB-INF/lib/");
super.addFileset(fs);
|
public void | addWebinf(org.apache.tools.ant.types.ZipFileSet fs)files to add under WEB-INF;
// We just set the prefix for this fileset, and pass it up.
fs.setPrefix("WEB-INF/");
super.addFileset(fs);
|
protected void | cleanUp()Make sure we don't think we already have a web.xml next time this task
gets executed.
if (addedWebXmlFile == null
&& deploymentDescriptor == null
&& needxmlfile
&& !isInUpdateMode()) {
throw new BuildException("No WEB-INF/web.xml file was added.\n"
+ "If this is your intent, set needxml='false' ");
}
addedWebXmlFile = null;
super.cleanUp();
|
protected void | initZipOutputStream(org.apache.tools.zip.ZipOutputStream zOut)override of parent; validates configuration
before initializing the output stream.
super.initZipOutputStream(zOut);
|
public void | setNeedxmlfile(boolean needxmlfile)Set the policy on the web.xml file, that is, whether or not it is needed
this.needxmlfile = needxmlfile;
|
public void | setWarfile(java.io.File warFile)Deprecated name of the file to create
-use destfile instead.
setDestFile(warFile);
|
public void | setWebxml(java.io.File descr)set the deployment descriptor to use (WEB-INF/web.xml);
required unless update=true
deploymentDescriptor = descr;
if (!deploymentDescriptor.exists()) {
throw new BuildException("Deployment descriptor: "
+ deploymentDescriptor
+ " does not exist.");
}
// Create a ZipFileSet for this file, and pass it up.
ZipFileSet fs = new ZipFileSet();
fs.setFile(deploymentDescriptor);
fs.setFullpath(XML_DESCRIPTOR_PATH);
super.addFileset(fs);
|
protected void | zipFile(java.io.File file, org.apache.tools.zip.ZipOutputStream zOut, java.lang.String vPath, int mode)Overridden from Zip class to deal with web.xml
Here are cases that can arise
-not a web.xml file : add
-first web.xml : add, remember we added it
-same web.xml again: skip
-alternate web.xml : warn and skip
// If the file being added is WEB-INF/web.xml, we warn if it's
// not the one specified in the "webxml" attribute - or if
// it's being added twice, meaning the same file is specified
// by the "webxml" attribute and in a <fileset> element.
String vPathLowerCase = vPath.toLowerCase(Locale.ENGLISH);
//by default, we add the file.
boolean addFile = true;
if (XML_DESCRIPTOR_PATH_LC.equals(vPathLowerCase)) {
//a web.xml file was found. See if it is a duplicate or not
if (addedWebXmlFile != null) {
//a second web.xml file, so skip it
addFile = false;
//check to see if we warn or not
if (!FILE_UTILS.fileNameEquals(addedWebXmlFile, file)) {
log("Warning: selected " + archiveType
+ " files include a second " + XML_DESCRIPTOR_PATH
+ " which will be ignored.\n"
+ "The duplicate entry is at " + file + '\n"
+ "The file that will be used is "
+ addedWebXmlFile,
Project.MSG_WARN);
}
} else {
//no added file, yet
addedWebXmlFile = file;
//there is no web.xml file, so add it
addFile = true;
//and remember that we did
deploymentDescriptor = file;
}
}
if (addFile) {
super.zipFile(file, zOut, vPath, mode);
}
|