## org.apache.tools.ant.taskdefs
Class Chmod

    java.lang.Object
      |
      +--org.apache.tools.ant.ProjectComponent
            |
            +--org.apache.tools.ant.Task
                  |
                  +--org.apache.tools.ant.taskdefs.ExecTask
                        |
                        +--org.apache.tools.ant.taskdefs.ExecuteOn
                              |
                              +--org.apache.tools.ant.taskdefs.Chmod

public class Chmod
extends ExecuteOn

Chmod equivalent for unix-like environments.

Since:
  Ant 1.1
To do:
  Refactor so it does not extend from ExecuteOn and then turn around and unsupport several attributes.

Nested Class Summary

Nested classes inherited from class org.apache.tools.ant.taskdefs.ExecuteOn
`ExecuteOn.FileDirBoth`

Field Summary

Fields inherited from class org.apache.tools.ant.taskdefs.ExecuteOn
`destDir, filesets, mapper, mapperElement, srcFilePos, srcIsFirst, targetFilePos, type`

Fields inherited from class org.apache.tools.ant.taskdefs.ExecTask
`cmdl, failOnError, newEnvironment, redirector, redirectorElement`

Fields inherited from class org.apache.tools.ant.Task
`description, location, target, taskName, taskType, wrapper`

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

Constructor Summary
`Chmod()` Chmod task for setting file and directory permissions.

Method Summary
`protected void` `checkConfiguration()` Check the configuration of this ExecuteOn instance.
`PatternSet.NameEntry` `createExclude()` Add a name entry on the exclude list.
`PatternSet.NameEntry` `createInclude()` Add a name entry on the include list.
`PatternSet` `createPatternSet()` Add a set of patterns.
`void` `execute()` Do the work.
`protected boolean` `isValidOs()` Is this the OS the user wanted?
`void` `setAddsourcefile(boolean b)` Set whether to send the source file name on the command line.
`void` `setCommand(Commandline cmdl)` Sets a command line.
`void` `setDefaultexcludes(boolean useDefaultExcludes)` Sets whether default exclusions should be used or not.
`void` `setDir(java.io.File src)` The directory which holds the files whose permissions must be changed.
`void` `setExcludes(java.lang.String excludes)` Sets the set of exclude patterns.
`void` `setExecutable(java.lang.String e)` Set the name of the executable program.
`void` `setFile(java.io.File src)` The file or single directory of which the permissions must be changed.
`void` `setIncludes(java.lang.String includes)` Sets the set of include patterns.
`void` `setPerm(java.lang.String perm)` The new permissions.
`void` `setProject(Project project)` Sets the project object of this component.
`void` `setSkipEmptyFilesets(boolean skip)` Set whether empty filesets will be skipped.

Methods inherited from class org.apache.tools.ant.taskdefs.ExecuteOn
`add, addDirset, addFilelist, addFileset, createHandler, createMapper, createSrcfile, createTargetfile, getCommandline, getCommandline, getDirs, getFiles, getFilesAndDirs, runExec, runParallel, setDest, setForce, setForwardslash, setIgnoremissing, setMaxParallel, setParallel, setRelative, setType, setupRedirector, setVerbose`

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

`addConfiguredRedirector, addEnv, createArg, createWatchdog, getResolveExecutable, logFlush, maybeSetResultPropertyValue, prepareExec, resolveExecutable, runExecute, setAppend, setError, setErrorProperty, setFailIfExecutionFails, setFailonerror, setInput, setInputString, setLogError, setNewenvironment, setOs, setOutput, setOutputproperty, setResolveExecutable, setResultProperty, setSearchPath, setSpawn, setTimeout, setTimeout, setVMLauncher`

