-) Added new archetype section to cover Martin Gildays new maven2 archetype stuff.
-) Moved maven1 to the bottom of the page as chronological ordering doesn't seem to matter as much as "most likely to use".
-) Played with margins on maven page to set overal content width to be 80%.
diff --git a/doc/maven.html b/doc/maven.html
index 7589503..8698599 100644
--- a/doc/maven.html
+++ b/doc/maven.html
@@ -28,14 +28,208 @@
*.T5 { color:#353535; font-family:Sans; font-size:10pt; }
*.T6 { color:#a52a2a; font-family:Sans; font-size:10pt; font-weight:bold; }
*.T7 { color:#a52a2a; font-family:Sans; font-size:10pt; }
+ p,pre { width: 80%; }
+
+ ul.toc {
+ list-style: none;
+ margin:0 0.7em 0;
+ padding:0;
+ font-family: verdana, arial, sans-serif;
+ }
+ ul.toc li {
+ padding:0;
+ margin: 0.2em 0 0;
+ }
+ ul ul {
+ margin:0 2em 0;
+ padding: 0;
+ list-style-type: none;
+ }
+ li a {
+ display: block;
+ text-decoration: none;
+ padding: 2px 10px;
+ width: 140px;
+ }
+ ul.sub li a {
+ display: block;
+ border-bottom: 1px solid #aaa;
+ border-top: none;
+ padding: 2px 10px;
+ background-color: transparent;
+ }
</style>
<h2>TestNG Maven plug-ins</h2>
+
+<h4>Table of Contents</h4>
+<ul class="toc">
+ <li class="first">
+ <a class="summary" href="#maven2">Maven2 Plugin</a>
+
+ <ul class="sub">
+ <li><a href="#archetype">Archetype</a></li>
+ </ul>
+ </li>
+
+ <li class="last"><a class="summary" href="#maven1">Maven 1 Plugin</a></li>
+</ul>
+
<!--
TestNG has plug-ins for both Maven 1 and Maven 2.
-->
-<h3>Maven 1 (by Andrew Glover)</h3>
+<!-- begin maven2 -->
+<h3 id="maven2">Maven 2</h3>
+
+<p>Maven2 has changed quite a bit from the first release. Maven2 should support TestNG out of
+the box without the need to download any additional plugins <em>(other than TestNG itself)</em>. In fact,
+other than specifying testng as one of your build dependencies, most people shouldn't really have
+to do any other configuration for the majority of cases. Most of it just works.</p>
+
+<h4>Snapshot Build Updates</h4>
+<p>
+ A few issues have cropped up in the latest TestNG / maven2 plugin from the standard distributions that have been fixed
+ but are still available only in snapshot form. The latest current good version of the plugin that you want is
+ <b>2.4-SNAPSHOT</b>.
+</p>
+<p>
+ To get the apache ibiblio snapshot repository added to your maven project you will need to add a section like
+ the following to your <code>pom.xml</code>:
+</p>
+
+<pre class="prettyprint">
+<pluginRepositories>
+ <pluginRepository>
+ <id>apache.snapshots</id>
+ <url>http://people.apache.org/repo/m2-snapshot-repository/</url>
+ </pluginRepository>
+</pluginRepositories>
+</pre>
+
+<h4>Reference</h4>
+<p>Though this section will include a lot more TestNG specific
+features, the overall test plugin properties should be mostly
+covered on mavens site.</p>
+
+<em>Maven2 TestNG Documentation:</em> <a href="http://maven.apache.org/plugins/maven-surefire-plugin/testng.html">Maven TestNG</a>
+
+<h4>Overview</h4>
+<p>Most of the configuration aspects with maven will be
+centered around your pom.xml's <tt>build</tt> section. <i>(<a
+ href="http://maven.apache.org/maven-model/maven.html">reference</a>)</i>
+In here you define things like build output directories,
+location of test source code, as well as configure plugin
+parameters, like those you will need to get TestNG setup the
+way that you prefer. Following is a sample portion of this
+section in a pom.xml file.</p>
+
+<pre class="prettyprint">
+<build>
+ <defaultGoal>package</defaultGoal>
+ <sourceDirectory>src/java</sourceDirectory>
+
+ <resources>
+ <resource>
+ <directory>src/js/dojo</directory>
+ <includes>
+ <include>**</include>
+ </includes>
+ <targetPath>net/sf/tacos/ajax/components/dojo</targetPath>
+ </resource>
+
+ <resource>
+ <directory>src/descriptor/META-INF</directory>
+ <includes>
+ <include>**</include>
+ </includes>
+
+ <targetPath>META-INF</targetPath
+ </resource>
+ </resources>
+
+ <testSourceDirectory>src/test</testSourceDirectory>
+
+ <testResources>
+ <testResource>
+ <directory>src/test-data</directory>
+ <includes>
+ <include>*.*</include>
+ </includes>
+ <excludes>
+ <exclude>*.launch</exclude>
+ </excludes>
+ </testResource>
+ </testResources>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.4-SNAPSHOT</version>
+ <configuration>
+ <groups>functest,util</groups>
+ </configuration>
+ </plugin>
+ </plugins>
+</build>
+</pre>
+
+<p>
+The most notable section is the <tt>configuration</tt> element. Within the boundaries of this element you can define all of
+the configurable TestNG properties.
+</p>
+
+<h4>Configuration</h4><h5>Goals</h5><table border="1" id="table2">
+ <tr>
+ <th>Goal</th><th>Description</th></tr><tr>
+ <td><tt>test</tt></td><td>Compiles and runs your tests</td></tr><tr>
+ <td><tt>site</tt></td><td>Creates your maven generated site, which will include the TestNG report output.</td></tr></table><h4>Properties</h4><table border="1" id="table3">
+ <tr>
+ <th>Property</th><th>Optional?</th><th>Description</th></tr><tr>
+ <td><tt>includes</tt></td><td>No</td><td>Comma delimited list of regexp patterns to include source files with. Ie **/Test*.java</td></tr><tr>
+ <td><tt>groups</tt></td><td>Yes</td><td>Comma delimited list of groups to be included in test. If left blank will run all tests by default.</td></tr><tr>
+ <td><tt>excludeGroups</tt></td><td>Yes</td><td>Comma delimited list of groups that should <em>not</em> be included in test run.</td></tr><tr>
+ <td><tt>suiteXmlFiles</tt></td><td>Yes</td><td>Comma delimited list of file paths pointing to testng.xml suite files. <tt>(src/test-data/testng-core.xml,src/test-data/testng-functional.xml)</tt>
+ <p><em>Warning: When defining suiteXmlFiles most of the other parameters are ignored.</em></p></td></tr><tr>
+ <td><tt>threadCount</tt></td><td>Yes</td><td>Number of threads to run for tests</td></tr><tr>
+ <td><tt>parallel</tt></td><td>Yes</td><td>When using threads, whether or not to run them in parallel. Use <em>tests</em> to have each test run in its own thread or
+ <em>methods</em> to have the methods invoked from different threads.</td></tr>
+ </table>
+
+<h3>Java 1.4</h3>
+<p>
+In order to use javadoc style annotations you currently <em>must</em> run maven with a java 1.4 jvm in order for them to be seen. If
+you try running your javadoc annotated tests in a 1.5 jvm they will most likely not be found. It is hoped in a future release this problem
+will be eliminated.
+</p>
+
+<h4>Sample Report</h4>
+<p>
+A sample surefire report with TestNG can be found <a href="samplereport/index.html">here</a>.
+</p>
+<br/>
+<!-- end maven2 -->
+
+<!-- maven2 archetype -->
+<h3 id="archetype">Maven TestNG Archetype <em>(Martin Gilday)</em></h3>
+<p>
+ Martin Gilday has added a new archetype for maven2 users that should make it easier to get going with TestNG. You can find more about
+ this in his blog entry <a href="http://www.martingilday.org/updates/Maven+TestNG+Archetype">here</a>, but the basics for configuring it have been pasted below.
+</p>
+<p>
+ To create a project using the archetype you simply have to specify my repository and the archetype ID.
+</p>
+ <pre class="prettyprint">
+ mvn archetype:create -DgroupId=org.martingilday -DartifactId=test1 -DarchetypeGroupId=org.martingilday -DarchetypeArtifactId=testng-archetype
+ -DarchetypeVersion=1.0-SNAPSHOT -DremoteRepositories=http://www.martingilday.org/repository/</pre>
+
+<p>Of course substitute in your own groupId and artifactId.</p>
+<p>Don't forget to keep checking back at <a href="http://www.martingilday.org/updates/Maven+TestNG+Archetype">Martins blog</a> for more updates. </p>
+<!-- end maven2 archetype -->
+
+<br/><br/>
+<h3 id="maven1">Maven 1 (by Andrew Glover)</h3>
<p>The TestNG Maven plug-in is quite simple and consists of
two goals and a series of optional properties.</p>
@@ -123,133 +317,7 @@
</p>
<!-- end maven stuff -->
-<!-- begin maven2 -->
-<h3>Maven 2 (by Jesse Kuhnert)</h3>
-
-<p>Maven2 has changed quite a bit from the first release. Maven2 should support TestNG out of
-the box without the need to download any additional plugins(other than TestNG itself). In fact,
-other than specifying testng as one of your build dependencies, most people shouldn't really have
-to do any other configuration for the majority of cases. Most of it just works.</p>
-
-<h4>Snapshot Build Updates</h4>
-<p>
-<b>IMPORTANT:</b>The current (as of 7/30/06) maven2 TestNG plugin support has a few issues that are
-in the process of being resolved by the maven2 team. Until such time as these changes are made/fixed you
-may need to add a new plugin repository into your maven2 pom in order to get the most up to date functionality
-working in your build. The new repository can be added with the following style script fragment:
-</p>
-
-<pre class="prettyprint">
-<pluginRepositories>
- <pluginRepository>
- <id>tapestry.javaforge</id>
- <url>http://howardlewisship.com/repository</url>
- </pluginRepository>
-</pluginRepositories>
-</pre>
-
-<p>
-The specific version you want to use for surefire is <b>2.8-SNAPSHOT</b>.
-</p>
-
-<h4>Reference</h4>
-<p>Though this section will include a lot more TestNG specific
-features, the overall test plugin properties should be mostly
-covered on mavens site. <b>See:</b> <a
- href="http://maven.apache.org/plugins/maven-surefire-plugin/testng.html">maven TestNG</a></p>
-
-<h4>Overview</h4>
-<p>Most of the configuration aspects with maven will be
-centered around your pom.xml's <tt>build</tt> section. <i>(<a
- href="http://maven.apache.org/maven-model/maven.html">reference</a>)</i>
-In here you define things like build output directories,
-location of test source code, as well as configure plugin
-parameters, like those you will need to get TestNG setup the
-way that you prefer. Following is a sample portion of this
-section in a pom.xml file.</p>
-
-<pre class="prettyprint">
-<build>
- <defaultGoal>package</defaultGoal>
- <sourceDirectory>src/java</sourceDirectory>
-
- <resources>
- <resource>
- <directory>src/js/dojo</directory>
- <includes>
- <include>**</include>
- </includes>
- <targetPath>net/sf/tacos/ajax/components/dojo</targetPath>
- </resource>
-
- <resource>
- <directory>src/descriptor/META-INF</directory>
- <includes>
- <include>**</include>
- </includes>
-
- <targetPath>META-INF</targetPath
- </resource>
- </resources>
-
- <testSourceDirectory>src/test</testSourceDirectory>
-
- <testResources>
- <testResource>
- <directory>src/test-data</directory>
- <includes>
- <include>*.*</include>
- </includes>
- <excludes>
- <exclude>*.launch</exclude>
- </excludes>
- </testResource>
- </testResources>
-
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <groups>functest,util</groups>
- </configuration>
- </plugin>
- </plugins>
-</build>
-</pre>
-
-<p>
-The most notable section is the <tt>configuration</tt> element. Within the boundaries of this element you can define all of
-the configurable TestNG properties.
-</p>
-
-<h4>Configuration</h4><h5>Goals</h5><table border="1" id="table2">
- <tr>
- <th>Goal</th><th>Description</th></tr><tr>
- <td><tt>test</tt></td><td>Compiles and runs your tests</td></tr><tr>
- <td><tt>site</tt></td><td>Creates your maven generated site, which will include the TestNG report output.</td></tr></table><h4>Properties</h4><table border="1" id="table3">
- <tr>
- <th>Property</th><th>Optional?</th><th>Description</th></tr><tr>
- <td><tt>includes</tt></td><td>No</td><td>Comma delimited list of regexp patterns to include source files with. Ie **/Test*.java</td></tr><tr>
- <td><tt>groups</tt></td><td>Yes</td><td>Comma delimited list of groups to be included in test. If left blank will run all tests by default.</td></tr><tr>
- <td><tt>excludeGroups</tt></td><td>Yes</td><td>Comma delimited list of groups that should <em>not</em> be included in test run.</td></tr><tr>
- <td><tt>suiteXmlFiles</tt></td><td>Yes</td><td>Comma delimited list of file paths pointing to testng.xml suite files. <tt>(src/test-data/testng-core.xml,src/test-data/testng-functional.xml)</tt>
- <p><em>Warning: When defining suiteXmlFiles most of the other parameters are ignored.</em></p></td></tr><tr>
- <td><tt>threadCount</tt></td><td>Yes</td><td>Number of threads to run for tests</td></tr><tr>
- <td><tt>parallel</tt></td><td>Yes</td><td>When using threads, whether or not to run them in parallel.</td></tr></table><h3>Java 1.4</h3><p>
-In order to use javadoc style annotations you currently <em>must</em> run maven with a java 1.4 jvm in order for them to be seen. If
-you try running your javadoc annotated tests in a 1.5 jvm they will most likely not be found. It is hoped in a future release this problem
-will be eliminated.
-</p>
-
-<h4>Sample Report</h4><p>
-A sample surefire report with TestNG can be found <a href="samplereport/index.html">here</a>.
-</p>
-
-<!-- end maven2 -->
-
- <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
-</script>
+<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
<script type="text/javascript">
_uacct = "UA-238215-2";
urchinTracker();