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

Reply via email to