Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Introduction

How Did the Plugin Documentation Standard Form?

The plugin documentation standard was created to address the frequent complain of lack of documentation, specifically on Maven's plugins. The standard was based on the suggestion made on the maven-dev mailing list with some refinements. It is a community consensus of what basic documentation a Maven plugin should have.

Why Do We Need a Plugin Documentation Standard?

The standard was developed not as set of rules, but rather as a set of guidelines to help plugin developers better document their plugins, in order to the benefit of the users of the plugin. The standard reminds plugin developers of the important, default details that should always be documented when developing a plugin, in order to speed plugin adoption for new users.

Plugin Documentation Key

Status:
(tick) Completed (warning) In Progress (error) Not Started or Unassigned (may be taken by someone else)

Docck:
Result when running maven-docck-plugin. The number indicated is the number of errors reported by docck. (tick) is used when it passes (0 errors) docck.

Nav:
The Navigation links complies with the plugin documentation standards. (tick) Pass (error) Fail

Home:
The Plugin's home page complies with the documentation standards. (tick) Pass (error) Fail

JIRA Issues:
Documentation-related open issues. Mostly from questions posted in the mailing lists.

Published:
Whether the plugin site has been published. (tick) Published (error) Not published (question) Unknown

Maven Distributed Plugins

Plugin

Status

Docck

Nav

Home

Assigned To

JIRA Issues

Published

Maven Ant Plugin

(tick)

(tick)

(tick)

(tick)

Vincent Siveton

MANT-15

(tick)

Maven AntRun plugin

(tick)

(tick)

(tick)

(tick)

Allan Ramirez

MANTRUN-55

(tick)

Maven Archetype Plugin

(tick)

(tick)

(tick)

(tick)

Franz See

ARCHETYPE-45

(question)

Maven Assembly Plugin

(tick)

(tick)

(tick)

(tick)

Edwin Punzalan

MASSEMBLY-122

(tick)

Maven Clean Plugin

(tick)

(tick)

(tick)

(tick)

Edwin Punzalan

MCLEAN-13
MCLEAN-14

(tick)

Maven Compiler Plug-in

(tick)

(tick)

(tick)

(tick)

Edwin Punzalan

MCOMPILER-38

(tick)

Maven Dependency Plugin

(tick)

(tick)

(tick)

(tick)

Allan Ramirez

MDEP-30

(tick)

Maven Deploy Plug-in

(tick)

(tick)

(tick)

(tick)

Allan Ramirez

MDEPLOY-35

(tick)

Maven DOCCK Plugin

(tick)

(tick)

(tick)

(tick)

Dennis Lundberg

 

(tick)

Maven EAR Plugin

(tick)

(tick)

(tick)

(tick)

Edwin Punzalan

MEAR-32

(tick)

Maven Eclipse Plugin

(tick)

(tick)

(tick)

(tick)

Edwin Punzalan

MECLIPSE-125

(tick)

Maven EJB Plugin

(tick)

(tick)

(tick)

(tick)

Pete Marvin King

MEJB-17

(tick)

Maven Enforcer Plugin

(tick)

(tick)

(tick)

(tick)

Brian Fox

 

(tick)

Maven Help Plugin

(tick)

(tick)

(tick)

(tick)

Maria Odea Ching

MPH-17

(tick)

Maven IDEA Plug-in

(tick)

(tick)

(tick)

(tick)

Edwin Punzalan

MIDEA-59

(tick)

Maven Install Plug-in

(tick)

(tick)

(tick)

(tick)

Allan Ramirez

MINSTALL-27

(tick)

Maven Jar Plug-in

(tick)

(tick)

(tick)

(tick)

Dennis Lundberg

MJAR-48

(tick)

Maven One Plugin

(tick)

(tick)

(tick)

(tick)

Dennis Lundberg

MONE-4

(tick)

Maven Plugin Plugin

(tick)

(tick)

