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> | |||