19 Commits

Author SHA1 Message Date
dion
b51fa7c5fa Fix URL
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@113142 13f79535-47bb-0310-9956-ffa450edef68
2003-03-19 05:36:14 +00:00
dion
49b623b2b4 Update repository url to reflect new home
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@113140 13f79535-47bb-0310-9956-ffa450edef68
2003-03-19 05:24:07 +00:00
dion
5c6fd0608a Update repository connection to reflect new home
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@113139 13f79535-47bb-0310-9956-ffa450edef68
2003-03-19 05:17:10 +00:00
dion
3760087de1 Change site directory to maven.apache.org
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@113138 13f79535-47bb-0310-9956-ffa450edef68
2003-03-19 05:09:58 +00:00
dion
cb63d3342a Support for custom doclets, per the patch from Todd Papaioannou on 26/06/2002
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@113042 13f79535-47bb-0310-9956-ffa450edef68
2003-03-04 02:27:55 +00:00
dion
55ba547d95 Add scm repo for reporting
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@113026 13f79535-47bb-0310-9956-ffa450edef68
2003-03-02 16:20:07 +00:00
bwalding
9873992dfe o Add new report deregister goal, modify register goal for slightly modified report method
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112977 13f79535-47bb-0310-9956-ffa450edef68
2003-02-23 15:57:06 +00:00
jvanzyl
49d0ed8dd9 o updating all plugin POMs.
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112915 13f79535-47bb-0310-9956-ffa450edef68
2003-02-11 22:33:56 +00:00
jvanzyl
0bf42fda77 snapshot version resolved POM
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112907 13f79535-47bb-0310-9956-ffa450edef68
2003-02-11 16:37:11 +00:00
dion
3867fb318f Remove unused xmlns
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112904 13f79535-47bb-0310-9956-ffa450edef68
2003-02-11 12:10:37 +00:00
bwalding
5a11b310ec MAVEN-264: Xdoc the text
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112902 13f79535-47bb-0310-9956-ffa450edef68
2003-02-11 10:16:45 +00:00
jvanzyl
2757cf66a9 o we need a little dyna tag to turn a txt file into an xdoc.
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112896 13f79535-47bb-0310-9956-ffa450edef68
2003-02-11 04:25:49 +00:00
bwalding
60026fa127 Added license property
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112876 13f79535-47bb-0310-9956-ffa450edef68
2003-02-10 08:26:57 +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
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
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
jvanzyl
e2e957cdde o Applying Rodney's patch for date checking in javadoc generation.
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112729 13f79535-47bb-0310-9956-ffa450edef68
2003-01-24 14:09:57 +00:00
jvanzyl
530c640d4f Initial revision
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@112724 13f79535-47bb-0310-9956-ffa450edef68
2003-01-24 03:44:26 +00:00