Commit Graph
65 Commits
Author SHA1 Message Date
kaz cbd81d7e9c Follow up to my last commit. The HashSet wasn't preserving order, so we
should use a LinkedHashSet, but that isn't part of 1.3.  So we'll just
use an ArrayList and create a new list each time this goal is invoked
which will prevent duplicates from being added.


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112790 13f79535-47bb-0310-9956-ffa450edef68
2003-01-31 18:58:49 +00:00
kaz 2c9c349142 Here is a first pass to enable users to specify what reports should
appear in their published site's "Project Reports" section of the
navbar.  Users can now specify a <reports/> section in the POM that
specifies exactly which reports should be included in one's site.  For
example:

  <reports>
    <report>maven-changelog-plugin</report>
    <report>maven-junit-report-plugin</report>
    <report>maven-javadoc-plugin</report>
    <report>maven-jxr-plugin</report>
  </reports>

This would only run the above four plugins when 'maven site' is invoked.
In addition, the navbar and the maven-reports document that is generated
will only contain links to the above specified reports.  Please note,
that the order the reports are specified is the order in which they will
appear.  Note: if you do not have a <reports/> section in the POM, you
will fallback to the standard behavior (which is predefined reports).

Lets talk about how this all works now.  Previously, site.jsl in the
xdoc plugin contained a static set of reports that were included in the
navbar.  This could not be changed by end users.  In addition, we also
had a separate xdoc to maintain which contained a description of all of
the reports (this page is displayed when you click on 'Project Reports'
to expand that section of the navbar).  Again, this was a static page.
Finally, a developer writing their own plugin which generated a report,
would have to submit patches for both of these files for their report to
be included when a 'maven site' was executed.

All of the above deficiencies have been corrected when using the new
<reports/> mechansim.  There is a new protocol which plugin developers
should follow if their plugin generates a report.  Their plugin's
plugin.jelly file should contain a gool like this (don't forget to
include the 'xmlns:doc="doc"' declaration as well):

  <goal name="maven-changelog-plugin:register">
    <doc:registerReport
      name="Change Log"
      link="changelog-report"
      description="Report on the source control changelog."/>
  </goal>

The above should be pretty self explanatory.  The plugin developer
simply defines a 'name'.  The 'name' is used in the navbar and in the
first column of the table in the auto-generated maven-reports file.
'link' is the relative link from the doc directory to the generated
report (without the extension).  Finally, a 'description' should be used
to create a one line summary of the report's contents.  This is used
when auto-generating the maven-reports document.

A plugin may define multiple reports if needed.  For example, here is
the javadoc plugin example:

  <goal name="maven-javadoc-plugin:register">
    <j:if test="${sourcesPresent}">
      <doc:registerReport
        name="JavaDocs"
        link="apidocs/index"
        description="JavaDoc API documentation."/>
      <doc:registerReport
        name="JavaDoc Report"
        link="javadoc"
        description="Report on the generation of JavaDoc."/>
    </j:if>
  </goal>

Another important difference you'll notice above is that the conditional
tests of whether or not a report should appear is no longer part of
site.jsl.  The logic of determining whether the report appears now lies
within the plugin that generates the report.  Thus, in the above
example, only if sources are present, will the reports actually appear
in the navbar and maven-reports document.

So what happens when one types 'maven site'?  Basically, for each
<report/> defined, maven will try to <attainGoal> on that report.  The
goal runs as it normally does.  The magic kicks in when the 'xdoc'
plugin is run (after all of the <reports/> have been run).  The first
thing the xdoc plugin does is determine what reports should be included
in all of the documentation it generates.  The report list (its really a
set) is generated when xdoc calls its own 'xdoc:register-reports' goal.
This goal looks at each <report/> defined in the POM and then calls
<attainGoal name="xyz:register"/> where "xyz" corresponds to the name
defined in the <report/>.  This is where the new protocol is required.
If that goal does not exist, you will get an error from Jelly.

As each of the xyz:register goals are called, they invoke the
<doc:registerReport> tag (which is defined in the xdoc plugin), this tag
basically builds a set of hashtables.  Each hashtable corresponds to a
report and contains a 'name', 'link', and 'description' entry.  After
the completion of 'xdoc:register-reports' we now have a set in the xdoc
context called 'reports' which contains our descriptions of each report.
Site.jsl uses this to dynamically build up the navbar, and the
maven-reports document uses it to build the content of itself.