(tick)

(tick)

Maria Odea Ching

MPLUGIN-23

(tick)

Maven RAR Plugin

(tick)

(tick)

(tick)

(tick)

Allan Ramirez

MRAR-12

(tick)

Maven Release Plug-in

(tick)

(tick)

(tick)

(tick)

John Tolentino

MRELEASE-141

(tick)

Maven Resources Plug-in

(tick)

(tick)

(tick)

(tick)

Franz See

MRESOURCES-23

(tick)

Maven SCM Plug-in

(tick)

(tick)

(tick)

(tick)

Pete Marvin King

MSCM-218

(tick)

Maven Site Plugin

(tick)

(tick)

(tick)

(tick)

Maria Odea Ching

MSITE-158

(tick)

Maven Source plugin

(tick)

(tick)

(tick)

(tick)

Maria Odea Ching

MSOURCES-9

(tick)

Maven Surefire Plug-in

(tick)

(tick)

(tick)

(tick)

Allan Ramirez

MSUREFIRE-147

(tick)

Maven WAR Plugin

(tick)

(tick)

(tick)

(tick)

Pete Marvin King

MWAR-48

(tick)

Maven Verifier plugin

(tick)

(tick)

(tick)

(tick)

Denis Cabasson

MVERIFIER-2

(tick)

Maven Distributed Reports/Plugins

Plugin

Status

Docck

Nav

Home

Assigned To

JIRA Issues

Published

Maven Changelog Plugin

(tick)

(tick)

(tick)

(tick)

Maria Odea Ching

MCHANGELOG-40

(tick)

Maven Changes Plugin

(tick)

(tick)

(tick)

(tick)

Dennis Lundberg

 

(tick)

Maven Checkstyle Plugin

(tick)

(tick)

(tick)

(tick)

Maria Odea Ching

MCHECKSTYLE-49

(tick)

Maven Clover Plugin

(tick)

(tick)

(tick)

(tick)

Vincent Massol

MCLOVER-47

(tick)

Maven Javadoc Plug-in

(tick)

(tick)

(tick)

(tick)

Maria Odea Ching

MJAVADOC-79

(tick)

Maven JXR Plug-in

(tick)

(tick)

(tick)

(tick)

Maria Odea Ching

MJXR-14

(tick)

Maven PMD Plug-in

(tick)

(tick)

(tick)

(tick)

Mike Perham

MPMD-34

(tick)

Maven Project Info Reports

(tick)

(tick)

(tick)

(tick)

Pete Marvin King

MPIR-50

(tick)

Maven Surefire Report Plugin

(tick)

(tick)

(tick)

(tick)

Allan Ramirez

MSUREFIREREP-24

(tick)

References

Navigation Standard

Use the following template for your site.xml:

Code Block
xml
xml
titleTemplate for site.xml
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<project>
  <body>
    <menu name="Overview">
      <item name="Introduction" href="index.html"/>
      <item name="Goals" href="plugin-info.html"/>
      <item name="Usage" href="usage.html"/>
      <item name="FAQ" href="faq.html"/>
      <item name="Release Notes" href="jira-report.html"/>
    </menu>

    <menu name="Examples">
      <item name="description1" href="examples/example1.html"/>
      <item name="description2" href="examples/example2.html"/>
    </menu>
  </body>
</project>

Home Page Standard

Code Block
titleTemplate for index.apt
------
Introduction
------
Author
------
YYYY-MM-DD
------

~~ Licensed to the Apache Software Foundation (ASF) under one
~~ or more contributor license agreements.  See the NOTICE file
~~ distributed with this work for additional information
~~ regarding copyright ownership.  The ASF licenses this file
~~ to you under the Apache License, Version 2.0 (the
~~ "License"); you may not use this file except in compliance
~~ with the License.  You may obtain a copy of the License at
~~
~~   http://www.apache.org/licenses/LICENSE-2.0
~~
~~ Unless required by applicable law or agreed to in writing,
~~ software distributed under the License is distributed on an
~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~~ KIND, either express or implied.  See the License for the
~~ specific language governing permissions and limitations
~~ under the License.

