JlinkTask (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.taskdefs.optional.jlink, class: JlinkTask

Package 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:
  `Cloneable`, `SelectorContainer`

public class JlinkTask extends MatchingTask
This task defines objects that can link together various jar and zip files. It is not related to the `jlink` tool present in Java 9 and later; for that, see `Link`.

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

  Constructors
  Constructor
  Description
  `JlinkTask()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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(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 Details

  - ### JlinkTask

    public JlinkTask()

- ## Method Details

  - ### setOutfile

    public void setOutfile(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