org.apache.tools.ant.taskdefs.optional

Class Cab

Implemented Interfaces:
Cloneable, SelectorContainer

public class Cab
extends MatchingTask

Create a CAB archive.

Field Summary

protected String
archiveType

Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask

fileset

Fields inherited from class org.apache.tools.ant.Task

target, taskName, taskType, wrapper

Fields inherited from class org.apache.tools.ant.ProjectComponent

description, location, project

Method Summary

void
addFileset(FileSet set)
Adds a set of files to archive.
protected void
appendFiles(Vector files, DirectoryScanner ds)
Append all files found by a directory scanner to a vector.
protected void
checkConfiguration()
Check if the attributes and nested elements are correct.
protected ExecTask
createExec()
Create a new exec delegate.
protected File
createListFile(Vector files)
Creates a list file.
void
execute()
execute this task.
protected Vector
getFileList()
Get the complete list of files to be included in the cab.
protected boolean
isUpToDate(Vector files)
Check to see if the target is up to date with respect to input files.
void
setBasedir(File baseDir)
Base directory to look in for files to CAB.
void
setCabfile(File cabFile)
The name/location of where to create the .cab file.
void
setCompress(boolean compress)
If true, compress the files otherwise only store them.
void
setOptions(String options)
Sets additional cabarc options that are not supported directly.
void
setVerbose(boolean verbose)
If true, display cabarc output.

Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask

XsetIgnore, XsetItems, 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

Methods inherited from class org.apache.tools.ant.Task

bindToOwner, execute, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType

Methods inherited from class org.apache.tools.ant.ProjectComponent

clone, getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject

Field Details

archiveType

protected String archiveType

Method Details

addFileset

public void addFileset(FileSet set)
Adds a set of files to archive.
Parameters:
set - a set of files to archive.

appendFiles

protected void appendFiles(Vector files,
                           DirectoryScanner ds)
Append all files found by a directory scanner to a vector.
Parameters:
files - the vector to append the files to.
ds - the scanner to get the files from.

checkConfiguration

protected void checkConfiguration()
            throws BuildException
Check if the attributes and nested elements are correct.
Throws:
BuildException - on error.

createExec

protected ExecTask createExec()
            throws BuildException
Create a new exec delegate. The delegate task is populated so that it appears in the logs to be the same task as this one.
Returns:
the delegate.
Throws:
BuildException - on error.

createListFile

protected File createListFile(Vector files)
            throws IOException
Creates a list file. This temporary file contains a list of all files to be included in the cab, one file per line.

This method expects to only be called on Windows and thus quotes the file names.

Parameters:
files - the list of files to use.
Returns:
the list file created.

execute

public void execute()
            throws BuildException
execute this task.
Overrides:
execute in interface Task
Throws:
BuildException - on error.

getFileList

protected Vector getFileList()
            throws BuildException
Get the complete list of files to be included in the cab. Filenames are gathered from the fileset if it has been added, otherwise from the traditional include parameters.
Returns:
the list of files.
Throws:
BuildException - if there is an error.

isUpToDate

protected boolean isUpToDate(Vector files)
Check to see if the target is up to date with respect to input files.
Parameters:
files - the list of files to check.
Returns:
true if the cab file is newer than its dependents.

setBasedir

public void setBasedir(File baseDir)
Base directory to look in for files to CAB.
Parameters:
baseDir - base directory for files to cab.

setCabfile

public void setCabfile(File cabFile)
The name/location of where to create the .cab file.
Parameters:
cabFile - the location of the cab file.

setCompress

public void setCompress(boolean compress)
If true, compress the files otherwise only store them.
Parameters:
compress - a boolean value.

setOptions

public void setOptions(String options)
Sets additional cabarc options that are not supported directly.
Parameters:
options - cabarc command line options.

setVerbose

public void setVerbose(boolean verbose)
If true, display cabarc output.
Parameters:
verbose - a boolean value.