blob: 4f23713161dc5d2127c6ba0c5537551aab993bac [file] [log] [blame]
<!--
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"></meta>
<link rel="stylesheet" type="text/css" href="style.css">
<title>Dotnet Ant Library</title>
</head>
<body>
<h2>Introduction</h2>
<p>The Apache .NET Ant Library&trade; is a library of Apache
Ant&trade; tasks developed by <a href="http://www.apache.org/">The
Apache Software Foundation</a> 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> or <a
href="http://www.nunit.org/">NUnit</a> from within Ant.</p>
<p>The original .NET support from Ant's core has also been moved
to this library.</p>
<h2>Requirements</h2>
<p>The current version requires Ant 1.7.0 or later.</p>
<h2>Where is it?</h2>
<p>The source code for the library lives in Ant's SVN - <a
href="http://svn.apache.org/repos/asf/ant/antlibs/dotnet/trunk/">http://svn.apache.org/repos/asf/ant/antlibs/dotnet/trunk/</a>,
binary and source distributions are available available from the
Ant website: <a
href="http://ant.apache.org/antlibs/srcdownload.cgi">source</a>
and <a
href="http://ant.apache.org/antlibs/bindownload.cgi">binary</a>.</p>
<h2>Feedback</h2>
<p>Please use <a href="http://issues.apache.org/bugzilla/">Ant's
issue tracker</a> for bug reports, choose "Ant" as the product and
".NET Antlib" as the category. The <a
href="http://ant.apache.org/bugs.html">hints</a> about reporting
bugs certainly apply to this Ant library as well.</p>
<p>For questions about this Ant library use the user or dev <a
href="http://ant.apache.org/mail.html">mailing list</a> of the Ant
project. You must be subscribed to the list in order to post a
question.</p>
<h2>Installation</h2>
<p>If you are building this from sources, run the antlib target
and you'll get a file <code>ant-dotnet.jar</code>. If you've
downloaded a binary release, you are already there.</p>
<p>There are several ways to use the tasks:</p>
<ul>
<li>The traditional way:
<pre>
&lt;taskdef
resource="org/apache/ant/dotnet/antlib.xml"&gt;
&lt;classpath&gt;
&lt;pathelement location="YOUR-PATH-TO/ant-dotnet.jar"/&gt;
&lt;/classpath&gt;
&lt;/taskdef&gt;
</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
&lt;exec&gt; without any namespace prefix, you can do so for
&lt;dotnetexec&gt; as well.
</li>
<li>Similar, but assigning a namespace URI
<pre>
&lt;taskdef
uri="antlib:org.apache.ant.dotnet"
resource="org/apache/ant/dotnet/antlib.xml"&gt;
&lt;classpath&gt;
&lt;pathelement location="YOUR-PATH-TO/ant-dotnet.jar"/&gt;
&lt;/classpath&gt;
&lt;/taskdef&gt;
</pre>
This puts you task into a separate namespace than Ant's
namespace. You would use the tasks like
<pre>
&lt;project
xmlns:dn="antlib:org.apache.ant.dotnet"
xmlns="antlib:org.apache.tools.ant"&gt;
...
&lt;dn:nant&gt;
&lt;dn:target name="my-target"/&gt;
&lt;/dn:nant&gt;
</pre>
or
<pre>
&lt;nant xmlns="antlib:org.apache.ant.dotnet"&gt;
&lt;target name="my-target"/&gt;
&lt;/nant&gt;
</pre>
or a variation thereof.
</li>
<li>Using Ant's autodiscovery. Place <code>ant-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>
&lt;project
xmlns:dn="antlib:org.apache.ant.dotnet"
xmlns="antlib:org.apache.tools.ant"&gt;
</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="old-core.html">The old code .NET tasks</a>
including C#, VB.NET and J# compiler tasks.</li>
<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="fsc.html">fsc</a> - F# compiler task.</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 of Microsoft's .NET framework 2.0.</li>
<li><a href="wix.html">wix</a> - execute candle and/or light of
the WiX toolset.</li>
<li><a href="tallow.html">tallow</a> - execute tallow of the WiX
toolset.</li>
<li><a href="nunit.html">nunit</a> - execute the
nunit-console.exe <a href="http://www.nunit.org/">NUnit</a>
test runner.</li>
</ul>
<p class="copyright">
Apache Ant, Apache .NET Ant Library, Ant, .NET Ant Library, Apache, the Apache feather logo, and the Apache Ant project logos are trademarks of The Apache Software Foundation.
</p>
</body>
</html>