Why not use the exiting <url> element rather than introduce another element type into the project descriptor? As far as the Java code goes, it doesn't make a lot of difference. However, limitting the number of element types one has to deal with in the XML is a great simplification.
[EMAIL PROTECTED] writes: > kaz 02/03/27 12:04:53 > > Modified: . project.xml > src/dvsl/xdocs dependencies.dvsl > src/java/org/apache/maven/project Dependency.java > src/test/org/apache/maven/project ProjectMapperTest.java > xdocs project-descriptor.xml > Log: > Added a <homepage> element to the <dependency> element in the project > descriptor. This is used to provide a link to the dependency in the > HTML generated by Maven. If the element is not supplied, a link is not > generated. Suggested by Alvin <[EMAIL PROTECTED]>. Thanks!! > > Changes include: > > - Added the property to Dependency > - Updated the ProjectMapperTest unit test > - Updated the dependencies.dvsl stylesheet to create the link > - Updated the project descriptor documentation (also did some > formatting changes while in there) > - Added <homepage> elements to each <dependency> in Maven's project > descriptor > > Revision Changes Path > 1.45 +13 -0 jakarta-turbine-maven/project.xml > > Index: project.xml > =================================================================== > RCS file: /home/cvs/jakarta-turbine-maven/project.xml,v > retrieving revision 1.44 > retrieving revision 1.45 > diff -u -r1.44 -r1.45 > --- project.xml 27 Mar 2002 05:25:57 -0000 1.44 > +++ project.xml 27 Mar 2002 20:04:52 -0000 1.45 > @@ -164,6 +164,7 @@ > <type>required</type> > <version>1.0-b2-dev</version> > <jar>stratum-1.0-b2-dev.jar</jar> > + <homepage>http://jakarta.apache.org/turbine/stratum/</homepage> > </dependency> > > <dependency> > @@ -171,6 +172,7 @@ > <type>required</type> > <version>5.0</version> > <jar>bcel.jar</jar> > + <homepage>http://jakarta.apache.org/bcel/</homepage> > </dependency> > > <dependency> > @@ -178,6 +180,7 @@ > <type>required</type> > <version>1.3-dev</version> > <jar>velocity-1.3-dev.jar</jar> > + <homepage>http://jakarta.apache.org/velocity/</homepage> > </dependency> > > <dependency> > @@ -185,6 +188,7 @@ > <type>required</type> > <version>1.3</version> > <jar>oro.jar</jar> > + <homepage>http://jakarta.apache.org/oro/</homepage> > </dependency> > > <!-- Runtime dependencies --> > @@ -194,6 +198,7 @@ > <type>required</type> > <version>1.1.3</version> > <jar>log4j-1.1.3.jar</jar> > + <homepage>http://jakarta.apache.org/log4j/</homepage> > </dependency> > > <dependency> > @@ -201,6 +206,7 @@ > <type>required</type> > <version>1.3</version> > <jar>dom4j-1.3.jar</jar> > + <homepage>http://www.dom4j.org/</homepage> > </dependency> > > <dependency> > @@ -208,6 +214,7 @@ > <type>required</type> > <version>0.1</version> > <jar>commons-lang-0.1-dev.jar</jar> > + <homepage>http://jakarta.apache.org/commons/</homepage> > </dependency> > > <dependency> > @@ -215,6 +222,7 @@ > <type>required</type> > <version>0.1</version> > <jar>commons-io.jar</jar> > + <homepage>http://jakarta.apache.org/commons/</homepage> > </dependency> > > <dependency> > @@ -222,6 +230,7 @@ > <type>required</type> > <version>0.1</version> > <jar>commons-util-1.0-rc2-dev.jar</jar> > + <homepage>http://jakarta.apache.org/commons/</homepage> > </dependency> > > <dependency> > @@ -229,6 +238,7 @@ > <type>required</type> > <version>1.0</version> > <jar>commons-beanutils.jar</jar> > + <homepage>http://jakarta.apache.org/commons/</homepage> > </dependency> > > <dependency> > @@ -236,6 +246,7 @@ > <type>required</type> > <version>1.0</version> > <jar>commons-collections.jar</jar> > + <homepage>http://jakarta.apache.org/commons/</homepage> > </dependency> > > <!-- Documentation dependencies --> > @@ -245,6 +256,7 @@ > <type>documentation</type> > <version>0.43</version> > <jar>velocity-dvsl-0.43.jar</jar> > + <homepage>http://jakarta.apache.org/velocity/dvsl/</homepage> > </dependency> > > <dependency> > @@ -252,6 +264,7 @@ > <type>required</type> > <version>2.2</version> > <jar>jdepend.jar</jar> > + <homepage>http://jakarta.apache.org/turbine/maven/</homepage> > </dependency> > > </dependencies> > > > > 1.3 +8 -2 jakarta-turbine-maven/src/dvsl/xdocs/dependencies.dvsl > > Index: dependencies.dvsl > =================================================================== > RCS file: /home/cvs/jakarta-turbine-maven/src/dvsl/xdocs/dependencies.dvsl,v > retrieving revision 1.2 > retrieving revision 1.3 > diff -u -r1.2 -r1.3 > --- dependencies.dvsl 17 Mar 2002 19:21:04 -0000 1.2 > +++ dependencies.dvsl 27 Mar 2002 20:04:52 -0000 1.3 > @@ -2,7 +2,7 @@ > > dependency page generator > > - version : $Id: dependencies.dvsl,v 1.2 2002/03/17 19:21:04 kaz Exp $ > + version : $Id: dependencies.dvsl,v 1.3 2002/03/27 20:04:52 kaz Exp $ > --> > > #match ("/") > @@ -48,7 +48,13 @@ > > #match ("dependency") > <tr> > - <td>$node.name.value()</td> > + <td> > + #if ($node.homepage) > + <a href="$node.homepage.value()">$node.name.value()</a> > + #else > + $node.name.value() > + #end > + </td> > <td>$node.type.value()</td> > <td>$node.version.value()</td> > <td>$node.jar.value()</td> > > > > 1.4 +16 -1 >jakarta-turbine-maven/src/java/org/apache/maven/project/Dependency.java > > Index: Dependency.java > =================================================================== > RCS file: >/home/cvs/jakarta-turbine-maven/src/java/org/apache/maven/project/Dependency.java,v > retrieving revision 1.3 > retrieving revision 1.4 > diff -u -r1.3 -r1.4 > --- Dependency.java 22 Feb 2002 01:35:27 -0000 1.3 > +++ Dependency.java 27 Mar 2002 20:04:52 -0000 1.4 > @@ -55,7 +55,7 @@ > > /** > * @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a> > - * @version $Id: Dependency.java,v 1.3 2002/02/22 01:35:27 jvanzyl Exp $ > + * @version $Id: Dependency.java,v 1.4 2002/03/27 20:04:52 kaz Exp $ > */ > public class Dependency > extends Project > @@ -76,6 +76,11 @@ > private String jar; > > /** > + * The URL to the dependency's homepage. > + */ > + private String homepage; > + > + /** > * Default constructor > */ > public Dependency() > @@ -111,4 +116,14 @@ > { > return jar; > } > + > + public void setHomepage(String homepage) > + { > + this.homepage = homepage; > + } > + > + public String getHomepage() > + { > + return homepage; > + } > } > > > > 1.4 +2 -0 >jakarta-turbine-maven/src/test/org/apache/maven/project/ProjectMapperTest.java > > Index: ProjectMapperTest.java > =================================================================== > RCS file: >/home/cvs/jakarta-turbine-maven/src/test/org/apache/maven/project/ProjectMapperTest.java,v > retrieving revision 1.3 > retrieving revision 1.4 > diff -u -r1.3 -r1.4 > --- ProjectMapperTest.java 20 Mar 2002 11:52:44 -0000 1.3 > +++ ProjectMapperTest.java 27 Mar 2002 20:04:53 -0000 1.4 > @@ -71,6 +71,8 @@ > ((Dependency)p.getDependencies().get(0)).getVersion()); > assertEquals("stratum-1.0-b2-dev.jar", > ((Dependency)p.getDependencies().get(0)).getJar()); > + assertEquals("http://jakarta.apache.org/turbine/stratum/", > + ((Dependency)p.getDependencies().get(0)).getHomepage()); > > // Test Source Directories > >assertEquals("src/java",(String)p.getBuild().getSourceDirectories().get(0)); > > > > 1.11 +49 -52 jakarta-turbine-maven/xdocs/project-descriptor.xml > > Index: project-descriptor.xml > =================================================================== > RCS file: /home/cvs/jakarta-turbine-maven/xdocs/project-descriptor.xml,v > retrieving revision 1.10 > retrieving revision 1.11 > diff -u -r1.10 -r1.11 > --- project-descriptor.xml 26 Mar 2002 12:56:48 -0000 1.10 > +++ project-descriptor.xml 27 Mar 2002 20:04:53 -0000 1.11 > @@ -122,6 +122,7 @@ > <type>required</type> > <version>0.1</version> > <jar>stratum-0.1-dev.jar</jar> > + <homepage>http://jakarta.apache.org/turbine/stratum/</homepage> > </dependency> > > <dependency> > @@ -129,6 +130,7 @@ > <type>documentation</type> > <version>0.40</version> > <jar>velocity-dvsl-0.40.jar</jar> > + <homepage>http://jakarta.apache.org/velocity/</homepage> > </dependency> > > . > @@ -140,6 +142,7 @@ > <type>required</type> > <version>2.2</version> > <jar>jdepend.jar</jar> > + <homepage>http://jakarta.apache.org/turbine/maven/</homepage> > </dependency> > </dependencies> > > @@ -322,14 +325,11 @@ > <p> > This element describes all of the mailing lists associated with > a project. Each mailing list is described by a > - <code>mailingList</code> element. The auto-generated site > + <code>mailingList</code> element, which is then described by > + additional elements (described below). The auto-generated site > documentation references this information. > </p> > <subsection name="mailingList"> > - <p> > - This element describes an individual mailing list. The > - following table lists all of the possible child elements. > - </p> > <table> > <tr><th>Element</th><th>Description</th></tr> > <tr> > @@ -355,14 +355,11 @@ > <p> > This element describes all of the developers associated with a > project. Each developer is described by a > - <code>developer</code> element. The auto-generated site > + <code>developer</code> element, which is then described by > + additional elements (described below). The auto-generated site > documentation references this information. > </p> > <subsection name="developer"> > - <p> > - This element describes an individual developer. The > - following table lists all of the possible child elements. > - </p> > <table> > <tr><th>Element</th><th>Description</th></tr> > <tr> > @@ -388,16 +385,13 @@ > <p> > This element describes all of the dependencies associated with a > project. Each dependency is described by a > - <code>dependency</code> element. These dependencies are used to > - construct a classpath for your project during the build process. In > - addition, Maven can automatically download these dependencies from a > - central repository. > + <code>dependency</code> element, which is then described by > + additional elements (described below). These dependencies are > + used to construct a classpath for your project during the build > + process. In addition, Maven can automatically download these > + dependencies from a central repository. > </p> > <subsection name="dependency"> > - <p> > - This element describes an individual dependency. The > - following table lists all of the possible child elements. > - </p> > <table> > <tr><th>Element</th><th>Description</th></tr> > <tr> > @@ -416,6 +410,10 @@ > <td>jar</td> > <td>The dependency's jar filename.</td> > </tr> > + <tr> > + <td>homepage</td> > + <td>The homepage of the dependency.</td> > + </tr> > </table> > </subsection> > </section> > @@ -426,11 +424,6 @@ > project's build environment. Each one is described below: > </p> > <subsection name="jarResources"> > - <p> > - This element specifies any additional resources that should be > - packaged up inside the JAR file. The following table lists > - all of the possible child elements. > - </p> > <table> > <tr><th>Element</th><th>Description</th></tr> > <tr> > @@ -438,13 +431,12 @@ > <td>The path name of the resource to be packaged.</td> > </tr> > </table> > - </subsection> > - <subsection name="unitTestClassEntries"> > <p> > - This element specifies the classes which consist of the > - project's unit tests. These unit tests must use the <a > - href="http:www.junit.org">JUnit</a> testing framework. > + This element specifies any additional resources that should be > + packaged up inside the JAR file. > </p> > + </subsection> > + <subsection name="unitTestClassEntries"> > <table> > <tr><th>Element</th><th>Description</th></tr> > <tr> > @@ -457,12 +449,13 @@ > </td> > </tr> > </table> > - </subsection> > - <subsection name="integrationUnitTestClassEntries"> > <p> > This element specifies the classes which consist of the > - project's integration unit tests. > + project's unit tests. These unit tests must use the <a > + href="http:www.junit.org">JUnit</a> testing framework. > </p> > + </subsection> > + <subsection name="integrationUnitTestClassEntries"> > <table> > <tr><th>Element</th><th>Description</th></tr> > <tr> > @@ -475,13 +468,12 @@ > </td> > </tr> > </table> > - </subsection> > - <subsection name="sourceDirectories"> > <p> > - This element specifies the directories containing the source > - of the project. The generated build system will compile these > - directories when the project is built. > + This element specifies the classes which consist of the > + project's integration unit tests. > </p> > + </subsection> > + <subsection name="sourceDirectories"> > <table> > <tr><th>Element</th><th>Description</th></tr> > <tr> > @@ -492,13 +484,13 @@ > </td> > </tr> > </table> > - </subsection> > - <subsection name="testSourceDirectories"> > <p> > - This element specifies the directories containing the test > - source of the project. The generated build system will > - compile these directories when the project is being tested. > + This element specifies the directories containing the source > + of the project. The generated build system will compile these > + directories when the project is built. > </p> > + </subsection> > + <subsection name="testSourceDirectories"> > <table> > <tr><th>Element</th><th>Description</th></tr> > <tr> > @@ -509,14 +501,13 @@ > </td> > </tr> > </table> > - </subsection> > - <subsection name="aspectSourceDirectories"> > <p> > - This element specifies the directories containing the AspectJ > + This element specifies the directories containing the test > source of the project. The generated build system will > - compile these directories when the project is <a > - href="build-file.html">built</a> using Aspects. > + compile these directories when the project is being tested. > </p> > + </subsection> > + <subsection name="aspectSourceDirectories"> > <table> > <tr><th>Element</th><th>Description</th></tr> > <tr> > @@ -527,14 +518,14 @@ > </td> > </tr> > </table> > - </subsection> > - <subsection name="jars"> > <p> > - This element specifies the additional JARs that should be > - packaged as part of the final JAR. [TODO: not quite sure how > - this is different than jarResources, need further > - clarification.] > + This element specifies the directories containing the AspectJ > + source of the project. The generated build system will > + compile these directories when the project is <a > + href="build-file.html">built</a> using Aspects. > </p> > + </subsection> > + <subsection name="jars"> > <table> > <tr><th>Element</th><th>Description</th></tr> > <tr> > @@ -544,6 +535,12 @@ > </td> > </tr> > </table> > + <p> > + This element specifies the additional JARs that should be > + packaged as part of the final JAR. [TODO: not quite sure how > + this is different than jarResources, need further > + clarification.] > + </p> > </subsection> > </section> > </body> > > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
