1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- Documenting T:NAnt.Core.Tasks.SetEnvTask-->
<head>
<meta http-equiv="Content-Language" content="en-ca" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="../style.css" />
<title><setenv> Task</title>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="2" class="NavBar">
<tr>
<td class="NavBar-Cell">
<a href="http://nant.sourceforge.net">
<b>NAnt</b>
</a>
<img alt="->" src="../images/arrow.gif" />
<a href="../index.html">Help</a>
<img alt="->" src="../images/arrow.gif" />
<a href="../tasks/index.html">Task Reference</a>
<img alt="->" src="../images/arrow.gif" /> <setenv></td>
<td class="NavBar-Cell" align="right">
v0.85</td>
</tr>
</table>
<h1><setenv></h1>
<p> Sets an environment variable or a whole collection of them. Use an empty <code>value</code> attribute to clear a variable. </p>
<p class="i2">
<b>Note:</b> Variables will be set for the current NAnt process and all child processes that NAnt spawns (compilers, shell tools, etc). If the intention is to only set a variable for a single child process, then using the <a href="../tasks/exec.html"><exec></a> task and its nested <code>environment</code> element might be a better option. </p>
<p class="i2">
<b>Note:</b> Expansion of inline environment variables is performed using the syntax of the current platform. So on Windows platforms using the string %PATH% in the <code>value</code> attribute will result in the value of the PATH variable being expanded in place before the variable is set. </p>
<h3>Parameters</h3>
<div class="table">
<table>
<tr>
<th>Attribute</th>
<th style="text-align: center;">Type</th>
<th>Description</th>
<th style="text-align: center;">Required</th>
</tr>
<tr>
<td valign="top">dir</td>
<td style="text-align: center;">directory</td>
<td> The value for a directory-based environment variable. NAnt will convert it to an absolute path. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">file</td>
<td style="text-align: center;">file</td>
<td> The value for a file-based environment variable. NAnt will convert it to an absolute filename. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">name</td>
<td style="text-align: center;">string</td>
<td> The name of a single Environment variable to set </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">path</td>
<td style="text-align: center;"><path></td>
<td> The value for a PATH like environment variable. You can use <code>:</code> or <code>;</code> as path separators and NAnt will convert it to the platform's local conventions. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">value</td>
<td style="text-align: center;">string</td>
<td> The literal value for the environment variable. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">failonerror</td>
<td style="text-align: center;">bool</td>
<td> Determines if task failure stops the build, or is just reported. The default is <b>true</b>. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">if</td>
<td style="text-align: center;">bool</td>
<td> If <b>true</b> then the task will be executed; otherwise, skipped. The default is <b>true</b>. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">unless</td>
<td style="text-align: center;">bool</td>
<td> Opposite of <code>if</code>. If <b>false</b> then the task will be executed; otherwise, skipped. The default is <b>false</b>. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">verbose</td>
<td style="text-align: center;">bool</td>
<td> Determines whether the task should report detailed build log messages. The default is <b>false</b>. </td>
<td style="text-align: center;">False</td>
</tr>
</table>
</div>
<h3>Nested Elements:</h3>
<!--Array-->
<!--NestedElementArray=T:NAnt.Core.Types.EnvironmentVariable-->
<h4>
<a id="variable">
</a>
<variable>
</h4>
<div class="nested-element">
<p> Represents an environment variable. </p>
<h3>Parameters</h3>
<div class="table">
<table>
<tr>
<th>Attribute</th>
<th style="text-align: center;">Type</th>
<th>Description</th>
<th style="text-align: center;">Required</th>
</tr>
<tr>
<td valign="top" class="required">name</td>
<td style="text-align: center;">string</td>
<td> The name of the environment variable. </td>
<td style="text-align: center;">True</td>
</tr>
<tr>
<td valign="top">dir</td>
<td style="text-align: center;">directory</td>
<td> The value for a directory-based environment variable. NAnt will convert it to an absolute path. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">file</td>
<td style="text-align: center;">file</td>
<td> The value for a file-based environment variable. NAnt will convert it to an absolute filename. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">if</td>
<td style="text-align: center;">bool</td>
<td> Indicates if the environment variable should be passed to the external program. If <b>true</b> then the environment variable will be passed; otherwise, skipped. The default is <b>true</b>. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">path</td>
<td style="text-align: center;"><path></td>
<td> The value for a PATH like environment variable. You can use <code>:</code> or <code>;</code> as path separators and NAnt will convert it to the platform's local conventions. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">unless</td>
<td style="text-align: center;">bool</td>
<td> Indicates if the environment variable should not be passed to the external program. If <b>false</b> then the environment variable will be passed; otherwise, skipped. The default is <b>false</b>. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">value</td>
<td style="text-align: center;">string</td>
<td> The literal value for the environment variable. </td>
<td style="text-align: center;">False</td>
</tr>
</table>
</div>
<h3>Nested Elements:</h3>
<!--Element-->
<h4>
<a id="path">
</a>
<<a href="../types/path.html">path</a>>
</h4>
<div class="nested-element"> Sets a single environment variable and treats it like a PATH - ensures the right separator for the local platform is used. <p /></div>
<h4>
<a id="path">
</a>
</<a href="../types/path.html">path</a>>
</h4>
</div>
<h4>
<a id="variable">
</a>
</variable>
</h4>
<h3>Examples</h3>
<ul class="examples">
<li>
<p>Set the MONO_PATH environment variable on a *nix platform.</p>
<pre class="code">
<setenv name=="MONO_PATH" value="/home/jimbob/dev/foo:%MONO_PATH%"/>
</pre>
</li>
<li>
<p>Set a collection of environment variables. Note the nested variable used to set var3.</p>
<pre class="code">
<setenv>
<variable name="var1" value="value2" />
<variable name="var2" value="value2" />
<variable name="var3" value="value3:%var2%" />
</setenv>
</pre>
</li>
<li>
<p>Set environment variables using nested path elements.</p>
<pre class="code">
<path id="build.path">
<pathelement dir="c:/windows" />
<pathelement dir="c:/cygwin/usr/local/bin" />
</path>
<setenv>
<variable name="build_path" >
<path refid="build.path" />
</variable>
<variable name="path2">
<path>
<pathelement dir="c:/windows" />
<pathelement dir="c:/cygwin/usr/local/bin" />
</path>
</variable>
</setenv>
</pre>
</li>
</ul>
<h3>Requirements</h3>
<div style="margin-left: 20px;">
<b>Assembly:</b> NAnt.Core (0.85.2478.0)
</div>
</body>
</html>
|