~~ NOTE: For help with the syntax of this file, see:
~~ http://maven.apache.org/doxia/references/apt-format.html


Maven Plugin Name

  Plugin introduction, description, and other relevant information.

* Goals Overview

  General Information about the goals.

  * {{{goal.html}prefix:goal}} short description for this plugin goal.

* Usage

  General instructions on how to use the Plugin Name can be found on the {{{usage.html}usage page}}. Some more
  specific use cases are described in the examples given below. Last but not least, users occasionally contribute
  additional examples, tips or errata to the
  {{{http://docs.codehaus.org/display/MAVENUSER/Plugin+Name}plugin's wiki page}}.

  In case you still have questions regarding the plugin's usage, please have a look at the {{{faq.html}FAQ}} and feel
  free to contact the {{{mail-lists.html}user mailing list}}. The posts to the mailing list are archived and could
  already contain the answer to your question as part of an older thread. Hence, it is also worth browsing/searching
  the {{{mail-lists.html}mail archive}}.

  If you feel like the plugin is missing a feature or has a defect, you can fill a feature request or bug report in our
  {{{issue-tracking.html}issue tracker}}. When creating a new issue, please provide a comprehensive description of your
  concern. Especially for fixing bugs it is crucial that the developers can reproduce your problem. For this reason,
  entire debug logs, POMs or most preferably little demo projects attached to the issue are very much appreciated.
  Of course, patches are welcome, too. Contributors can check out the project from our
  {{{source-repository.html}source repository}} and will find supplementary information in the
  {{{http://maven.apache.org/guides/development/guide-helping.html}guide to helping with Maven}}. 

* Examples

  To provide you with better understanding on some usages of the Plugin Name,
  you can take a look into the following examples:

  * {{{examples/short-description1.html}Example Description One}}

  * {{{examples/short-description2.html}Example Description Two}}

FAQ Page Standard

Code Block
xml
xml
titleTemplate for faq.fml
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<faqs id="FAQ" title="Frequently Asked Questions">
  <part id="General">
    <faq id="question">
      <question>Question?</question>
      <answer>
        <p>
          Answer
        </p>
      </answer>
    </faq>
  </part>
</faqs>

Font Styles

Make the text font styles standard for:

  • goals - monospaced
    i.e. ( <<<install:install>>>)
  • parameter - monospaced
    i.e. ( <<<-DparameterName>>> )

Maven Docck Plugin currently checks if a plugin has the following:

Project Descriptor Requirements

Documentation Item

Implemented

Comment

modelVersion

(tick)

implemented by maven

groupId

(tick)

implemented by maven

artifactId

(tick)

implemented by maven

version

(tick)

implemented by maven

name

(tick)

 

description

(tick)

 

url

(tick)

 

issueManagement

(tick)

 

prerequisites >> maven

(tick)

 

inceptionYear

(tick)

 

mailingList

(tick)

WARN only

scm

(tick)

WARN only

organization

(tick)

 

plugin report

(tick)

 

licenses

(tick)

 

verify URLS

(tick)

 

Project Site Pages

Documentation Item

Implemented

Comment

site(html/apt/xdoc)

(tick)

 

index(html/apt/xdoc)

(tick)

 

usage(html/apt/xdoc)

(tick)

 

examples

(tick)

 

FAQ

(tick)

 

Project Site Descriptor

Documentation Item

Implemented

Comment

index.html link

(tick)

 

plugin-info.html link

(tick)

 

usage.html link

(tick)

 

faq.html link

(tick)

 

Plugin Javadoc Annotation Requirement

Documentation Item

Implemented

Comment

parameter description

(tick)

 

mojo description

(tick)