org.apache.tools.ant.taskdefs
public class Jar extends Zip
Since: Ant 1.1
UNKNOWN: category="packaging"
Nested Class Summary | |
---|---|
static class | Jar.FilesetManifestConfig
The manifest config enumerated type. |
Field Summary | |
---|---|
protected String | emptyBehavior |
Constructor Summary | |
---|---|
Jar() constructor |
Method Summary | |
---|---|
void | addConfiguredIndexJars(Path p)
Add a path to index jars. |
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 | addConfiguredService(Service service)
A nested SPI service element. |
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(File zipFile)
Create an empty jar file. |
protected void | finalizeZipOutputStream(ZipOutputStream zOut)
Finalize the zip output stream.
|
protected static String | findJarName(String fileName, String[] classpath)
try to guess the name of the given file.
|
protected ArchiveState | getResourcesToAdd(ResourceCollection[] rcs, File zipFile, boolean needsUpdate)
Collect the resources that are newer than the corresponding
entries (or missing) in the original archive.
|
protected static void | grabFilesAndDirs(String file, List dirs, List files)
Grab lists of all root-level files and all directories
contained in the given archive. |
protected void | initZipOutputStream(ZipOutputStream zOut)
Initialize the zip output stream. |
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(File jarFile)
Set the destination file. |
void | setManifest(File manifestFile)
The manifest file to use. |
void | setManifestEncoding(String manifestEncoding)
The character encoding to use in the manifest file.
|
void | setWhenempty(WhenEmpty we)
Not used for jar files. |
void | setWhenmanifestonly(WhenEmpty we)
Indicates if a jar file should be created when it would only contain a
manifest file.
|
protected void | writeIndexLikeList(List dirs, List files, 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(InputStream is, ZipOutputStream zOut, String vPath, long lastModified, File fromArchive, int mode)
Overridden from Zip class to deal with manifests and index lists. |
Parameters: p a path
Since: Ant 1.6.2
Parameters: newManifest an embedded manifest element
Throws: ManifestException on error
Parameters: service the nested element.
Since: Ant 1.7
Parameters: fs zipfileset to add
See Also: Zip
Parameters: zipFile the file to create
Returns: true for historic reasons
Throws: BuildException on error
Parameters: zOut the zip output stream
Throws: IOException on I/O errors BuildException on other errors
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.
Parameters: fileName the name to look for classpath the classpath to look in (may be null)
Returns: the matching entry, or null if the file is not found
Since: Ant 1.6.2
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.
Parameters: rcs The resource collections to grab resources from zipFile 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.
Returns: an array of resources to add for each fileset passed in as well as a flag that indicates whether the archive is uptodate.
Throws: BuildException if it likes
Parameters: file the zip file to examine dirs where to place the directories found files where to place the files found
Throws: IOException on error
Since: Ant 1.7
Parameters: zOut the zip output stream
Throws: IOException on I/O errors BuildException on other errors
Since: 1.44, Ant 1.5
See Also: Zip
Parameters: config setting for found manifest behavior.
Parameters: flag a boolean
value
Deprecated: since 1.5.x. Use setDestFile(File) instead.
Set the destination file.Parameters: jarFile the destination file
Parameters: manifestFile the manifest file to use.
Parameters: manifestEncoding the character encoding
Parameters: we not used
UNKNOWN: ignore="true"
fail
(throw an exception
and halt the build); skip
(do not create
any archive, but issue a warning); create
(make an archive with only a manifest file).
Default is create
;Parameters: we a WhenEmpty
enumerated value
Parameters: dirs a list of directories files a list of files writer the writer to write to
Throws: IOException on error
Since: Ant 1.6.2
Parameters: is the input stream zOut the zip output stream 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.
Throws: IOException on error