michal 2003/07/28 12:56:49
Modified: src/plugins-build/multiproject/src/plugin-resources/templates
navigation-aggregate.xml navigation-independent.xml
projects-overview.xml
src/plugins-build/multiproject plugin.jelly
plugin.properties
Log:
Improved "overview" page
Revision Changes Path
1.4 +1 -1
maven/src/plugins-build/multiproject/src/plugin-resources/templates/navigation-aggregate.xml
Index: navigation-aggregate.xml
===================================================================
RCS file:
/home/cvs/maven/src/plugins-build/multiproject/src/plugin-resources/templates/navigation-aggregate.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- navigation-aggregate.xml 27 Jul 2003 21:48:41 -0000 1.3
+++ navigation-aggregate.xml 28 Jul 2003 19:56:48 -0000 1.4
@@ -7,7 +7,7 @@
<body>
<menu name="Projects">
#if ($createOverviewPage == "true" )
- <item name="Overview" href="projects-overview.xml"/>
+ <item name="${overviewPageLinkTitle}" href="${overviewPageLink}.html"/>
#end
#foreach ($reactorProject in $reactorProjects)
<item name="$reactorProject.name"
href="/${aggregateDir}${reactorProject.artifactId}/index.html"/>
1.3 +1 -1
maven/src/plugins-build/multiproject/src/plugin-resources/templates/navigation-independent.xml
Index: navigation-independent.xml
===================================================================
RCS file:
/home/cvs/maven/src/plugins-build/multiproject/src/plugin-resources/templates/navigation-independent.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- navigation-independent.xml 27 Jul 2003 21:48:41 -0000 1.2
+++ navigation-independent.xml 28 Jul 2003 19:56:48 -0000 1.3
@@ -7,7 +7,7 @@
<body>
<menu name="Projects">
#if ($createOverviewPage == "true" )
- <item name="Overview" href="projects-overview.xml"/>
+ <item name="${overviewPageLinkTitle}" href="{$overviewPageLink}.html"/>
#end
#foreach ($reactorProject in $reactorProjects)
<item name="$reactorProject.name" href="${reactorProject.url}"/>
1.2 +36 -9
maven/src/plugins-build/multiproject/src/plugin-resources/templates/projects-overview.xml
Index: projects-overview.xml
===================================================================
RCS file:
/home/cvs/maven/src/plugins-build/multiproject/src/plugin-resources/templates/projects-overview.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- projects-overview.xml 27 Jul 2003 21:48:41 -0000 1.1
+++ projects-overview.xml 28 Jul 2003 19:56:48 -0000 1.2
@@ -1,16 +1,43 @@
<?xml version="1.0"?>
<document>
<properties>
- <title>Overview of projects</title>
+ <title>$overviewPageTitle</title>
<author email="[EMAIL PROTECTED]">Michal Maczka</author>
</properties>
<body>
- #foreach ($reactorProject in $reactorProjects)
- <section name="$reactorProject.name">
- <p>
- ${reactorProject.description}
- </p>
- </section>
- #end
+ <section name="$overviewPageTitle">
+ <p>
+ #if ($overviewPageText && $overviewPageText.lenght>0)
+ ${overviewPageText}
+ <br/>
+ #end
+ <table>
+ #foreach ($project in $reactorProjects)
+ <tr>
+ <th><a href="#${project.name}">${project.name}</a></th>
+ <td>${project.shortDescription}</td>
+ </tr>
+ #end
+ </table>
+ </p>
+ <p>
+ #foreach ($project in $reactorProjects)
+ <subsection name="$project.name">
+ <p>
+ ${project.description}
+ </p>
+ <p>
+ <b>Website:</b>
+ #if ($navType == "aggregate")
+ <a
href="/${aggregateDir}${project.artifactId}/index.html">${project.name}</a>
+ #else
+ <a href="${project.url}">${project.url}</a>
+ #end
+ </p>
+ </subsection>
+ #end
+ </p>
+ </section>
</body>
-</document>
\ No newline at end of file
+</document>
+
1.21 +95 -60 maven/src/plugins-build/multiproject/plugin.jelly
Index: plugin.jelly
===================================================================
RCS file: /home/cvs/maven/src/plugins-build/multiproject/plugin.jelly,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- plugin.jelly 27 Jul 2003 21:48:41 -0000 1.20
+++ plugin.jelly 28 Jul 2003 19:56:49 -0000 1.21
@@ -22,17 +22,46 @@
prereqs="multiproject:site">
</goal>
+
+ <!--======================================================================-->
+ <!-- Runs reactor and puts variable "reactorProjects" into jelly contex -->
+ <!-- This allows to share the work done by reactor in goals -->
+ <!-- which just need the list of project but don't need to run any goal -->
+ <!--======================================================================-->
+ <goal name="multiproject:site-init">
+
+ <!-- FIXME: This can't use multiproject:goal as it throws away the projects -->
+ <!-- generate site docs -->
+ <maven:reactor
+ basedir="${maven.multiproject.basedir}"
+ banner="Generating site for "
+ includes="${maven.multiproject.includes}"
+ excludes="${maven.multiproject.excludes}"
+ postProcessing="true"
+ ignoreFailures="${maven.multiproject.ignoreFailures}"
+ />
+
+ <mkdir dir="${maven.gen.docs}"/>
+
+ <j:set var="aggregateDir" value="${maven.multiproject.aggregateDir}"/>
+ <j:set var="navType" value="${maven.multiproject.navigation}"/>
+ <j:set var="overviewPageCreate"
value="${maven.multiproject.overviewPage.create}"/>
+ <j:set var="overviewPageTitle"
value="${maven.multiproject.overviewPage.title}"/>
+ <j:set var="overviewPageLink"
value="${maven.multiproject.overviewPage.link}"/>
+ <j:set var="overviewPageLinkTitle"
value="${maven.multiproject.overviewPage.linkTitle}"/>
+ <j:set var="overviewPageText"
value="${maven.multiproject.overviewPage.text}"/>
+ </goal>
+
+
<!--==================================================================-->
<!-- Builds sites for all subprojects -->
<!--==================================================================-->
- <goal name="multiproject:site"
- description="Run the site goal of all subprojects">
+ <goal name="multiproject:site"
+ description="Run the site goal of all subprojects">
<attainGoal name="multiproject:create-nav"/>
<attainGoal name="multiproject:create-overview-page"/>
-
- <!-- FIXME: This can't use multiproject:goal as it throws away the projects -->
- <!-- generate site docs -->
+
<maven:reactor
basedir="${maven.multiproject.basedir}"
banner="Generating site for "
@@ -71,31 +100,17 @@
<!--==================================================================-->
<!-- Generate HTML files for navigation bar across projects. -->
<!--==================================================================-->
- <goal name="multiproject:create-nav">
- <mkdir dir="${maven.gen.docs}"/>
-
- <!-- FIXME: 2) Needs to be a tag
- | get all projects for template processing
- | -->
- <maven:reactor
- basedir="${maven.multiproject.basedir}"
- banner="Getting projects for navigation"
- includes="${maven.multiproject.includes}"
- excludes="${maven.multiproject.excludes}"
- postProcessing="true"
- ignoreFailures="true"
- />
-
+ <goal name="multiproject:create-nav"
+ prereqs="multiproject:site-init">
+
+
<j:forEach var="reactorProject" items="${reactorProjects}">
<j:if test="${reactorProject.id == pom.id}">
<fail message="You must exclude ${pom.id} (the top level project) from the
subproject set"/>
</j:if>
</j:forEach>
- <!-- generate navbar for project based on aggregate or independent -->
- <j:set var="aggregateDir" value="${maven.multiproject.aggregateDir}"/>
- <j:set var="navType" value="${maven.multiproject.navigation}"/>
- <j:set var="createOverviewPage" value="${maven.multiproject.overviewPage}"/>
+ <!-- generate navbar for project based on aggregate or independent -->
<j:if test="${navType != ''}">
<echo>Producing ${navType} navigation...</echo>
<velocity:merge
@@ -126,32 +141,26 @@
<!--==================================================================-->
<!-- Generate Overview of all projects -->
<!--==================================================================-->
- <goal name="multiproject:create-overview-page">
+ <goal name="multiproject:create-overview-page"
+ prereqs="multiproject:site-init">
- <mkdir dir="${maven.gen.docs}"/>
+
- <j:set var="createOverviewPage" value="${maven.multiproject.overviewPage}"/>
- <j:if test="${createOverviewPage=='true'}">
-
- <!-- FIXME: 2) Needs to be a tag
- | get all projects for template processing
- | -->
- <maven:reactor
- basedir="${maven.multiproject.basedir}"
- banner="Getting projects for creating an overview page"
- includes="${maven.multiproject.includes}"
- excludes="${maven.multiproject.excludes}"
- postProcessing="true"
- ignoreFailures="true"
- />
+ <j:new var="file" className="java.io.File">
+ <j:arg value="${maven.gen.docs}/${overviewPageLink}.xml"/>
+ </j:new>
+
+ <mkdir dir="${file.parent}"/>
- <ant:echo>Using
tamplate:${maven.multiproject.templates}/projects-overview.xml</ant:echo>
+ <ant:echo>${file.parent} ${file.parent}</ant:echo>
+ <ant:echo>create ${overviewPageCreate}</ant:echo>
+ <j:if test="${overviewPageCreate=='true'}">
<velocity:merge
- name="${maven.gen.docs}/projects-overview.xml"
+ name="${maven.gen.docs}/${overviewPageLink}.xml"
basedir="${maven.multiproject.templates}"
template="projects-overview.xml"/>
</j:if>
-
+
</goal>
@@ -163,7 +172,9 @@
<!--==================================================================-->
<!-- Run specific sets of goals for all subprojects -->
<!--==================================================================-->
- <goal name="multiproject:goal" description="Run a given goal on all projects">
+ <goal name="multiproject:goal"
+ description="Run a given goal on all projects">
+
<m:param-check value="${goal}" fail="true">
A goal to run must be specified, e.g.
maven -Dgoal=clean multiproject:goal</m:param-check>
@@ -183,7 +194,7 @@
<!-- Builds all artifacts for all subprojects -->
<!--==================================================================-->
<goal name="multiproject:artifact"
- description=" Builds all artifacts for all subproject">
+ description=" Builds all artifacts for all subproject">
<j:set var="goal" value="multiproject:artifact-callback"/>
<attainGoal name="multiproject:goal"/>
@@ -191,7 +202,10 @@
</goal>
<goal name="multiproject:artifact-callback">
- <attainGoal name="${maven.multiproject.type}:${maven.multiproject.type}"/>
+
+ <ant:echo>Running ${maven.multiproject.type}:${maven.multiproject.type} for
${pom.name}</ant:echo>
+ <attainGoal name="${maven.multiproject.type}:${maven.multiproject.type}"/>
+
</goal>
@@ -199,27 +213,33 @@
<!-- Run 'artifact':install for all subprojects -->
<!--==================================================================-->
<goal name="multiproject:install"
- description="Run 'artifact':install for all subprojects">
+ description="Run 'artifact':install for all subprojects">
<j:set var="goal" value="multiproject:install-callback"/>
<attainGoal name="multiproject:goal"/>
+
</goal>
<goal name="multiproject:install-callback">
+
+ <ant:echo>Running ${maven.multiproject.type}:install for ${pom.name}</ant:echo>
<attainGoal name="${maven.multiproject.type}:install"/>
+
</goal>
<!--==================================================================-->
<!-- Run 'artifact':install-snapshot for all subprojects -->
<!--==================================================================-->
<goal name="multiproject:install-snapshot"
- description="Run 'artifact':install-snapshot for all subprojects">
+ description="Run 'artifact':install-snapshot for all subprojects">
<j:set var="goal" value="multiproject:install-snapshot-callback"/>
<attainGoal name="multiproject:goal"/>
+
</goal>
<goal name="multiproject:install-snapshot-callback">
+ <ant:echo>Running ${maven.multiproject.type}:install-snapshot for
${pom.name}</ant:echo>
<attainGoal name="${maven.multiproject.type}:install-snapshot"/>
</goal>
@@ -227,64 +247,78 @@
<!-- Run 'artifact':deploy for all subprojects -->
<!--==================================================================-->
<goal name="multiproject:deploy"
- description="Run 'artifact':deploy for all subprojects">
+ description="Run 'artifact':deploy for all subprojects">
<j:set var="goal" value="multiproject:deploy-callback"/>
<attainGoal name="multiproject:goal"/>
+
</goal>
<goal name="multiproject:deploy-callback">
- <attainGoal name="${maven.multiproject.type}:deploy"/>
+
+ <ant:echo>Running ${maven.multiproject.type}:deploy for ${pom.name}</ant:echo>
+ <attainGoal name="${maven.multiproject.type}:deploy"/>
+
</goal>
<!--==================================================================-->
<!-- Run 'artifact':deploy-snapshot for all subprojects -->
<!--==================================================================-->
<goal name="multiproject:deploy-snapshot"
- description="Run 'artifact':deploy-snapshot for all subprojects">
+ description="Run 'artifact':deploy-snapshot for all subprojects">
<j:set var="goal" value="multiproject:deploy-snapshot-callback"/>
<attainGoal name="multiproject:goal"/>
</goal>
<goal name="multiproject:deploy-snapshot-callback">
- <attainGoal name="${maven.multiproject.type}:deploy-snapshot"/>
+
+ <ant:echo>Running ${maven.multiproject.type}:deploy-snapshot for
${pom.name}</ant:echo>
+ <attainGoal name="${maven.multiproject.type}:deploy-snapshot"/>
+
</goal>
<!--==================================================================-->
- <!-- Maven Report API - Register
-->
+ <!-- Maven Report API - Register -->
<!--==================================================================-->
<goal name="maven-multiproject-plugin:register">
+
<doc:registerReport
name="Dependency Convergence"
link="dependency-convergence-report"
pluginName="maven-multiproject-plugin"
description="Generate report which shows how consistent are the versions of
artitfacts between projects."/>
+
</goal>
<!--==================================================================-->
- <!-- Maven Report API - Deregister
-->
+ <!-- Maven Report API - Deregister -->
<!--==================================================================-->
<goal name="maven-multiproject-plugin:deregister">
- <doc:deregisterReport name="Multiproject Dependency Convergence Report"/>
+
+ <doc:deregisterReport name="Multiproject Dependency Convergence Report"/>
+
</goal>
<!--==================================================================-->
- <!-- Maven Report API - Deregister
-->
+ <!-- Maven Report API - Report -->
<!--==================================================================-->
<goal name="maven-multiproject-plugin:report">
- <attainGoal name="multiproject:dependency-convergence-report"/>
+
+ <attainGoal name="multiproject:dependency-convergence-report"/>
+
</goal>
<!--==================================================================-->
- <!-- Generate report which shows the harmony of versions of dependencies
-->
- <!-- which are used in sub-projects
-->
+ <!-- Generate report which shows the harmony of -->
+ <!-- versions of dependencies which are used in sub-projects -->
<!--==================================================================-->
<goal name="multiproject:dependency-convergence-report"
- description="Generate report which shows how consistent are the
versions of artitfacts between projects" >
+ description="Generate report which shows how consistent are the versions of
artitfacts between projects" >
+
<mkdir dir="${maven.gen.docs}"/>
<!-- FIXME: 2) Needs to be a tag
@@ -317,6 +351,7 @@
<j:set var="goal" value="clean:clean"/>
<attainGoal name="multiproject:goal"/>
+
</goal>
1.7 +5 -1 maven/src/plugins-build/multiproject/plugin.properties
Index: plugin.properties
===================================================================
RCS file: /home/cvs/maven/src/plugins-build/multiproject/plugin.properties,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- plugin.properties 27 Jul 2003 21:48:41 -0000 1.6
+++ plugin.properties 28 Jul 2003 19:56:49 -0000 1.7
@@ -20,4 +20,8 @@
maven.multiproject.aggregateDir=multiproject/
#should overview page be created?
-maven.multiproject.overviewPage=true
+maven.multiproject.overviewPage.create=true
+maven.multiproject.overviewPage.title=Overview of projects
+maven.multiproject.overviewPage.link=projects-overview
+maven.multiproject.overviewPage.linkTitle=Overview of project
+maven.multiproject.overviewPage.text=
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]