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

# Class ImportTask

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.ImportTask

All Implemented Interfaces:
  `Cloneable`

public class ImportTask extends Task
Task to import another build file into the current project.

It must be 'top level'. On execution it will read another Ant file into the same Project.

Important: Trying to understand how relative file references resolved in deep/complex build hierarchies - such as what happens when an imported file imports another file can be difficult. Use absolute references for enhanced build file stability, especially in the imported files.

Examples:

    <import file="../common-targets.xml"/>

Import targets from a file in a parent directory.

    <import file="${deploy-platform}.xml"/>

Import the project defined by the property `deploy-platform`.

Since:
  Ant1.6

- ## Field Summary

  ### Fields inherited from class Task

  `target, taskName, taskType, wrapper`
  Modifier and Type
  Field
  Description
  `protected Target`
  `target`
  Deprecated.
  since 1.6.x.
  `protected String`
  `taskName`
  Deprecated.
  since 1.6.x.
  `protected String`
  `taskType`
  Deprecated.
  since 1.6.x.
  `protected RuntimeConfigurable`
  `wrapper`
  Deprecated.
  since 1.6.x.

  ### Fields inherited from class ProjectComponent

  `description, location, project`
  Modifier and Type
  Field
  Description
  `protected String`
  `description`
  Deprecated.
  since 1.6.x.
  `protected Location`
  `location`
  Deprecated.
  since 1.6.x.
  `protected Project`
  `project`
  Deprecated.
  since 1.6.x.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ImportTask()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `add(ResourceCollection r)`
  The resource to import.
  `void`
  `execute()`
  Called by the project to let the task do its work.
  `protected final boolean`
  `isInIncludeMode()`
  Whether the task is in include (as opposed to import) mode.
  `void`
  `setAs(String prefix)`
  The prefix to use when prefixing the imported target names.
  `void`
  `setFile(String file)`
  the name of the file to import.
  `void`
  `setOptional(boolean optional)`
  sets the optional attribute
  `void`
  `setPrefixSeparator(String s)`
  The separator to use between prefix and target name, default is ".".

  ### Methods inherited from class 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`
  Modifier and Type
  Method
  Description
  `final void`
  `bindToOwner(Task owner)`
  Bind a task to another; use this when configuring a newly created task to do work on behalf of another.
  `Target`
  `getOwningTarget()`
  Returns the container target of this task.
  `RuntimeConfigurable`
  `getRuntimeConfigurableWrapper()`
  Returns the wrapper used for runtime configuration.
  `String`
  `getTaskName()`
  Returns the name to use in logging messages.
  `String`
  `getTaskType()`
  Return the type of task.
  `protected RuntimeConfigurable`
  `getWrapper()`
  Return the runtime configurable structure for this task.
  `protected void`
  `handleErrorFlush(String output)`
  Handles an error line by logging it with the WARN priority.
  `protected void`
  `handleErrorOutput(String output)`
  Handles an error output by logging it with the WARN priority.
  `protected void`
  `handleFlush(String output)`
  Handles output by logging it with the INFO priority.
  `protected int`
  `handleInput(byte[] buffer, int offset, int length)`
  Handle an input request by this task.
  `protected void`
  `handleOutput(String output)`
  Handles output by logging it with the INFO priority.
  `void`
  `init()`
  Called by the project to let the task initialize properly.
  `protected final boolean`
  `isInvalid()`
  Has this task been marked invalid?
  `void`
  `log(String msg)`
  Logs a message with the default (INFO) priority.
  `void`
  `log(String msg, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `log(String msg, Throwable t, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `log(Throwable t, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `maybeConfigure()`
  Configures this task - if it hasn't been done already.
  `final void`
  `perform()`
  Performs this task if it's still valid, or gets a replacement version and performs that otherwise.
  `void`
  `reconfigure()`
  Force the task to be reconfigured from its RuntimeConfigurable.
  `void`
  `setOwningTarget(Target target)`
  Sets the target container of this task.
  `void`
  `setRuntimeConfigurableWrapper(RuntimeConfigurable wrapper)`
  Sets the wrapper to be used for runtime configuration.
  `void`
  `setTaskName(String name)`
  Sets the name to use in logging messages.
  `void`
  `setTaskType(String type)`
  Sets the name with which the task has been invoked.

  ### Methods inherited from class ProjectComponent

  `clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`
  Modifier and Type
  Method
  Description
  `Object`
  `clone()`
  `String`
  `getDescription()`
  Returns the description of the current action.
  `Location`
  `getLocation()`
  Returns the file/location where this task was defined.
  `Project`
  `getProject()`
  Returns the project to which this component belongs.
  `void`
  `setDescription(String desc)`
  Sets a description of the current action.
  `void`
  `setLocation(Location location)`
  Sets the file/location where this task was defined.
  `void`
  `setProject(Project project)`
  Sets the project object of this component.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### ImportTask

    public ImportTask()

- ## Method Details

  - ### setOptional

    public void setOptional(boolean optional)
    sets the optional attribute
    Parameters:
      `optional` - if true ignore files that are not present, default is false

  - ### setFile

    public void setFile(String file)
    the name of the file to import. How relative paths are resolved is still in flux: use absolute paths for safety.
    Parameters:
      `file` - the name of the file

  - ### setAs

    public void setAs(String prefix)
    The prefix to use when prefixing the imported target names.
    Parameters:
      `prefix` - String
    Since:
      Ant 1.8.0

  - ### setPrefixSeparator

    public void setPrefixSeparator(String s)
    The separator to use between prefix and target name, default is ".".
    Parameters:
      `s` - String
    Since:
      Ant 1.8.0

  - ### add

    public void add(ResourceCollection r)
    The resource to import.
    Parameters:
      `r` - ResourceCollection
    Since:
      Ant 1.8.0

  - ### execute

    public void execute()
    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`

  - ### isInIncludeMode

    protected final boolean isInIncludeMode()
    Whether the task is in include (as opposed to import) mode.

    In include mode included targets are only known by their prefixed names and their depends lists get rewritten so that all dependencies get the prefix as well.

    In import mode imported targets are known by an adorned as well as a prefixed name and the unadorned target may be overwritten in the importing build file. The depends list of the imported targets is not modified at all.

    Returns:
      boolean
    Since:
      Ant 1.8.0