Methods inherited from class org.apache.tools.ant.Task
`getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, maybeConfigure, perform, reconfigure, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

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

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

Constructor Detail

### Chmod

    public Chmod()

  Chmod task for setting file and directory permissions.

Method Detail

### setProject

    public void setProject(Project project)

  Description copied from class: `ProjectComponent`
  Sets the project object of this component. This method is used by Project when a component is added to it so that the component has access to the functions of the project. It should not be used for any other purpose.

  Overrides:
    `setProject` in class `ProjectComponent`
  Parameters:
    `project` - Project in whose scope this component belongs. Must not be `null`.
  See Also:
    `ProjectComponent.setProject(org.apache.tools.ant.Project)`

### setFile

    public void setFile(java.io.File src)

  The file or single directory of which the permissions must be changed.

  Parameters:
    `src` -

### setDir

    public void setDir(java.io.File src)

  The directory which holds the files whose permissions must be changed.

  Overrides:
    `setDir` in class `ExecTask`
  Parameters:
    `src` -

### setPerm

    public void setPerm(java.lang.String perm)

  The new permissions.

  Parameters:
    `perm` -

### createInclude

    public PatternSet.NameEntry createInclude()

  Add a name entry on the include list.

### createExclude

    public PatternSet.NameEntry createExclude()

  Add a name entry on the exclude list.

### createPatternSet

    public PatternSet createPatternSet()

  Add a set of patterns.

### setIncludes

    public void setIncludes(java.lang.String includes)

  Sets the set of include patterns. Patterns may be separated by a comma or a space.

  Parameters:
    `includes` - the string containing the include patterns

### setExcludes

    public void setExcludes(java.lang.String excludes)

  Sets the set of exclude patterns. Patterns may be separated by a comma or a space.

  Parameters:
    `excludes` - the string containing the exclude patterns

### setDefaultexcludes

    public void setDefaultexcludes(boolean useDefaultExcludes)

  Sets whether default exclusions should be used or not.

  Parameters:
    `useDefaultExcludes` - "true"|"on"|"yes" when default exclusions should be used, "false"|"off"|"no" when they shouldn't be used.

### checkConfiguration

    protected void checkConfiguration()

  Description copied from class: `ExecuteOn`
  Check the configuration of this ExecuteOn instance.

  Overrides:
    `checkConfiguration` in class `ExecuteOn`

### execute

    public void execute()
                 throws BuildException

  Description copied from class: `ExecTask`
  Do the work.

  Overrides:
    `execute` in class `ExecTask`
  Throws:
    `BuildException` - in a number of circumstances:
    - if failIfExecFails is set to true and the process cannot be started
    - the java13command launcher can send build exceptions
    - this list is not exhaustive or limitative

### setExecutable

    public void setExecutable(java.lang.String e)

  Description copied from class: `ExecTask`
  Set the name of the executable program.

  Overrides:
    `setExecutable` in class `ExecTask`
  Parameters:
    `e` - the name of the executable program.

### setCommand

    public void setCommand(Commandline cmdl)

  Description copied from class: `ExecTask`
  Sets a command line.

  Overrides:
    `setCommand` in class `ExecTask`
  Parameters:
    `cmdl` - command line.

### setSkipEmptyFilesets

    public void setSkipEmptyFilesets(boolean skip)

  Description copied from class: `ExecuteOn`
  Set whether empty filesets will be skipped. If true and no source files have been found or are newer than their corresponding target files, the command will not be run.

  Overrides:
    `setSkipEmptyFilesets` in class `ExecuteOn`
  Parameters:
    `skip` - whether to skip empty filesets.

### setAddsourcefile

    public void setAddsourcefile(boolean b)

  Description copied from class: `ExecuteOn`
  Set whether to send the source file name on the command line.

  Defaults to `true`.

  Overrides:
    `setAddsourcefile` in class `ExecuteOn`
  Parameters:
    `b` - whether to add the source file to the command line.

### isValidOs

    protected boolean isValidOs()

  Description copied from class: `ExecTask`
  Is this the OS the user wanted?

  Overrides:
    `isValidOs` in class `ExecTask`
  Returns:
    boolean.
    - `true` if the os under which Ant is running is matches one os in the os attribute or if the os attribute is null
    - `false` otherwise.

Copyright © 2000-2005 Apache Software Foundation. All Rights Reserved.