git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@275716 13f79535-47bb-0310-9956-ffa450edef68master
@@ -0,0 +1,32 @@ | |||
<html> | |||
<head> | |||
<meta http-equiv="Content-Language" content="en-us"></meta> | |||
<title>DotNetExec Task</title> | |||
</head> | |||
<body> | |||
<h2><a name="dotnetexec">DotNetExec</a></h2> | |||
<h3>Description</h3> | |||
<p>Executes a .NET assembly that's on your PATH or pointed to | |||
directly by the executable attribute.</p> | |||
<p>This task is an extension of Ant's <a | |||
href="http://ant.apache.org/manual/CoreTasks/exec.html">exec</a> | |||
task and supports all attributes and nested child elements of that | |||
task. Use the executable attribute to specify the name of the | |||
assembly (including the extension).</p> | |||
<p>This task allows you to choose the .NET framework via the | |||
<code>vm</code> attribute. The default value is "microsoft" on | |||
Windows and "mono" on all other platforms. "microsoft" is a magic | |||
name that means "run the assembly as executable directly" - this | |||
may also work for Mono on Linux systems with the binfmt feature | |||
described in the <a | |||
href="http://www.go-mono.org/faq.html#q86">Mono FAQ</a>.</p> | |||
<hr/> | |||
<p align="center">Copyright © 2003 Apache Software Foundation. All rights Reserved.</p> | |||
</body> | |||
</html> |
@@ -0,0 +1,119 @@ | |||
<html> | |||
<head> | |||
<meta http-equiv="Content-Language" content="en-us"></meta> | |||
<title>Dotnet Ant Library</title> | |||
</head> | |||
<body> | |||
<h2>Introduction</h2> | |||
<p>This is a library of Ant tasks that support using .NET | |||
executables accross different platforms and in particular support | |||
using common .NET development tools like <a | |||
href="http://nant.sourceforge.net/">NAnt</a> from within Ant.</p> | |||
<h2>Requirements</h2> | |||
<p>The current version will only work for a CVS build of Ant | |||
created from CVS HEAD (i.e. after Ant 1.6's feature freeze) of | |||
2003-11-27 or later. A version that can work with Ant 1.6 may be | |||
provided at a later stage. This task library is never going to | |||
work with Ant < 1.6.</p> | |||
<h2>Installation</h2> | |||
<p>If you are building this from sources, run the antlib target | |||
and you'll get a file <code>dotnet.jar</code>. If you've | |||
downloaded <code>dotnet.jar</code>, you are already ready.</p> | |||
<p>There are several ways to use the tasks:</p> | |||
<ul> | |||
<li>The traditional way: | |||
<pre> | |||
<taskdef | |||
resource="org/apache/tools/ant/taskdefs/optional/dotnet/antlib.xml"> | |||
<classpath> | |||
<pathelement location="YOUR-PATH-TO/dotnet.jar"/> | |||
</classpath> | |||
</taskdef> | |||
</pre> | |||
With this you can use the tasks like plain Ant tasks, they'll | |||
live in the default namespace. I.e. if you can run | |||
<exec> without any namespace prefix, you can do so for | |||
<dotnetexec> as well. | |||
</li> | |||
<li>Similar, but assigning a namespace URI | |||
<pre> | |||
<taskdef | |||
uri="antlib:org.apache.tools.ant.taskdefs.optional.dotnet" | |||
resource="org/apache/tools/ant/taskdefs/optional/dotnet/antlib.xml"> | |||
<classpath> | |||
<pathelement location="YOUR-PATH-TO/dotnet.jar"/> | |||
</classpath> | |||
</taskdef> | |||
</pre> | |||
This puts you task into a separate namespace than Ant's | |||
namespace. You would use the tasks like | |||
<pre> | |||
<project | |||
xmlns:dn="antlib:org.apache.tools.ant.taskdefs.optional.dotnet" | |||
xmlns="antlib:org.apache.tools.ant"> | |||
... | |||
<dn:nant> | |||
<dn:target name="my-target"/> | |||
</dn:nant> | |||
</pre> | |||
or | |||
<pre> | |||
<nant xmlns="antlib:org.apache.tools.ant.taskdefs.optional.dotnet"> | |||
<target name="my-target"/> | |||
</nant> | |||
</pre> | |||
or a variation thereof. | |||
</li> | |||
<li>Using Ant's autodiscovery. Place <code>dotnet.jar</code> | |||
into a directory and use <code>ant -lib | |||
DIR-CONTAINING-THE-JAR</code> or copy it into | |||
<code>ANT_HOME/lib</code> - and then in your build file, simply | |||
declare the namespace on the <code>project</code> tag: | |||
<pre> | |||
<project | |||
xmlns:dn="antlib:org.apache.tools.ant.taskdefs.optional.dotnet" | |||
xmlns="antlib:org.apache.tools.ant"> | |||
</pre> | |||
And all tasks of this library will automatically be available | |||
in the <code>dn</code> namespace without any | |||
<code>taskdef</code>. | |||
</li> | |||
</ul> | |||
<h2>Tasks</h2> | |||
<ul> | |||
<li><a href="dotnetexec.html">dotnetexec</a> - run a .NET | |||
assembly that's in your PATH. You can chose the framework that | |||
is going to be used - defaults to Mono on non-Windows platforms | |||
and Microsoft's on Windows.</li> | |||
<li><a href="nant.html">nant</a> - execute the NAnt build | |||
tool.</li> | |||
<li><a href="msbuild.html">msbuild</a> - execute the MSBuild build | |||
tool, untested.</li> | |||
</ul> | |||
<hr/> | |||
<p align="center">Copyright © 2003 Apache Software Foundation. All rights Reserved.</p> | |||
</body> | |||
</html> |
@@ -0,0 +1,110 @@ | |||
<html> | |||
<head> | |||
<meta http-equiv="Content-Language" content="en-us"></meta> | |||
<title>MSBuild Task</title> | |||
</head> | |||
<body> | |||
<h2><a name="dotnetexec">MSBuild</a></h2> | |||
<h3>Description</h3> | |||
<p>Runs the MSBuild build tool presented at the 2003 PDC. This | |||
task is completely untested as the developers have no access to | |||
the tool, it has been implemented by looking at the docs only.</p> | |||
<p>You can either use an existing build file or nest a build file | |||
(snippet) as a child into the task. If you don't specify either, | |||
MSBuild's default build file search algorithm will apply. Nesting | |||
build file snippets is most probably not working correctly.</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">buildfile</td> | |||
<td valign="top">External build file to invoke MSBuild on.</td> | |||
<td align="center">No.</td> | |||
</tr> | |||
<tr> | |||
<td valign="top">vm</td> | |||
<td valign="top">Same as <a | |||
href="dotnetexec.html">dotnetexec</a>'s vm attribute. | |||
Specify the framework to use.</td> | |||
<td align="center">No.</td> | |||
</tr> | |||
</table> | |||
<h3>Parameters specified as nested elements</h3> | |||
<h4>target</h4> | |||
<p><code>target</code> has a single required attribute name - | |||
specifies a target to be run.</p> | |||
<h4>property</h4> | |||
<p><code>property</code> has two required attributes. name and | |||
value that specify name and value of a property that is to be | |||
defined in the MSBuild invocation.</p> | |||
<h4>build</h4> | |||
<p>This element allows no attributes. You can nest a MSBuild build | |||
file into it and MSBuild will be executed on that. You can also nest | |||
a build file snippet instead and Ant will wrap the necessary MSBuild | |||
<code><Project> around it.</code></p> | |||
<h3>Examples</h3> | |||
<p>Let MSBuild search for a *.proj file in the (Ant) project's base | |||
directory and execute the default target in it:</p> | |||
<pre><msbuild/></pre> | |||
<p>Let MSBuild execute the targets named foo and bar in the build | |||
file msbuild.proj in Ant's basedir and pass the property | |||
<code>/property:test=testvalue</code> to it:</p> | |||
<pre> | |||
<msbuild buildfile="msbuild.proj"> | |||
<target name="foo"/> | |||
<target name="bar"/> | |||
<property name="test" value="testvalue"/> | |||
</msbuild> | |||
</pre> | |||
<p>Define a build file embeded into the task, let MSBuild execute the | |||
echo target of that build file.</p> | |||
<pre> | |||
<msbuild> | |||
<target name="echo"> | |||
<build> | |||
<Project DefaultTargets="empty"> | |||
<Target Name="empty"/> | |||
<Target Name="echo"> | |||
<Task Name="Echo" Message="This is MSBuild"/> | |||
</Target> | |||
</Project> | |||
</build> | |||
</msbuild> | |||
</pre> | |||
<p>Run MSBuild's Echo task (if there actually is one):</p> | |||
<pre> | |||
<msbuild> | |||
<build> | |||
<Task Name="Echo" Message="This is MSBuild"/> | |||
</build> | |||
</msbuild> | |||
</pre> | |||
<hr/> | |||
<p align="center">Copyright © 2003 Apache Software Foundation. All rights Reserved.</p> | |||
</body> | |||
</html> |
@@ -0,0 +1,108 @@ | |||
<html> | |||
<head> | |||
<meta http-equiv="Content-Language" content="en-us"></meta> | |||
<title>NAnt Task</title> | |||
</head> | |||
<body> | |||
<h2><a name="dotnetexec">NAnt</a></h2> | |||
<h3>Description</h3> | |||
<p>Runs the <a href="http://nant.sourceforge.net/">NAnt</a> build | |||
tool.</p> | |||
<p>You can either use an existing build file or nest a build file | |||
(snippet) as a child into the task. If you don't specify either, | |||
NAnt's default build file search algorithm will apply.</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">buildfile</td> | |||
<td valign="top">External build file to invoke NAnt on.</td> | |||
<td align="center">No.</td> | |||
</tr> | |||
<tr> | |||
<td valign="top">vm</td> | |||
<td valign="top">Same as <a | |||
href="dotnetexec.html">dotnetexec</a>'s vm attribute. | |||
Specify the framework to use.</td> | |||
<td align="center">No.</td> | |||
</tr> | |||
</table> | |||
<h3>Parameters specified as nested elements</h3> | |||
<h4>target</h4> | |||
<p><code>target</code> has a single required attribute name - | |||
specifies a target to be run.</p> | |||
<h4>property</h4> | |||
<p><code>property</code> has two required attributes. name and | |||
value that specify name and value of a property that is to be | |||
defined in the NAnt invocation.</p> | |||
<h4>build</h4> | |||
<p>This element allows no attributes. You can nest a NAnt build | |||
file into it and NAnt will be executed on that. You can also nest | |||
a build file snippet instead and Ant will wrap the necessary NAnt | |||
<code><project> around it.</code></p> | |||
<h3>Examples</h3> | |||
<p>Let NAnt search for a *.build file in the (Ant) project's base | |||
directory and execute the default target in it:</p> | |||
<pre><nant/></pre> | |||
<p>Let NAnt execute the targets named foo and bar in the build | |||
file nant.build in Ant's basedir and pass the property | |||
<code>-D:test=testvalue</code> to it:</p> | |||
<pre> | |||
<nant buildfile="nant.build"> | |||
<target name="foo"/> | |||
<target name="bar"/> | |||
<property name="test" value="testvalue"/> | |||
</nant> | |||
</pre> | |||
<p>Define a build file embeded into the task, let NAnt execute the | |||
echo target of that build file.</p> | |||
<pre> | |||
<nant> | |||
<target name="echo"> | |||
<build> | |||
<project basedir="." default="empty"> | |||
<target name="empty"/> | |||
<target name="echo"> | |||
<echo message="this is NAnt"/> | |||
</target> | |||
</project> | |||
</build> | |||
</nant> | |||
</pre> | |||
<p>Run NAnt's echo task:</p> | |||
<pre> | |||
<nant> | |||
<build> | |||
<echo message="this is NAnt"/> | |||
</build> | |||
</nant> | |||
</pre> | |||
<hr/> | |||
<p align="center">Copyright © 2003 Apache Software Foundation. All rights Reserved.</p> | |||
</body> | |||
</html> |