## org.apache.tools.ant.taskdefs.optional.jlink
Class JlinkTask

    java.lang.Object
      org.apache.tools.ant.ProjectComponent
          org.apache.tools.ant.Task
              org.apache.tools.ant.taskdefs.MatchingTask
                  org.apache.tools.ant.taskdefs.optional.jlink.JlinkTask

All Implemented Interfaces:
  java.lang.Cloneable, SelectorContainer

    public class JlinkTask

extends MatchingTask

This class defines objects that can link together various jar and zip files.

It is basically a wrapper for the jlink code written originally by Patrick Beard. The classes org.apache.tools.ant.taskdefs.optional.jlink.Jlink and org.apache.tools.ant.taskdefs.optional.jlink.ClassNameReader support this class.

For example: ``

     <jlink compress="false" outfile="out.jar"/>
       <mergefiles>
         <pathelement path="${build.dir}/mergefoo.jar"/>
         <pathelement path="${build.dir}/mergebar.jar"/>
       </mergefiles>
       <addfiles>
         <pathelement path="${build.dir}/mac.jar"/>
         <pathelement path="${build.dir}/pc.zip"/>
       </addfiles>
     </jlink>

Field Summary

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`

Constructor Summary
`JlinkTask()`

Method Summary
`Path` `createAddfiles()` Establishes the object that contains the files to be added to the output.
`Path` `createMergefiles()` Establishes the object that contains the files to be merged into the output.
`void` `execute()` Does the adding and merging.
`void` `setAddfiles(Path addfiles)` Sets the files to be added into the output.
`void` `setCompress(boolean compress)` Defines whether or not the output should be compacted.
`void` `setMergefiles(Path mergefiles)` Sets the files to be merged into the output.
`void` `setOutfile(java.io.File outfile)` The output file for this run of jlink.

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
`bindToOwner, 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, setDescription, setLocation`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### JlinkTask

    public JlinkTask()

Method Detail

### setOutfile

    public void setOutfile(java.io.File outfile)

  The output file for this run of jlink. Usually a jar or zip file.

  Parameters:
    `outfile` - the output file

### createMergefiles

    public Path createMergefiles()

  Establishes the object that contains the files to be merged into the output.

  Returns:
    a path to be configured

### setMergefiles

    public void setMergefiles(Path mergefiles)

  Sets the files to be merged into the output.

  Parameters:
    `mergefiles` - a path

### createAddfiles

    public Path createAddfiles()

  Establishes the object that contains the files to be added to the output.

  Returns:
    a path to be configured

### setAddfiles

    public void setAddfiles(Path addfiles)

  Sets the files to be added into the output.

  Parameters:
    `addfiles` - a path

### setCompress

    public void setCompress(boolean compress)

  Defines whether or not the output should be compacted.

  Parameters:
    `compress` - a `boolean` value

### execute

    public void execute()
                 throws BuildException

  Does the adding and merging.

  Overrides:
    `execute` in class `Task`
  Throws:
    `BuildException` - on error