|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--org.apache.tools.ant.ProjectComponent
|
+--org.apache.tools.ant.Task
|
+--org.apache.tools.ant.taskdefs.MatchingTask
|
+--org.apache.tools.ant.taskdefs.Zip
|
+--org.apache.tools.ant.taskdefs.Jar
Creates a JAR archive.
| Nested Class Summary | |
static class |
Jar.FilesetManifestConfig
|
| Nested classes inherited from class org.apache.tools.ant.taskdefs.Zip |
Zip.ArchiveState, Zip.Duplicate, Zip.WhenEmpty |
| Field Summary |
| Fields inherited from class org.apache.tools.ant.taskdefs.Zip |
addedDirs, archiveType, doubleFilePass, duplicate, emptyBehavior, entries, skipWriting, zipFile |
| Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask |
fileset |
| Fields inherited from class org.apache.tools.ant.Task |
description, location, target, taskName, taskType, wrapper |
| Fields inherited from class org.apache.tools.ant.ProjectComponent |
project |
| Constructor Summary | |
Jar()
constructor |
|
| Method Summary | |
void |
addConfiguredIndexJars(Path p)
|
void |
addConfiguredManifest(Manifest newManifest)
Allows the manifest for the archive file to be provided inline in the build file rather than in an external file. |
void |
addMetainf(ZipFileSet fs)
Adds a zipfileset to include in the META-INF directory. |
protected void |
cleanUp()
Make sure we don't think we already have a MANIFEST next time this task gets executed. |
protected boolean |
createEmptyZip(java.io.File zipFile)
Create an empty zip file |
protected void |
finalizeZipOutputStream(ZipOutputStream zOut)
method for subclasses to override |
protected static java.lang.String |
findJarName(java.lang.String fileName,
java.lang.String[] classpath)
try to guess the name of the given file. |
protected Zip.ArchiveState |
getResourcesToAdd(FileSet[] filesets,
java.io.File zipFile,
boolean needsUpdate)
Collect the resources that are newer than the corresponding entries (or missing) in the original archive. |
protected static void |
grabFilesAndDirs(java.lang.String file,
java.util.List dirs,
java.util.List files)
Grab lists of all root-level files and all directories contained in the given archive. |
protected void |
initZipOutputStream(ZipOutputStream zOut)
method for subclasses to override |
void |
reset()
reset to default values. |
void |
setFilesetmanifest(Jar.FilesetManifestConfig config)
Behavior when a Manifest is found in a zipfileset or zipgroupfileset file. |
void |
setIndex(boolean flag)
Set whether or not to create an index list for classes. |
void |
setJarfile(java.io.File jarFile)
Deprecated. Use setDestFile(File) instead |
void |
setManifest(java.io.File manifestFile)
The manifest file to use. |
void |
setManifestEncoding(java.lang.String manifestEncoding)
Set whether or not to create an index list for classes. |
void |
setWhenempty(Zip.WhenEmpty we)
Sets behavior of the task when no files match. |
protected void |
writeIndexLikeList(java.util.List dirs,
java.util.List files,
java.io.PrintWriter writer)
Writes the directory entries from the first and the filenames from the second list to the given writer, one entry per line. |
protected void |
zipFile(java.io.InputStream is,
ZipOutputStream zOut,
java.lang.String vPath,
long lastModified,
java.io.File fromArchive,
int mode)
Overridden from Zip class to deal with manifests and index lists. |
| Methods inherited from class org.apache.tools.ant.taskdefs.Zip |
addFileset, addParentDirs, addResources, addZipfileset, addZipGroupFileset, execute, executeMain, getDestFile, getEncoding, grabResources, isAddingNewFiles, isCompress, isEmpty, isInUpdateMode, selectFileResources, setBasedir, setCompress, setDestFile, setDuplicate, setEncoding, setFile, setFilesonly, setKeepCompression, setRoundUp, setUpdate, setZipfile, zipDir, zipFile |
| Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask |
add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItems |
| Methods inherited from class org.apache.tools.ant.Task |
getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType |
| Methods inherited from class org.apache.tools.ant.ProjectComponent |
getProject |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public Jar()
| Method Detail |
public void setWhenempty(Zip.WhenEmpty we)
Zipfail (throw an exception
and halt the build); skip (do not create
any archive, but issue a warning); create
(make an archive with no entries).
Default for zip tasks is skip;
for jar tasks, create.
setWhenempty in class Zippublic void setJarfile(java.io.File jarFile)
public void setIndex(boolean flag)
public void setManifestEncoding(java.lang.String manifestEncoding)
public void addConfiguredManifest(Manifest newManifest)
throws ManifestException
newManifest -
ManifestExceptionpublic void setManifest(java.io.File manifestFile)
manifestFile - the manifest file to use.public void setFilesetmanifest(Jar.FilesetManifestConfig config)
config - setting for found manifest behavior.public void addMetainf(ZipFileSet fs)
fs - zipfileset to addpublic void addConfiguredIndexJars(Path p)
protected void initZipOutputStream(ZipOutputStream zOut)
throws java.io.IOException,
BuildException
Zip
initZipOutputStream in class Zipjava.io.IOException
BuildException
protected void finalizeZipOutputStream(ZipOutputStream zOut)
throws java.io.IOException,
BuildException
Zip
finalizeZipOutputStream in class Zipjava.io.IOException
BuildException
protected void zipFile(java.io.InputStream is,
ZipOutputStream zOut,
java.lang.String vPath,
long lastModified,
java.io.File fromArchive,
int mode)
throws java.io.IOException
zipFile in class Zipis - the stream to read data for the entry from.zOut - the stream to write to.vPath - the name this entry shall have in the archive.lastModified - last modification time for the entry.fromArchive - the original archive we are copying this
entry from, will be null if we are not copying from an archive.mode - the Unix permissions to set.
java.io.IOException
protected Zip.ArchiveState getResourcesToAdd(FileSet[] filesets,
java.io.File zipFile,
boolean needsUpdate)
throws BuildException
If we are going to recreate the archive instead of updating
it, all resources should be considered as new, if a single one
is. Because of this, subclasses overriding this method must
call super.getResourcesToAdd and indicate with the
third arg if they already know that the archive is
out-of-date.
getResourcesToAdd in class Zipfilesets - The filesets to grab resources fromzipFile - intended archive file (may or may not exist)needsUpdate - whether we already know that the archive is
out-of-date. Subclasses overriding this method are supposed to
set this value correctly in their call to
super.getResourcesToAdd.
BuildException - if it likes
protected boolean createEmptyZip(java.io.File zipFile)
throws BuildException
Zip
createEmptyZip in class ZipBuildExceptionprotected void cleanUp()
cleanUp in class ZipZip.cleanUp()public void reset()
reset in class ZipZip.reset()
protected final void writeIndexLikeList(java.util.List dirs,
java.util.List files,
java.io.PrintWriter writer)
throws java.io.IOException
java.io.IOException
protected static final java.lang.String findJarName(java.lang.String fileName,
java.lang.String[] classpath)
If this jar has a classpath attribute in its manifest, we can assume that it will only require an index of jars listed there. try to find which classpath entry is most likely the one the given file name points to.
In the absence of a classpath attribute, assume the other files will be placed inside the same directory as this jar and use their basename.
if there is a classpath and the given file doesn't match any of its entries, return null.
protected static final void grabFilesAndDirs(java.lang.String file,
java.util.List dirs,
java.util.List files)
throws java.io.IOException
java.io.IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||