aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/manual/Tasks/chmod.html
diff options
context:
space:
mode:
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.html225
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>&lt;fileset&gt;</code> or
+<code>&lt;dirset&gt;</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>&lt;fileset/list&gt;</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>&lt;chmod&nbsp;dir="some-dir"/&gt;</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
+ (&quot;yes&quot;/&quot;no&quot;). 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 &lt;= 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">&lt;os&gt;</a> condition.</td>
+ <td align="center" valign="top">No - defaults to "unix"</td>
+ </tr>
+</table>
+<h3>Examples</h3>
+ <blockquote><pre>
+&lt;chmod file=&quot;${dist}/start.sh&quot; perm=&quot;ugo+rx&quot;/&gt;
+</pre></blockquote>
+<p>makes the &quot;start.sh&quot; file readable and executable for anyone on a
+UNIX system.</p>
+<blockquote><pre>
+&lt;chmod file=&quot;${dist}/start.sh&quot; perm=&quot;700&quot;/&gt;
+</pre></blockquote>
+<p>makes the &quot;start.sh&quot; file readable, writable and executable only for the owner on a
+UNIX system.</p>
+<blockquote>
+<pre>
+&lt;chmod dir=&quot;${dist}/bin&quot; perm=&quot;ugo+rx&quot;
+ includes=&quot;**/*.sh&quot;/&gt;
+</pre>
+</blockquote>
+<p>makes all &quot;.sh&quot; files below <code>${dist}/bin</code>
+readable and executable for anyone on a UNIX system.</p>
+<blockquote>
+<pre>
+&lt;chmod perm=&quot;g+w&quot;&gt;
+ &lt;fileset dir=&quot;shared/sources1&quot;&gt;
+ &lt;exclude name=&quot;**/trial/**&quot;/&gt;
+ &lt;/fileset&gt;
+ &lt;fileset refid=&quot;other.shared.sources&quot;/&gt;
+&lt;/chmod&gt;
+</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>
+&lt;chmod perm=&quot;go-rwx&quot; type=&quot;file&quot;&gt;
+ &lt;fileset dir=&quot;/web&quot;&gt;
+ &lt;include name=&quot;**/*.cgi&quot;/&gt;
+ &lt;include name=&quot;**/*.old&quot;/&gt;
+ &lt;/fileset&gt;
+ &lt;dirset dir=&quot;/web&quot;&gt;
+ &lt;include name=&quot;**/private_*&quot;/&gt;
+ &lt;/dirset&gt;
+&lt;/chmod&gt;
+</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>
+