Mklink (Apache Ant API)

Package org.apache.tools.ant.taskdefs.optional.windows

## Class Mklink

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.optional.windows.Mklink

- All Implemented Interfaces:
    `java.lang.Cloneable`

      public class Mklink
      extends Task

  Runs mklink on Win32 systems.
  Since:
    Ant 1.10.16

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `Mklink.LinkType` |

  - ### Field Summary

    - ### 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
    --- | ---
    `Mklink()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `execute()` | Called by the project to let the task do its work.
    `void` | `setLink​(java.io.File link)` | The link to create.
    `void` | `setLinkType​(Mklink.LinkType type)` | The type of link to create.
    `void` | `setOverwrite​(boolean owrite)` | Set overwrite mode.
    `void` | `setTargetFile​(java.io.File target)` | The link target specified as file.
    `void` | `setTargetText​(java.lang.String target)` | The link target specified as text.

    - ### 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, setProject`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Mklink

          public Mklink()

  - ### Method Detail

    - #### setLink

          public void setLink​(java.io.File link)

      The link to create.
      Parameters:
        `link` - the path of the link to create

    - #### setTargetFile

          public void setTargetFile​(java.io.File target)

      The link target specified as file.
      Parameters:
        `target` - the path of the link taget as resolved file

    - #### setTargetText

          public void setTargetText​(java.lang.String target)

      The link target specified as text.
      Parameters:
        `target` - the path of the link taget as string

    - #### setLinkType

          public void setLinkType​(Mklink.LinkType type)

      The type of link to create.

      If not specified explicitly and target is given as a file the link type will be guessed to be the proper type of symlink for the target type.

      Parameters:
        `type` - one of "file-symlink", "dir-symlink", "hardlink" or "junction".

    - #### setOverwrite

          public void setOverwrite​(boolean owrite)

      Set overwrite mode. If set to false (default) the task will not overwrite existing links.
      Parameters:
        `owrite` - If true overwrite existing links.

    - #### execute

          public void execute()
                       throws BuildException

      Description copied from class: `Task`
      Called by the project to let the task do its work. This method may be called more than once, if the task is invoked more than once. For example, if target1 and target2 both depend on target3, then running "ant target1 target2" will run all tasks in target3 twice.
      Overrides:
        `execute` in class `Task`
      Throws:
        `BuildException` - if something goes wrong with the build.