diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/manual/Tasks/chmod.html')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/manual/Tasks/chmod.html | 225 |
1 files changed, 225 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/manual/Tasks/chmod.html b/framework/src/ant/apache-ant-1.9.6/manual/Tasks/chmod.html new file mode 100644 index 00000000..74e71d0a --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/manual/Tasks/chmod.html @@ -0,0 +1,225 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<html> + +<head> +<meta http-equiv="Content-Language" content="en-us"> +<link rel="stylesheet" type="text/css" href="../stylesheets/style.css"> +<title>Chmod Task</title> +</head> + +<body> + +<h2><a name="chmod">Chmod</a></h2> +<h3>Description</h3> +<p>Changes the permissions of a file or all files inside specified +directories. Right now it has effect only under Unix or NonStop Kernel (Tandem). +The permissions are also UNIX style, like the argument for the chmod command.</p> +<p>See the section on <a href="../dirtasks.html#directorybasedtasks">directory based +tasks</a>, on how the inclusion/exclusion of files works, and how to +write patterns.</p> + +<p>This task holds an implicit <a +href="../Types/fileset.html">FileSet</a> and supports all of +FileSet's attributes and nested elements directly. More sets can be +specified using nested <code><fileset></code> or +<code><dirset></code> (<em>since Apache Ant 1.6</em>) elements. </p> + +<p>Starting with Ant 1.6, this task also supports nested <a +href="../Types/filelist.html">filelist</a>s.</p> + +<p>Starting with Ant 1.7, this task supports arbitrary <a +href="../Types/resources.html#collection">Resource Collection</a>s +as nested elements.</p> + +<p>By default this task will use a single invocation of the underlying +chmod command. If you are working on a large number of files this may +result in a command line that is too long for your operating system. +If you encounter such problems, you should set the maxparallel +attribute of this task to a non-zero value. The number to use highly +depends on the length of your file names (the depth of your directory +tree) and your operating system, so you'll have to experiment a +little. POSIX recommends command line length limits of at least 4096 +characters, this may give you an approximation for the number you +could use as initial value for these experiments.</p> + +<p>By default this task won't do anything unless it detects it is + running on a Unix system. If you know for sure that you have a + "chmod" executable on your PATH that is command line compatible with + the Unix command, you can use the task's os attribute and set its + value to your current os.</p> + +<h3>Parameters</h3> +<table border="1" cellpadding="2" cellspacing="0"> + <tr> + <td valign="top"><b>Attribute</b></td> + <td valign="top"><b>Description</b></td> + <td align="center" valign="top"><b>Required</b></td> + </tr> + <tr> + <td valign="top">file</td> + <td valign="top">the file or single directory of which the permissions + must be changed.</td> + <td valign="top" valign="middle" rowspan="2">exactly one of the two or nested <code><fileset/list></code> elements.</td> + </tr> + <tr> + <td valign="top">dir</td> + <td valign="top">the directory which holds the files whose permissions + must be changed.<br/> + <b>Note:</b> for backwards compatibility + reasons <code><chmod dir="some-dir"/></code> will + only change the permissions on "some-dir" but not recurse into + it, unless you also specify any patterns.</td> + </tr> + <tr> + <td valign="top">perm</td> + <td valign="top">the new permissions.</td> + <td valign="top" align="center">Yes</td> + </tr> + <tr> + <td valign="top">includes</td> + <td valign="top">comma- or space-separated list of patterns of files that must be + included.</td> + <td valign="top" align="center">No</td> + </tr> + <tr> + <td valign="top">excludes</td> + <td valign="top">comma- or space-separated list of patterns of files that must be + excluded. No files (except default excludes) are excluded when omitted.</td> + <td valign="top" align="center">No</td> + </tr> + <tr> + <td valign="top">defaultexcludes</td> + <td valign="top">indicates whether default excludes should be used or not + ("yes"/"no"). Default excludes are used when omitted.</td> + <td valign="top" align="center">No</td> + </tr> + <tr> + <td valign="top">parallel</td> + <td valign="top">process all specified files using a single + <code>chmod</code> command. Defaults to true.</td> + <td valign="top" align="center">No</td> + </tr> + <tr> + <td valign="top">type</td> + <td valign="top">One of <i>file</i>, <i>dir</i> or + <i>both</i>. If set to <i>file</i>, only the permissions of + plain files are going to be changed. If set to <i>dir</i>, only + the directories are considered.<br> + <strong>Note:</strong> The type attribute does not apply to + nested <i>dirset</i>s - <i>dirset</i>s always implicitly + assume type to be <i>dir</i>.</td> + <td align="center" valign="top">No, default is <i>file</i></td> + </tr> + <tr> + <td valign="top">maxparallel</td> + <td valign="top">Limit the amount of parallelism by passing at + most this many sourcefiles at once. Set it to <= 0 for + unlimited. Defaults to unlimited. <em>Since Ant 1.6.</em></td> + <td align="center" valign="top">No</td> + </tr> + <tr> + <td valign="top">verbose</td> + <td valign="top">Whether to print a summary after execution or not. + Defaults to <code>false</code>. <em>Since Ant 1.6.</em></td> + <td align="center" valign="top">No</td> + </tr> + <tr> + <td valign="top">os</td> + <td valign="top">list of Operating Systems on which the command may be + executed.</td> + <td align="center" valign="top">No</td> + </tr> + <tr> + <td valign="top">osfamily</td> + <td valign="top">OS family as used in + the <a href="conditions.html#os"><os></a> condition.</td> + <td align="center" valign="top">No - defaults to "unix"</td> + </tr> +</table> +<h3>Examples</h3> + <blockquote><pre> +<chmod file="${dist}/start.sh" perm="ugo+rx"/> +</pre></blockquote> +<p>makes the "start.sh" file readable and executable for anyone on a +UNIX system.</p> +<blockquote><pre> +<chmod file="${dist}/start.sh" perm="700"/> +</pre></blockquote> +<p>makes the "start.sh" file readable, writable and executable only for the owner on a +UNIX system.</p> +<blockquote> +<pre> +<chmod dir="${dist}/bin" perm="ugo+rx" + includes="**/*.sh"/> +</pre> +</blockquote> +<p>makes all ".sh" files below <code>${dist}/bin</code> +readable and executable for anyone on a UNIX system.</p> +<blockquote> +<pre> +<chmod perm="g+w"> + <fileset dir="shared/sources1"> + <exclude name="**/trial/**"/> + </fileset> + <fileset refid="other.shared.sources"/> +</chmod> +</pre> +</blockquote> +<p>makes all files below <code>shared/sources1</code> (except those +below any directory named trial) writable for members of the same +group on a UNIX system. In addition all files belonging to a FileSet +with <code>id</code> <code>other.shared.sources</code> get the same +permissions.</p> + +<blockquote> +<pre> +<chmod perm="go-rwx" type="file"> + <fileset dir="/web"> + <include name="**/*.cgi"/> + <include name="**/*.old"/> + </fileset> + <dirset dir="/web"> + <include name="**/private_*"/> + </dirset> +</chmod> +</pre> +</blockquote> + +<p>keeps non-owners from touching cgi scripts, files with a <code>.old</code> +extension or directories beginning with <code>private_</code>. A directory +ending in <code>.old</code> or a file beginning with private_ would remain +unaffected.</p> + + + <h3>Note on maxparallel attribute</h3> + <p> + Some shells have a limit of the number of characters that + a command line may contain. + This maximum limit varies from shell to shell and from operating + system to operating system. + If one has a large number of files to change mode on, consider + using the <em>maxparallel</em> attribute. For example + when using AIX and the limit is reached, the system responds + with a warning: "Warning: + UNIXProcess.forkAndExec native error: The parameter or environment lists + are too long". A value of about 300 seems to result in a + command line that is acceptable. + </p> +</body> +</html> + |