Phew!  That was a long one.  In summary, if you don't use <reports/>
nothing changes (at least it shouldn't), but in the future, if this
<reports/> thing works out, we will migrate users in this direction.


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112789 13f79535-47bb-0310-9956-ffa450edef68
2003-01-31 18:25:28 +00:00
bwalding 2fedb7e06d MAVEN-148: Apply patch to javadoc
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112788 13f79535-47bb-0310-9956-ffa450edef68
2003-01-31 12:53:00 +00:00
bwalding 4802326d37 MAVEN-229: Fix inconsistent use of / and \. Now uses / exclusively.
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112787 13f79535-47bb-0310-9956-ffa450edef68
2003-01-31 12:41:05 +00:00
plynch 4ae9f1f594 o cleaning the log statements
o trying to work around how I think jexl should work but it seems to not. Time to look up touchstone


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112786 13f79535-47bb-0310-9956-ffa450edef68
2003-01-31 05:04:50 +00:00
dion 440c0a5698 Apply patch (had to manually do some pieces) from Eric Pugh.
Needs testing


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112785 13f79535-47bb-0310-9956-ffa450edef68
2003-01-31 00:28:32 +00:00
kaz 3482c527cf Applying patch from Brian Leonard <brian@brainslug.org> which fixes the
j2ee plugin which was crapping out today.  Thanks Brian!


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112784 13f79535-47bb-0310-9956-ffa450edef68
2003-01-30 22:58:06 +00:00
plynch fe9fa51601 o removing unused property and filterset
There is no need to have a user filterset as the user can just use the ant replace task to do that work instead of copy.


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112783 13f79535-47bb-0310-9956-ffa450edef68
2003-01-30 22:06:28 +00:00
bwalding af3dca2410 MAVEN-214: Changed XML generation method
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112782 13f79535-47bb-0310-9956-ffa450edef68
2003-01-30 15:49:43 +00:00
bwalding 417599b027 MAVEN-214: Changed XML generation method
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112781 13f79535-47bb-0310-9956-ffa450edef68
2003-01-30 15:34:46 +00:00
plynch 5d9065724d o adding support for a unix installed apache2.x server. The executable is assumed to be in /bin as that is the apache classic layout. May need an RFE to specify the path to the exec. depending how wacky people are with their installs.
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112780 13f79535-47bb-0310-9956-ffa450edef68
2003-01-30 12:11:04 +00:00
plynch ed59934793 o using the new 'file' attribute of the import tag to import the jelly scripts
instead of URI


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112779 13f79535-47bb-0310-9956-ffa450edef68
2003-01-30 12:08:45 +00:00
bwalding fd2b30bb60 MAVEN-214: LinkChecker plugin
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112778 13f79535-47bb-0310-9956-ffa450edef68
2003-01-30 11:00:22 +00:00
bwalding fa5ca2bd70 MAVEN-214: LinkChecker plugin
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112777 13f79535-47bb-0310-9956-ffa450edef68
2003-01-30 10:59:36 +00:00
bwalding 17b604c9d2 MAVEN-214: LinkChecker plugin additions
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112776 13f79535-47bb-0310-9956-ffa450edef68
2003-01-30 10:58:35 +00:00
dion 447af533c6 Update for latest jelly tag signature
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112775 13f79535-47bb-0310-9956-ffa450edef68
2003-01-29 23:54:51 +00:00
kaz 4a88be83d1 Fixing a property that was breaking the jxr plugin.
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112774 13f79535-47bb-0310-9956-ffa450edef68
2003-01-29 22:24:47 +00:00
dion 0f61480743 remove unused properties
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112773 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 06:44:41 +00:00
dion 6caa0d0b25 move to verbose dependency format due to bugs
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112772 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 06:43:42 +00:00
dion 0f4a73f4b6 Fix typo
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112771 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 06:42:35 +00:00
dion 629eb7371b Cleanup usage of other plugins' properties
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112770 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 06:41:48 +00:00
dion 4803435d1a Cleanup usage of other plugins' properties
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112769 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 06:36:34 +00:00
dion ccb6c05cb5 Cleanup usage of other plugins' properties
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112768 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 05:53:53 +00:00
dion 006fd84133 Remove unused properties
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112767 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 05:47:38 +00:00
jvanzyl 51caeaa0c3 o make sure the .sh files remain executable.
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112766 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 05:45:14 +00:00
jvanzyl 7e5c71ac3a o Fixing the name of the directory where the SEA is extracted. It is now
the:

  ${pom.artifactId}-${pom.currentVersion}


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112765 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 05:24:08 +00:00
dion 13630ccccf Clean up usage of other plugins' properties
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112764 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 04:57:07 +00:00
dion 01e17e8027 Fix property names to be maven.docbook instead of old version maven.src.dockbook.
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112763 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 04:12:16 +00:00
dion ffe65addbb Remove erroneous property
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112762 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 03:55:53 +00:00
dion c786c3d489 Clean up usage of properties from other plugins
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112761 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 03:54:15 +00:00
dion 95c7181a5d Change to groupId and artifactId for dependencies
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112760 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 03:39:28 +00:00
dion 16155b427f Fix comment
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112759 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 03:38:25 +00:00
dion d1c38a9aa5 Remove erroneous property declaration
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112758 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 03:28:33 +00:00
dion fe74366ec1 Fix up usage of properties from other plugins
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112757 13f79535-47bb-0310-9956-ffa450edef68
2003-01-28 03:26:26 +00:00
kschrader cd38399a8c The webapp that is built shouldn't include the version number in the file/folder name.
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112756 13f79535-47bb-0310-9956-ffa450edef68
2003-01-27 18:27:45 +00:00
jvanzyl d7b7f49735 o Applying patch by RBD.
when you run dist:build, the binary build has the whole contents of the
base directory copied over where the docs should be. this patch fixes this
problem.

- robert


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112755 13f79535-47bb-0310-9956-ffa450edef68
2003-01-26 22:34:03 +00:00
plynch 02a7a56b86 o removing references to the appserver plugin except a small stub that says it is now a new plugin
o removing appserver related properties from plugin.properties


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112754 13f79535-47bb-0310-9956-ffa450edef68
2003-01-26 07:41:29 +00:00
plynch 293241f8c1 o adding properties for reference only, from the J2EE plugin implementation. Will cull later on
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112753 13f79535-47bb-0310-9956-ffa450edef68
2003-01-26 07:27:39 +00:00
plynch f5b28eb32f o ignore the stylesheets dir
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112752 13f79535-47bb-0310-9956-ffa450edef68
2003-01-26 06:57:19 +00:00
plynch e0c2efd19e o adding appserver documentation -- needs a good once over before the next release of the plugin as it probably contains a bunch of falsehoods
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112751 13f79535-47bb-0310-9956-ffa450edef68
2003-01-26 06:53:13 +00:00
plynch 983ab1967c o appserver is being removed to its own plugin
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112750 13f79535-47bb-0310-9956-ffa450edef68
2003-01-26 06:30:24 +00:00
plynch d80b28a2df adding some more ignores
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112749 13f79535-47bb-0310-9956-ffa450edef68
2003-01-26 06:27:14 +00:00
plynch 35f771b05d o a bunch of files I grabbed from Cactus wayyyy back to help use as a guide to getting some more of the obscure application servers plugged in. These are just here as a reference and won't be part of the dist directly.
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112748 13f79535-47bb-0310-9956-ffa450edef68
2003-01-26 06:25:17 +00:00
plynch 78126a126b o removing appserver stuff to move it to plugins-build/appserver plugin project space
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112747 13f79535-47bb-0310-9956-ffa450edef68
2003-01-26 06:16:19 +00:00
plynch 5fc05f1cfa o removing the appserver plugin from the j2ee project space. It now lives alone...
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112746 13f79535-47bb-0310-9956-ffa450edef68
2003-01-26 06:13:30 +00:00
plynch ea8db9d344 o the appserver plugin starts a new life out on its own. To be removed from the J2EE plugin project space.
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112745 13f79535-47bb-0310-9956-ffa450edef68
2003-01-26 06:03:22 +00:00
kaz 3a77109f47 Updating some more plugins that were referring to maven.docs.dest
property from the xdoc plugin.  These have been updated to use the new
method of accessing properties in other plugins.  While cleaning this
up, I also noticed a handful of other repetitive properties in
plugin.properties files, which I also removed/cleaned.


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112744 13f79535-47bb-0310-9956-ffa450edef68
2003-01-25 18:19:55 +00:00
kaz eabbe63ba0 Fixing/cleaning up some of the plugins.
o Removed extraneous <mkdir>s
o Converted to new method of accessing properties


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112743 13f79535-47bb-0310-9956-ffa450edef68
2003-01-25 17:25:24 +00:00
kaz 9f191912b7 The checkstyle plugin does not need to create the maven.gen.docs
directory as the doc:jsl tag ensures this is done.


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112742 13f79535-47bb-0310-9956-ffa450edef68
2003-01-25 17:03:48 +00:00
kaz b5bae003a6 Fixing the javadoc plugin. It assumed the maven.gen.docs directory
already existed.  As a result, 'maven javadoc' would fail if it didn't
already exist.  Rather than doing yet another <mkdir> in the javadoc
plugin, I've created an xdoc:init goal that creates the directories.
Any plugin that requires the use of those directories should make this
goal a prereq.  I'll be going through all of the plugins to make this
change.


git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112741 13f79535-47bb-0310-9956-ffa450edef68
2003-01-25 16:42:51 +00:00