Index: xdocs/faq.fml =================================================================== RCS file: /home/cvspublic/maven/xdocs/faq.fml,v retrieving revision 1.5.4.6 diff -u -r1.5.4.6 faq.fml --- xdocs/faq.fml 27 Jun 2004 11:08:05 -0000 1.5.4.6 +++ xdocs/faq.fml 20 Jul 2004 22:35:10 -0000 @@ -40,7 +40,7 @@

The Reference section contain a comprehensive user guide and documentation about the various plugins that exist for - maven. Furthermore there's a maven wiki. + maven. Furthermore there's a Maven wiki. (Don't know what that is? Read What is wiki?)

@@ -141,7 +141,7 @@ - Maven takes a long time to load. Is there anyway to speed things ? + Maven takes a long time to load. Is there anyway to speed things up? You can use the Console Plugin to @@ -207,7 +207,7 @@ ]]>

- Also make sure that Xalan is declared as dependencies in your project file: + Also make sure that Xalan is declared as a dependency in your project file:

@@ -223,7 +223,7 @@ How to download a new plugin -maven -DartifactId=artifactID -DgroupID=GROUPID -Dversion=VERSION plugin:download +maven -DartifactId=artifactID -DgroupId=GROUPID -Dversion=VERSION plugin:download
Index: xdocs/features.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/features.xml,v retrieving revision 1.12.10.1 diff -u -r1.12.10.1 features.xml --- xdocs/features.xml 4 Mar 2004 17:45:56 -0000 1.12.10.1 +++ xdocs/features.xml 20 Jul 2004 13:24:13 -0000 @@ -34,7 +34,7 @@ Development and management of your project is controlled from the the project model. Currently you can store your project object model in an XML file, but we are also working on RDBMS - storage using + storage using ObjectBridge. Here's what a Maven POM looks like in XML form. @@ -47,7 +47,8 @@
  • - Integration with Gump. For those who are not familiar with Gump it + Integration with Gump. + For those who are not familiar with Gump it is a tool used at Jakarta to help projects maintain backward compatibility with their clients. If you have a Maven project descriptor then you can easily participate in nightly Gump @@ -64,7 +65,7 @@ set based on your project's sources. Currently Maven provides the following:

    Index: xdocs/ant-guide/design.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/ant-guide/design.xml,v retrieving revision 1.2.10.1 diff -u -r1.2.10.1 design.xml --- xdocs/ant-guide/design.xml 4 Mar 2004 17:45:56 -0000 1.2.10.1 +++ xdocs/ant-guide/design.xml 21 Jul 2004 11:36:58 -0000 @@ -64,13 +64,13 @@ ]]>

    - You'd then call this build.xml file using ant from the command prompt + You'd then call this build.xml file using ant from the command prompt:

    ant compile

    This isn't too hard to do, and as you move from project to project you become better at this, and understand Ant better, learning what each - of the options is for and what the best way to write these snippets is. + of the options are for and what the best way to write these snippets is.

    Maven, however, takes a far more declarative approach. You must @@ -88,13 +88,13 @@

    To compile your code, you just need to specify that you have a - sourceDirectory and then ask maven to compile using + sourceDirectory and then ask maven to compile using:

    maven java:compile

    There's no need for the developer to understand how to write a plugin to use one. And several plugins can share the same information. For example - the plugin that checks source code conforms to a coding standard uses + the plugin that checks that source code conforms to a coding standard uses the same sourceDirectory as the plugin that compiles code.

    Index: xdocs/ant-guide/index.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/ant-guide/index.xml,v retrieving revision 1.1.1.1.10.1 diff -u -r1.1.1.1.10.1 index.xml --- xdocs/ant-guide/index.xml 4 Mar 2004 17:45:56 -0000 1.1.1.1.10.1 +++ xdocs/ant-guide/index.xml 21 Jul 2004 11:32:20 -0000 @@ -36,7 +36,7 @@

    - This guide covers the in and outs of using Maven from the perspective + This guide covers the ins and outs of using Maven from the perspective of an existing Ant user.

    Index: xdocs/ant-guide/terminology.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/ant-guide/terminology.xml,v retrieving revision 1.2.10.3 diff -u -r1.2.10.3 terminology.xml --- xdocs/ant-guide/terminology.xml 8 Jul 2004 11:56:05 -0000 1.2.10.3 +++ xdocs/ant-guide/terminology.xml 21 Jul 2004 11:40:20 -0000 @@ -29,7 +29,7 @@

    This section covers what different components are called in each - of Maven and Ant + of Maven and Ant.

    Index: xdocs/ant-guide/qna/antfarming.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/ant-guide/qna/Attic/antfarming.xml,v retrieving revision 1.1.2.3 diff -u -r1.1.2.3 antfarming.xml --- xdocs/ant-guide/qna/antfarming.xml 10 Jul 2004 01:24:24 -0000 1.1.2.3 +++ xdocs/ant-guide/qna/antfarming.xml 21 Jul 2004 11:52:06 -0000 @@ -33,7 +33,7 @@

    To do anything with Maven, you will still need to set up a - project.xml file with the information you need to do + project.xml file with the information you need to do the Maven tasks you are using.

    @@ -58,7 +58,7 @@ - + Index: xdocs/ant-guide/qna/help.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/ant-guide/qna/Attic/help.xml,v retrieving revision 1.1.2.1 diff -u -r1.1.2.1 help.xml --- xdocs/ant-guide/qna/help.xml 10 Jul 2004 01:24:24 -0000 1.1.2.1 +++ xdocs/ant-guide/qna/help.xml 21 Jul 2004 23:08:41 -0000 @@ -34,17 +34,17 @@

    If you were using Ant, you'd probably run ant -projecthelp, and if that didn't help, - just run "ant" and hope the defualt goal is what you wanted. + just run "ant" and hope the default target is what you wanted. A build.properties.sample file may have been provided so you'd copy that and edit it to see if that helped. Then you'd fix individual problems as they came up. - If everything goes wrong and you can't find the right goal or what property it's expecting, you dig into + If everything goes wrong and you can't find the right target or what property it's expecting, you dig into build.xml and look at what it is attempting.

    The process for Maven should be simpler unless the project is being really unhelpful.

    - +

    If there is no maven.xml file, then you know the build hasn't been customised so you can rely on a few things working. @@ -57,11 +57,11 @@

    You shouldn't expect to have to define any properties outside what the project has provided and you have - already defined to get Maven running, as only the standard Mavne plugin properties are being used, and you + already defined to get Maven running, as only the standard Maven plugin properties are being used, and you know how they behave.

    - +

    If there is a maven.xml file, then the build has been customised. You can still rely on the above goals doing what they advertise, but they might not be the recommended way of building that Index: xdocs/ant-guide/qna/hooks.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/ant-guide/qna/Attic/hooks.xml,v retrieving revision 1.1.2.2 diff -u -r1.1.2.2 hooks.xml --- xdocs/ant-guide/qna/hooks.xml 10 Jul 2004 01:24:24 -0000 1.1.2.2 +++ xdocs/ant-guide/qna/hooks.xml 21 Jul 2004 11:46:26 -0000 @@ -41,7 +41,8 @@ So, here is a sample maven.xml file that demonstrates how this would be achieved:

    - + + @@ -52,7 +53,8 @@ - + + ... ]]> Index: xdocs/ant-guide/qna/speed.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/ant-guide/qna/speed.xml,v retrieving revision 1.1.1.1.10.2 diff -u -r1.1.1.1.10.2 speed.xml --- xdocs/ant-guide/qna/speed.xml 8 Jul 2004 11:56:06 -0000 1.1.1.1.10.2 +++ xdocs/ant-guide/qna/speed.xml 21 Jul 2004 11:43:22 -0000 @@ -44,7 +44,7 @@

    Part of the misconception comes from claims that building the site or building 30 projects takes a lot of CPU and memory. Well, this would happen in Ant too if it were attempted! - This area is also a focus for future development so generating these types of parts of the build + This area is also a focus for future development so that generating these parts of the build are much faster.

    Index: xdocs/apache/index.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/apache/index.xml,v retrieving revision 1.1.10.1 diff -u -r1.1.10.1 index.xml --- xdocs/apache/index.xml 4 Mar 2004 17:45:56 -0000 1.1.10.1 +++ xdocs/apache/index.xml 20 Jul 2004 14:40:46 -0000 @@ -30,7 +30,7 @@

    This section is a placeholder for various resources that the Apache Software - Foundation provides that are relevant to Maven users and developers + Foundation provides that are relevant to Maven users and developers.

    Index: xdocs/development/branches.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/development/branches.xml,v retrieving revision 1.2.10.1 diff -u -r1.2.10.1 branches.xml --- xdocs/development/branches.xml 4 Mar 2004 17:45:57 -0000 1.2.10.1 +++ xdocs/development/branches.xml 20 Jul 2004 15:17:56 -0000 @@ -47,7 +47,7 @@

    - The CVS book describes multiple + The CVS book describes multiple approaches to performing development using branches. We decided that the simplest approach called Flying Fish technique will fit our needs best. It involves creating a branch when there is a need for a separate thread of @@ -89,7 +89,7 @@

    If you wish to learn more about branches, download the CVS book at - Red Bean.com, or browse a + Red Bean.com, or browse a CVS manual online.

    Index: xdocs/misc/articles.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/misc/articles.xml,v retrieving revision 1.4.2.5 diff -u -r1.4.2.5 articles.xml --- xdocs/misc/articles.xml 14 Apr 2004 00:52:41 -0000 1.4.2.5 +++ xdocs/misc/articles.xml 20 Jul 2004 15:57:09 -0000 @@ -54,7 +54,7 @@
  • - The Stairway to Maven by Siegfried G?SCHL + The Stairway to Maven by Siegfried GÖSCHL
  • Index: xdocs/misc/glossary.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/misc/glossary.xml,v retrieving revision 1.1.10.1 diff -u -r1.1.10.1 glossary.xml --- xdocs/misc/glossary.xml 4 Mar 2004 17:45:57 -0000 1.1.10.1 +++ xdocs/misc/glossary.xml 21 Jul 2004 23:04:41 -0000 @@ -57,7 +57,7 @@ Maven is provided by a plugin. Plugins are Jelly scripts which are given the POM to perform their task. Examples of plugins are: jar, eclipse, war. You usually call a plugin with its name, such as - maven jar. Plugins can be added, removed, edited at + maven jar. Plugins can be added, removed and edited at runtime. @@ -75,10 +75,10 @@ The Project Object Model, almost always referred as the POM, is the document that Maven needs to work with your project. Its name is - "project.xml" and is located in the root directory of your project. + "project.xml" and it is located in the root directory of your project.

    To learn how to build the POM for your project, please read - this document. + this document.

    @@ -87,8 +87,9 @@ A repository is an structured storage of project artifacts. Those artifacts are organized under the following structure: - $MAVEN_REPO/project id/artifact - type/project-version.extension. +

    + $MAVEN_REPO/project id/artifact type/project-version.extension +

    For instance, a Maven JAR artifact will be stored in a repository under /foo/maven/jars/maven-1.0_beta-8.jar. @@ -97,7 +98,7 @@ There are different repositories that Maven uses. The "remote repository" is the global repository (or one of its mirrors) used to download missing artifacts. The "central repository" is the one - used for a site-wide installation (for developpers of a company + used for a site-wide installation (for developers of a company for instance). The "local repository" is the one that you will have on your computer. The local repository is filled with dependencies coming from either the central repository or the Index: xdocs/misc/index.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/misc/index.xml,v retrieving revision 1.1.10.1 diff -u -r1.1.10.1 index.xml --- xdocs/misc/index.xml 4 Mar 2004 17:45:57 -0000 1.1.10.1 +++ xdocs/misc/index.xml 20 Jul 2004 15:21:22 -0000 @@ -34,7 +34,6 @@

  • Articles about Maven
  • A glossary of terms used in this documentation
  • Sites powered by Maven
  • -
  • Tasks awaiting volunteers
  • Index: xdocs/misc/powered.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/misc/powered.xml,v retrieving revision 1.6.2.2 diff -u -r1.6.2.2 powered.xml --- xdocs/misc/powered.xml 9 Mar 2004 22:38:54 -0000 1.6.2.2 +++ xdocs/misc/powered.xml 20 Jul 2004 15:26:15 -0000 @@ -43,6 +43,12 @@ + Astrogrid + + Astrogrid, is a $6.8M project aimed at building a data-grid for UK astronomy. + + + BCEL Java Byte Code Engineering Library. @@ -55,14 +61,14 @@ - Betwixt + Commons Betwixt An XML introspection mechanism for mapping beans to XML in a flexible way. - CLI + Commons CLI A simple and easy to use API for working with the command line arguments and options. @@ -75,13 +81,44 @@ - Commons File Upload + Commons File Upload File upload component that uses the Java Activation Framework. - Commons Net + Commons Jelly + + An XML based scripting and processing engine. + + + + Commons Jexl + + Jexl is an implementation of the JSTL Expression Language with extensions. + + + + Commons JXPath + + A simple interpreter of an expression language called XPath. + + + + Commons Latka + + Latka is a functional (end to end) testing tool. + + + + Commons Messenger + + A JMS (Java Message Service) framework which makes it very easy to + use JMS in Web Service and Web Application environments. + + + + Commons Net Commons client network components. @@ -99,7 +136,7 @@ - DataForge + DataForge A pipeline based data extraction tool capable of querying a wide variety of data sources. @@ -190,13 +227,7 @@ - Jelly - - An XML based scripting and processing engine. - - - - Jetspeed + Jetspeed Portal Framework. @@ -208,12 +239,6 @@ - Jexl - - Jexl is an implementation of the JSTL Expression Language with extensions. - - - jpox JPOX is a Java Data Objects (JDO) API implementation. @@ -242,18 +267,6 @@ - JXPath - - A simple interpreter of an expression language called XPath. - - - - Latka - - Latka is a functional (end to end) testing tool. - - - Maven The future of all projects! @@ -272,13 +285,6 @@ - Messenger - - A JMS (Java Message Service) framework which makes it very easy to - use JMS in Web Service and Web Application environments. - - - Middlegen Database driven code generator. @@ -290,7 +296,7 @@ Millionenklick originally is a free game run by web.de at the URL http://millionenklick.web.de, - where you can win up to one millionen euro daily - for free. + where you can win up to one million euro daily - for free. MillionenKlicker is a little program fills in the online forms automagically and plays the game daily. @@ -302,7 +308,7 @@ - Mule + Mule Mule is a simple yet robust and highly scalable broker and services framework. It is designed as a light-weight, @@ -312,7 +318,7 @@ - ObjectBridge + ObjectBridge Persistence Layer. @@ -446,12 +452,6 @@ XMLRPC Java XMLRPC implementation. - - - - Astrogrid - - Astrogrid, is a $6.8M project aimed at building a data-grid for UK astronomy. Index: xdocs/reference/dirlayout.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/reference/dirlayout.xml,v retrieving revision 1.9.4.4 diff -u -r1.9.4.4 dirlayout.xml --- xdocs/reference/dirlayout.xml 24 Apr 2004 23:04:34 -0000 1.9.4.4 +++ xdocs/reference/dirlayout.xml 21 Jul 2004 22:14:13 -0000 @@ -49,7 +49,7 @@ The next two sections document the directory layout expected by Maven and the directory layout created by Maven. Please try to conform to this structure as much as possible; however, if you - must these settings can be overridden via properties as + can't these settings can be overridden via properties as documented in the Integration document.

    @@ -66,7 +66,7 @@ The license for the project. This file contains the license that applies to the project. - Each source file should included this header. By default, + Each source file should include this header. By default, if a source file does not include this file, it will be noted in the Checkstyle report that is generated. @@ -78,13 +78,13 @@ The code may be placed into separate source code directories by language, as in src/java/ and src/php/ for source code in the Java and PHP languages respectively. The separation into - directories according to function (src/share, src/core, src/web) - is currently not supported by Maven. It is highly recommended that + directories according to function (src/share/, src/core/, src/web/) + is currently not supported by Maven. It is highly recommended that sub-directories be used under src/. - src/test + src/test/ Unit test source code. This directory typically contains all of the unit testing @@ -93,7 +93,7 @@ - src/announcements + src/announcements/ Contains a record of announcements. This directory is used to maintain a record of announcements sent @@ -125,27 +125,24 @@ Maven projects use Jelly stylesheets to transform documentation files in XML into HTML (XHTML for the most part). This file - includes the navigation links that are added to each xdoc transformed - in the xdocs directory. Documentation on the + includes the navigation links that are added to each xdoc transformed + in the xdocs directory. Documentation on the xdocs/project.xml format is available. For backwards compatibility, this file may also be located in the xdocs/stylesheets directory. -

    - See site creation documentation for more information - including details of the enhancements Maven has made to the xdoc format. - +

    + See site creation documentation for more information + including details of the enhancements Maven has made to the xdoc format. +

    project.properties A file defining project properties. -

    - This file can be used to override Maven default properties - for the core and properties for the various plugins. -

    - + This file can be used to override Maven default properties + for the core and properties for the various plugins.

    It can also be used to define any Maven properties used by a project. The properties defined in this file should be @@ -159,16 +156,14 @@ build.properties A file defining project properties for a specific build. + This file can be used to override Maven default properties + for the core, plugins or any project default properties + (defined in ${project.home}/project.properties).

    - This file can be used to override Maven default properties - for the core, plugins or any project default properties - (defined in ${project.home}/project.properties). -

    -

    - The properties defined in - this file should not be checked into CVS because they are - specific to a build, as opposed to project-wide properties - defined in ${project.home}/project.properties. + The properties defined in + this file should not be checked into CVS because they are + specific to a build, as opposed to project-wide properties + defined in ${project.home}/project.properties.

    @@ -183,7 +178,7 @@ target/ - Contains compiled classes and JARs. + Contains JARs. The contents of the target/ directory should be enough to use the project. This directory contains the final JARs @@ -191,8 +186,8 @@ - target/classes - Contains compiled classes and JARs. + target/classes/ + Contains compiled classes. The target/classes directory contains all compiled classes. This directory is used when packaging the final JAR for a @@ -200,7 +195,7 @@ - target/test-classes + target/test-classes/ Contains compiled unit test classes. The target/test-classes directory contains all compiled unit @@ -209,22 +204,22 @@ - target/generated-docs + target/generated-xdocs/ Contains Maven generated xdocs. - The target/generated-docs directory contains all of the + The target/generated-xdocs directory contains all of the Maven-generated xdocs. All content generated by Maven is first converted to xdoc format, so the same stylesheet used to transform the rest of the site, can be used on generated content. The contents of this directory are transformed and - stored in the docs/ directory. + stored in the target/docs/ directory. - target/test-reports + target/test-reports/ Contains the individual unit test results. - The test-reports/ directory contains individual unit test + The target/test-reports directory contains individual unit test reports in both XML and plain text formats. The reports in this directory is used when Maven creates the final unit test report. @@ -234,7 +229,7 @@ target/docs Documentation files intended for the website publication. - The docs/ directory contains only generated documentation + The target/docs directory contains only generated documentation that is intended to be published as the project's website. This directory includes the Velocity/DVSL generated HTML files, JavaDocs, cross-referenced sources, and various @@ -258,29 +253,29 @@ - target/docs/apidocs + target/docs/apidocs/ API documentation. Maven automatically generates JavaDocs for projects using the JavaDoc utility. Placing the API documentation under - docs/apidocs/ makes it slightly easier for other - documentation files under docs/ to reference API + target/docs/apidocs/ makes it slightly easier for other + documentation files under target/docs/ to reference API documentation and vice versa. - target/docs/xref + target/docs/xref/ Cross-referenced source code. Maven automatically generates cross-referenced source code that enables easy browsing of an entire source tree. - Placing the cross-referenced sources under docs/xref/ makes - it slightly easier for other documentation files under docs/ + Placing the cross-referenced sources under target/docs/xref/ makes + it slightly easier for other documentation files under target/docs/ to reference cross-referenced sources and vice versa. - target/docs/xref-test + target/docs/xref-test/ Cross-referenced test source code. Maven automatically generates cross-referenced test @@ -323,15 +318,16 @@ The CVS change log. Maven automatically generates a change log from CVS log - messages. This log is currently limited to the past 30 days - (but will be configurable in the future). + messages. This log contains the changes made during the past + 30 days. The number of days is configurable via + properties. target/docs/file-activity-report.html The File Activity Report. - Maven automatically generates a log from your SCM listing + Maven automatically generates a log from your SCM, listing file changes in the last 30 days. @@ -339,7 +335,7 @@ target/docs/developer-activity-report.html The Developer Activity Report. - Maven automatically generates a log from your SCM listing + Maven automatically generates a log from your SCM, listing changes per developer in the last 30 days. @@ -374,7 +370,8 @@

    - It is recommended to include a .cvsignore file in + It is recommended to include a .cvsignore file, + that contains the text target, in the top-level directory under CVS control in order to avoid the distracting "?" message output during CVS update.

    Index: xdocs/reference/index.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/reference/index.xml,v retrieving revision 1.9.4.1 diff -u -r1.9.4.1 index.xml --- xdocs/reference/index.xml 4 Mar 2004 17:45:57 -0000 1.9.4.1 +++ xdocs/reference/index.xml 20 Jul 2004 15:01:35 -0000 @@ -56,7 +56,7 @@ - FAQ + FAQ The answers to your frequently asked questions, including where to get more information. @@ -73,7 +73,7 @@ - Ant Guide + Ant Guide The Ant Guide is intended to help Ant users migrate to Maven, and to answer common practical questions. Index: xdocs/reference/metrics.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/reference/metrics.xml,v retrieving revision 1.1.10.1 diff -u -r1.1.10.1 metrics.xml --- xdocs/reference/metrics.xml 4 Mar 2004 17:45:57 -0000 1.1.10.1 +++ xdocs/reference/metrics.xml 20 Jul 2004 15:34:52 -0000 @@ -40,7 +40,7 @@ href="http://www.objectmentor.com/resources/articles/oodmetrc.pdf">Object Oriented Design Quality Metric - An Analysis. See also McCabe publication Structured + href="http://www.mccabe.com/iq_research_nist.htm">Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric

    Index: xdocs/reference/project-descriptor.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/reference/project-descriptor.xml,v retrieving revision 1.29.2.7 diff -u -r1.29.2.7 project-descriptor.xml --- xdocs/reference/project-descriptor.xml 13 Jul 2004 12:08:50 -0000 1.29.2.7 +++ xdocs/reference/project-descriptor.xml 21 Jul 2004 23:22:57 -0000 @@ -30,7 +30,7 @@

    Maven utilizes an XML project descriptor to generate an object model for a project. This object model can then be manipulated - using an interface to the Maven. + using an interface to Maven. In the future, other interfaces may be provided such as a CLI or JMX. This document describes the valid XML elements and attributes that constitute a Maven project descriptor. @@ -251,7 +251,7 @@ The short name of the project group. This value is used to group all jars for a project in one directory. For more info look at the - user guide. + user guide. @@ -318,7 +318,8 @@ shortDescription A short description of the project. The short description - should be limited to a single line. + should be limited to a single line. This description is used in + manifest files. @@ -401,8 +402,9 @@ mailingLists Contains information about a project's mailing lists. This - is used to generate the front - page of the site's web site. + is used to generate the + Mailing lists page of + the project's web site. @@ -454,7 +456,7 @@ properties - Project properties that will be used by various plugins + Project properties that will be used by various plugins. @@ -510,7 +512,7 @@

    scm:cvs:pserver:user@host:/cvs/root:module-name

    - For local networked repositories (eg. pserver to local machine) + For local networked repositories (eg. pserver to local machine):

    scm:cvs:lserver:user@host:/cvs/root:module-name

    @@ -528,7 +530,7 @@ colon (:) in it.

    - For local file system repositories + For local file system repositories:

    scm:cvs:local:ignored:/cvs/root:module-name

    @@ -539,24 +541,24 @@ administrator.

    - The delimiter is determined by the character after "scm". eg. - scm|cvs|pserver|user@host|/cvs/root|module-name - is equivalent to that listed above. This can be useful for Windows users - who have : in their cvsroot parameter (eg. D:\cvsroot) + The delimiter is determined by the character after "scm". eg. + scm|cvs|pserver|user@host|/cvs/root|module-name + is equivalent to that listed above. This can be useful for Windows users + who have : in their cvsroot parameter (eg. D:\cvsroot).

    Where pserver is the protocol used to access CVS, user@host is the user name to log in to the specified cvs host, /cvs/root is the cvs root directory, and module-name is the name of the cvs - module to be worked on + module to be worked on.

    -

    As an example, the settings for an Apache project are usually: +

    As an example, the settings for an Apache project usually are:

    scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:module-name

    Currently CVS, Starteam and SubVersion are the only supported scm's. - Others will be added as soon as possible + Others will be added as soon as possible.

    @@ -570,7 +572,7 @@ url - Optional. The URL to the project's browsable CVS repository + Optional. The URL to the project's browsable CVS repository. @@ -578,7 +580,7 @@

    This element describes each of the previous versions of the project. Each version is described by a version - element + element.

    @@ -616,7 +618,7 @@

    This element describes each of the branches of the project. Each branch is described by a tag - element + element.

    @@ -636,7 +638,7 @@

    This element describes all of the mailing lists associated with - a project. Each mailing list is described by a + the project. Each mailing list is described by a mailingList element, which is then described by additional elements (described below). The auto-generated site documentation references this information. @@ -660,7 +662,7 @@

    - +
    unsubscribe - The email address or link that can be used to unsubscribe to + The email address or link that can be used to unsubscribe from the mailing list. If this is an email address, a mailto: link will automatically be created when the documentation is created. @@ -668,14 +670,16 @@
    archiveThe link to a URL that can browse the archive. + The URL where you can browse the archive for the mailing list. +

    - This element describes all of the developers associated with a + This element describes all of the developers associated with the project. Each developer is described by a developer element, which is then described by additional elements (described below). The auto-generated site @@ -704,13 +708,13 @@ roles The roles the developer plays in the project. Each role is - describe by a role element, the body of which is a + described by a role element, the body of which is a role name. url - The URL for the homepage of the developer + The URL for the homepage of the developer. timezone @@ -724,9 +728,9 @@

    - This element describes all of the contributors associated with a + This element describes all of the contributors associated with the project who are not developers. Each contributor is described by a - contributor element, which is then describe by additional + contributor element, which is then described by additional elements (described below). The auto-generated site documentation references this information.

    @@ -749,13 +753,13 @@ roles The roles the contributor plays in the project. Each role is - describe by a role element, the body of which is a + described by a role element, the body of which is a role name. url - The URL for the homepage of the contributor + The URL for the homepage of the contributor. timezone @@ -771,7 +775,7 @@

    This element describes all of the licenses for this project. Each license is described by a - license element, which is then describe by additional + license element, which is then described by additional elements (described below). The auto-generated site documentation references this information. Projects should only list the license(s) that applies to the project and not the licenses that apply to dependencies. @@ -785,7 +789,7 @@ url - The official url for the license text. + The official URL for the license text. distribution @@ -804,7 +808,7 @@

    - This element describes all of the dependencies associated with a + This element describes all of the dependencies associated with the project. Each dependency is described by a dependency element, which is then described by additional elements (described below). @@ -815,7 +819,7 @@

    Maven can automatically download these - dependencies from a remote repository. + dependencies from a remote repository.

    The filename that Maven downloads from the repository is @@ -852,10 +856,10 @@ id -

    The name of the dependency.

    + The name of the dependency.

    Note: The use of the id element for - a dependency is deprecated. Please use groupId and + a dependency is deprecated. Please use groupId and artifactId together instead.

    @@ -870,18 +874,18 @@ artifactId The unique id for an artifact produced by the project group, e.g. - jboss-boot + jboss-boot. version - The version of the dependency., e.g. 3.2.1 + The version of the dependency, e.g. 3.2.1. jar - The name of jar file if it doesn't respect - <artifactId>-<version>.jar pattern. + The name of jar file if it doesn't respect the + <artifactId>-<version>.jar pattern. type @@ -896,9 +900,9 @@ url - The url of the dependency's homepage. + The URL of the dependency's homepage.

    - This url will be provided to the user if the jar file cannot be downloaded + This URL will be provided to the user if the jar file cannot be downloaded from the central repository.

    @@ -919,7 +923,7 @@

    This element describes all of the build properties associated - with a project. There are several elements that describe a + with the project. There are several elements that describe a project's build environment. Each one is described below:

    @@ -948,7 +952,7 @@ @@ -964,7 +968,7 @@ - +
    sourceModifications This element specifies how source code will be excluded or included - depending on the presence of a given class. e.g. + depending on the presence of a given class.
    integrationUnitTestSourceDirectory - This element is deprecated and should no longer be used. + This element is deprecated and should no longer be used. Initially it was used by the first Cactus plugin. Now the location of the Cactus test sources is defined through a plugin property. See the @@ -989,7 +993,7 @@
    resourcesDescribe the resources associated with the projectDescribe the resources associated with the project.
    @@ -1001,39 +1005,24 @@ to exclude or include various source depending on the environment the build is running in.

    - -

    sourceModification elements

    +

    + Note: not all plugins support the sourceModifications element. +

    - - - - - - - - - - + +
    ElementDescription
    className - If the class with this name can not be - loaded, then the includes and excludes specified below - will be applied to the contents of the - sourceDirectory -
    includesDescribe the files to be included if the class was not found
    excludesDescribe the files to be excluded if the class was not foundsourceModificationEach source modification must be defined in a sourceModification element.

    - Note: not all plugins support the sourceModifications element. -

    -

    An example below always excludes the classes beginning with EJS and _.

    - fakeClass + FakeClass **/EJS*.java **/_*.java @@ -1041,31 +1030,52 @@ ]]> - +
    + + + + + + + + + + + + + + + +
    ElementDescription
    className + If the class with this name can not be + loaded, then the includes and excludes specified below + will be applied to the contents of the + sourceDirectory. +
    includesDescribe the files to be included if the class was not found.
    excludesDescribe the files to be excluded if the class was not found.
    - + - + - +
    ElementDescription
    includesDescribe the includes unit testsDescribe the unit tests to include.
    excludesDescribe the excludes unit testsDescribe the unit tests to exclude.
    resourcesDescribe the resources associated with unit testsDescribe the resources associated with unit tests.

    - This element describes all of the resources associated with a project or unit tests. + This element describes all of the resources associated with the project or unit tests. Each resource is described by a resource element, which is then described by additional elements (described below). These resources are used to - complete the jar file or to run unit test. + complete the jar file or to run unit tests.

    @@ -1075,7 +1085,7 @@
    ElementDescription

    - Here's an example resources block + Here's an example resources block:

    @@ -1110,18 +1120,18 @@ targetPath - Describe the resource target path. For example, if you want that resource - appear into a specific package (org.apache.maven.messages), you must specify this - element with this value : org/apache/maven/messages + Describe the resource target path. For example, if you want that resource to + appear in a specific package (org.apache.maven.messages), you must specify this + element with this value: org/apache/maven/messages. includes - Describe the includes files to the project + Describe the files to be included in the project. excludes - Describe the excludes files to the project + Describe the files to be excluded from the project. filtering @@ -1159,7 +1169,7 @@

    This element includes the specification of reports to be - included in a Maven-generated site. These reports will be run + included in the Maven-generated site. These reports will be run when a user executes maven site. All of the reports will be included in the navigation bar for browsing in the order they are specified. Index: xdocs/reference/user-guide.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/reference/user-guide.xml,v retrieving revision 1.63.4.10 diff -u -r1.63.4.10 user-guide.xml --- xdocs/reference/user-guide.xml 15 Jul 2004 08:25:35 -0000 1.63.4.10 +++ xdocs/reference/user-guide.xml 21 Jul 2004 23:29:30 -0000 @@ -129,7 +129,7 @@

    What resulted is a tool that can now be used for building and managing any Java-based project. We hope that we have created something that - will make the day-to-work work of Java developers easier and generally + will make the day-to-day work of Java developers easier and generally help with the comprehension of any Java-based project.

    @@ -147,7 +147,7 @@

    - This document outlines how the POM is processing during Maven + This document outlines how the POM is processed during Maven execution. Some simple forms of POM inheritance are shown, and the interpolation mechanism is demonstrated.

    @@ -156,7 +156,7 @@

    The POM, in its familiar project.xml form, is now processed as a Jelly script. In the majority of cases users won't care that the project.xml - is really a Jelly script under the covers but it does allow the use + is really a Jelly script under the covers but it does allow the use of interpolated values if you wish. I would rather not see logic start cropping up in project.xml files but the flexibility is there now that the project.xml file is a stealth Jelly script :-) Below is an example @@ -168,9 +168,9 @@ 3 - maven maven Maven + maven 1.0-b5-dev Apache Software Foundation @@ -199,11 +199,11 @@ - project.xml + parent-project.xml - super-extendo super-extendo Super Extendo + super-extendo @@ -234,9 +234,9 @@ 3 - commons commons-master Commons Master Maven POM + commons Apache Software Foundation @@ -269,9 +269,10 @@ - commons-betwixt + master-project.xml commons-betwixt Betwixt + commons-betwixt ... ]]> @@ -328,7 +329,7 @@ jar or test is executed.

    - Maven uses Jelly + Maven uses Jelly as it's scripting language, and any valid jelly tags can be placed in the maven.xml.

    @@ -389,7 +390,7 @@

    This tells Jelly that all XML elements prefixed with j: are part of the predefined tag library registered with jelly - under the identifier core + under the identifier core.

  • @@ -405,7 +406,7 @@

    Any Jelly tag library you want to use in your maven.xml must be declared in the project element and given - a namespace prefix + a namespace prefix.

    Maven pre-registers the jeez tag library with an empty prefix. @@ -436,13 +437,13 @@ Maven plugins prefix the goals they define with the plugin name, so that they wont clash with your goals, e.g. jar:jar is the goal defined by the jar plugin to create a jar file - from your project + from your project.

    Inside of each goal, there are Jelly tags that you provide - to perform functionality. Let's look at the code from our sample + to perform functionality. Let's look at the code from our sample:

    set
    ]]> @@ -460,7 +461,7 @@ ]]>

    This executes the Ant task mkdir, which simply creates a directory. - The directory is specified using a variable, ${maven.build.dir} + The directory is specified using a variable, ${maven.build.dir}.

    tokenize
    ${goals}]]> @@ -475,7 +476,7 @@
    • The var attribute is the variable that will - be assigned the new list. + be assigned the new list
    • The delim attribute is the delimiter used to separate @@ -505,7 +506,7 @@
    • The var attribute specifies the variable to place each item in, as the collection is processed. The variable is available - to the forEach body. + to the forEach body
    • The indexVar attribute specifies the variable to place @@ -538,7 +539,7 @@

      Where the last definition wins. So, Maven moves through this sequence - of properties files overridding any previously defined properties with + of properties files overriding any previously defined properties with newer definitions. In this sequence your ${user.home}/build.properties has the final say in the list of properties files processed. We will call the list of properties files that Maven processes the standard properties file set. @@ -626,13 +627,13 @@ maven.build.dir The directory where generated output, e.g. class files, documentation, - unit test reports etc goes + unit test reports etc goes.

      CAUTION: Changing default maven.build.dir value in your ${user.home}/build.properties might allow one some control of individual project directory layouts. However this practice will interfere with the bootstrap of Maven from source - code, as it expects the jar created to be in ${basedir}/target/ + code, as it expects the jar created to be in ${basedir}/target/.

      ${basedir}/target @@ -649,7 +650,7 @@ maven.conf.dir - The directory that holds configuration files + The directory that holds configuration files. ${basedir}/conf @@ -674,7 +675,7 @@ maven.docs.outputencoding - The character encoding for generated documentation + The character encoding for generated documentation. ISO-8859-1 @@ -700,7 +701,7 @@ maven.home.local The directory on the local machine maven uses to write user specific details - to such as expanded plugins and cache data. + to, such as expanded plugins and cache data. ${user.home}/.maven @@ -716,7 +717,7 @@ maven.plugin.dir - Where maven can find it's plugins + Where maven can find it's plugins. ${maven.home}/plugins @@ -769,7 +770,7 @@ maven.repo.remote The repository maven should use to download artifacts - (jars etc) that it can't find in the local repository + (jars etc) that it can't find in the local repository. http://www.ibiblio.org/maven @@ -785,7 +786,7 @@ maven.scp.executable - The executable to use for secure copies + The executable to use for secure copies. scp @@ -801,7 +802,7 @@ maven.ssh.executable - The executable to use for executing commands remotely + The executable to use for executing commands remotely. ssh @@ -965,7 +966,7 @@ our central repository is housed here at Ibiblio. In a typical Maven project, - the JARs required to build a are pulled from the central + the JARs required to build a project are pulled from the central repository. Maven will only retrieve dependencies which are not satisfied. If you are using Maven to build several projects it is likely that those projects share a few dependencies: Maven will let @@ -996,7 +997,7 @@ You may find it convenient, or necessary, at times to override the dependencies stated in a given POM. You may wish to use JAR artifacts somewhere in the filesystem or you may wish simply to override the stated - version of a given JAR artifact. For this Maven provides the a + version of a given JAR artifact. For this Maven provides an easy way for you to select which artifacts you want to use for building. It is highly recommended that you set up your own local repository: but in cases where expediency is a concern, or you are @@ -1006,7 +1007,7 @@

      In order to use the JAR override feature, you must set the - maven.jar.override property on. Once this property is + maven.jar.override property to on. Once this property is set you can specify JAR override directives in any of the properties files that maven processes.

      @@ -1014,7 +1015,7 @@

      There are two type of JAR override directives. The first form allows you to specify a specific JAR artifact path for a given artifactId; the - second allows you to specify a specific version of a JAR artfact that + second allows you to specify a specific version of a JAR artifact that exists in your local repository. The two forms are as follows:

      @@ -1052,7 +1053,7 @@

      - In Maven SNAPSHOTs are artifacts aproximate the latest build of a particular + In Maven SNAPSHOTs are artifacts that aproximate the latest build of a particular project. If a project that you depend on is changing frequently you can state in your POM that you wish to try and keep up with that project by declaring it a SNAPSHOT dependency. So, for example, you may be trying to stay abreast @@ -1079,7 +1080,7 @@ This tells Maven that you are always looking to use the latest build of Jelly that is available in the Maven repository. Internally to Maven SNAPSHOT dependencies are always considered failed dependencies. That - being the case Maven will always try to retrieve a copy of SNAPSHOT + being the case Maven will always try to retrieve a copy of a SNAPSHOT dependency from the Maven repository. If you are working offline Maven will warn you that your SNAPSHOT dependencies may be out of date.

      @@ -1181,7 +1182,7 @@ maven -o jar:jar ]]>

      - which is equivalent to + which is equivalent to:

      In maven beta 9, this property does not work (but it's fixed in newer releases). - Clearing the property maven.repo.remote by setting + Clearing the property maven.repo.remote by setting:

      - via CLI or property file has the same effect. + via CLI or a property file has the same effect.

      Using maven.repo.remote.enabled=false and @@ -1409,7 +1410,7 @@

      - The easiest way to copy your project' dependency JARs is to + The easiest way to copy your project's dependency JARs is to use something like the following sample maven.xml file as a guide:

      @@ -1484,7 +1485,7 @@

      A project should have a human readable name that can be used in - documentation. + documentation:

      A project should have a group identifier. This group identifier - is the basis for the name + is the basis for the name:

      - So, the project bar which depends on version + So, the project yourProject which depends on version 1.0 of the artifact with an id of foo - which belongs to the group with an id of org.foo.bar. + which belongs to the group with an id of bar. This dependency resolves to a JAR file that is stored in the local repository. The above entry assumes that the published artifact name is based on the artifactId. So for the above dependency entry Maven will @@ -1662,7 +1663,7 @@

      This document outlines the layout of Maven's remote repositories. - Currently, the primary repository is house at + Currently, the primary repository is housed at here at Ibiblio, but you may create an use your own remote repositories provided they adhere to the structure outlined in this document. @@ -1690,11 +1691,11 @@ | |-- ant-1.4.1.jar | `-- ant-optional-1.4.1.jar +-- jsse - |-- distribution - `-- jars - |-- jsse.jar - |-- jcert.jar - `-- jnet.jar + |-- distribution + `-- jars + |-- jsse.jar + |-- jcert.jar + `-- jnet.jar ]]>

      @@ -1764,7 +1765,7 @@

      The standard set of reports is currently hard coded into - the xdoc plugin. These are + the xdoc plugin. These are:

      maven-changelog-plugin @@ -1782,7 +1783,7 @@ maven-tasklist-plugin

      If you wish to use the default reports but remove one or add one, the - preferred method is to use a postGoal for xdoc:register-reports + preferred method is to use a postGoal for xdoc:register-reports like this:

      There are a couple of other useful files that you might want to know of:

      project.properties
      -
      the same as always, it's for customizing the build process of the plugin itself.
      +
      The same as always, it's for customizing the build process of the plugin itself.
      plugin.properties
      This is simply the default values of the properties that the plugin exposes for - the user to customize + the user to customize.
    • @@ -170,19 +170,20 @@
    • Install the plugin

      - While developing a plugin you probably don't wont the plugin to be accessable for everyone + While developing a plugin you probably don't want the plugin to be accessable for everyone using the same maven installation as you, so you should copy the built plugin to your local plugins directory.

      - When you have a good version you can do maven plugin:install to install it to - MAVEN_HOME. + When you have a good version you can do: + maven plugin:install + to install it to MAVEN_HOME.

    • Invoke the plugin -

      Start maven using

      +

      Start maven using:

      maven hello

      And there's your first plug-in!

    • @@ -308,7 +309,7 @@

      The second part of the plugin protocol is the specification of - a deregistration goal called maven-xyz-plugin:report. + a deregistration goal called maven-xyz-plugin:deregister. This goal is optional, but should be included to allow users to add / remove the report from their site.

      @@ -322,13 +323,13 @@ a goal called maven-xyz-plugin:report, where xyz is the name of your plugin. This goal must generate the output for your plugin. For example, if you were - writing a plugin to generated javadoc (which you wouldn't + writing a plugin to generate javadoc (which you wouldn't because it already exists), you would create a goal called maven-javadoc-plugin:report and it would contain the logic necessary to produce the resulting JavaDocs.

      - If you adhere to the following protocol, users will be able to + If you adhere to this protocol, users will be able to select which reports they want to be included in their Maven-generated site by specifying a reports section in their POM. For example, to include the javadoc and Index: xdocs/reference/developers/releasing-plugins.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/reference/developers/releasing-plugins.xml,v retrieving revision 1.4.4.6 diff -u -r1.4.4.6 releasing-plugins.xml --- xdocs/reference/developers/releasing-plugins.xml 8 Jul 2004 08:29:01 -0000 1.4.4.6 +++ xdocs/reference/developers/releasing-plugins.xml 21 Jul 2004 21:34:35 -0000 @@ -32,7 +32,7 @@ Update xdocs/changes.xml (create it if it does not exist) and describe the change, see the changes plugin - or the format of the file. + for the format of the file.

    • Update the other documentation files in xdocs/, reflecting your change. @@ -61,7 +61,7 @@ with the new version and release date. It will also commit your project.xml and xdocs/changes.xml files, then tag the resulting source tree.
      Note: This command will fail before doing any processing if there are modified files in your - source tree other than project.xml and xdocs/changes.xml + source tree other than project.xml and xdocs/changes.xml.

    • Produce a clean build of the plugin using maven scm:perform-release. @@ -70,11 +70,11 @@

    • Check for the new version at - http://www.apache.org/dist/java-repository/maven/plugins/

      + http://www.apache.org/dist/java-repository/maven/plugins/.

    • - Go the JIRA administration page + Go to the JIRA administration page for the Maven plugin you have just released (Note that you need to be a JIRA administrator for this project) and release the version. Also make sure to add a new version for the following development version. This is required so that issue creators/plugin developers can assign a "fix for" version @@ -107,20 +107,19 @@ These versions can go beyond 10: eg 1.13. A third version increment is optional and signifies minor updates. These may also be deployed as snapshots or users may just be asked to build out of CVS to acquire these fixes. - eg. 1.0.1 - use less whitespace in output HTML.

    • Q: Who decides when a plugin can be released?

      -

      A: THe lead developer of a plugin has the responsibility for making sure releases happen, +

      A: The lead developer of a plugin has the responsibility for making sure releases happen, but must first hold a vote on the Maven PMC list before cutting the release. The vote should detail the changes made and confirm that the testing has been performed and that there is no pending work that should hold up the release.

    • -

      Q: Why would I want to given all the pain it will take?

      -

      A: Several possible answers... :-) Pick yours.

      +

      Q: Why would I want to, given all the pain it will take?

      +

      A: Several possible answers... :-) Pick yours:

      1. Because, making a release is honorific and you'll be thanked for it!

      2. Because you have no choice. It is a rule in Maven land that we want to support Index: xdocs/reference/developers/sharing-plugins.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/reference/developers/sharing-plugins.xml,v retrieving revision 1.1.2.1 diff -u -r1.1.2.1 sharing-plugins.xml --- xdocs/reference/developers/sharing-plugins.xml 7 Jun 2004 12:03:33 -0000 1.1.2.1 +++ xdocs/reference/developers/sharing-plugins.xml 21 Jul 2004 21:57:51 -0000 @@ -1,192 +1,192 @@ - - - - - - - Tim Shadel - Sharing your plugin - - - -

        -

        - You've just created a killer Maven plugin. Now what?! -

        -
        - -
        -

        Where should plugins live? Who can update them? Does it really make a difference?

        - -

        - The main Maven distribution includes many plugins, but the growing trend is to as plugin owners to host - the plugins themselves (What do you mean, host?). - Why? There are many advantages for the plugin owners, the users, and the Maven team. -

        -
        - - -

        Since only Maven committers may update the maven-plugins repository, changes you make to your - plugin will take a while to make it into a Maven distribution. Each plugin needs a committer willing to - maintain it, and that plugin is not the only piece of Maven the committer works on.

        - -

        Plugin owners are in a much better position to maintain the plugin. They originally wrote the plugin. - They have a vested interest in seeing it succeed. If they host - the plugin themselves, then updates can be incorporated quickly, and users get the benefits of updated software - quicker.

        - -

        This benefit is often maximized when a team that writes a library, like the StatCvs group, also creates the Maven - plugin. As the library changes, the plugin may be updated to keep in sync. In fact, the - Cactus and - StatCvs - plugins were among the first to voluntarily remove their plugins from the Maven distribution and be hosted - with their respective libraries.

        -
        - -
        - -
        - -

        To "host" a Maven plugin, you require only two things:

        -
          -
        • A place to keep your source code
        • -
        • A website to deploy the following -
            -
          • Your plugin's site (maven site) documentation
          • -
          • Your plugin's JAR bundles for ibiblio upload requests.
          • -
          -
        • -
        -

        There are a variety of options available for each need. Your source code may simply be kept on your hard - drive, using a local installation of a version control tool like CVS or - Subversion (you do use version control, don't you?). If you'd like to - share your plugin source with others, you can request a new project at a service like SourceForge - or Java.Net, or request to join an existing project like the - Maven-Plugins project on SourceForge.

        - -

        If you're creating a plugin for an existing open-source (or even closed-source) library, the ideal situation is - to approach the library maintainers about hosting your plugin source and site. That way the plugin source is close to - the people most likely to care about its success, and ensure it works well far into the future. The plugin site - is located close to the already well-known library site. In the end, this cooperation means a better chance at happy - users, and up-to-date plugins for everyone.

        -
        - - -

        Please see the instructions for uploading a resource to ibiblio.org.

        - -

        NOTE: If your plugin requires resources (JAR files) that are not already at ibilio.org, you - may need to make several separate upload requests.

        -
        - - -

        There are two ways to let your potential users know about your plugin. The first is through sending an announcement - to the maven-user mailing list. Here's a few pointers on how to go about it.

        -
          -
        • Read Releasing Plugins, concentrating on the announcement portion.
        • -
        • Review an excellent announcement - sent by the StatCvs group, which includes - plugin installation instructions.
        • -
        • Combine the advice of the two parts to make your own effective announcement
        • -
        • Make sure you've subscribed to the maven-user mailing list
        • -
        • Send your annoucement to the maven-user mailing list
        • -
        -

        The second way to publicize your plugin is on the Maven site itself. The Maven project currently maintains a list of - other sites that host plugins. The best way to get your link on this page is to get the Maven source, and submit a - patch to the list file itself. Here are the steps in a bit more detail.

        -
          -
        • Get the maven-plugins source as described here
        • -
        • Open the file MAVEN_PLUGINS_SOURCE/xdocs/index.xml
        • -
        • If your plugin host is not listed, add the following, so your site's name falls in alphabetical order - with the rest of the site list (except for the Maven site itself). - - - - - - -
          Example pluginPlugin for Example Documentation
          - - ]]> -
        • -
        • If your plugin host is already listed, add the table row (<tr>) portion above to your - host's section. Order your plugins appropriately within your host section.
        • -
        • Now follow the guidelines for creating a Maven patch, - and submit your patch to JIRA. Use the project maven - (here) and the documentation component. - Place a note in your JIRA issue telling the developer that your patch is against the maven-plugins documentation.
        • -
        • Once your patch is applied, and the Maven site is redeployed, you'll have a link to your plugin's home page from the Maven site.
        • -
        -
        - - -

        Here's the general idea

        - maven plugin:download -DartifactId=[plugin-name] -DgroupId=[plugin-group] -Dversion=[plugin-version] -

        For example:

        - maven plugin:download -DartifactId=maven-statcvs-plugin -DgroupId=statcvs -Dversion=2.4 - -
        - -
        - -

        Documentation maintained by Maven committers.

        -
          -
        • Developer Guide: Start here. This - provides the most clear and comprehensive start to writing Maven plugins.
        • -
        • Releasing Plugins: - Maven documentaion for contributors modifying a Maven plugin Look for ways to have your own project follow - similar standards.
        • -
        • Plugins: Lists sites that host Maven plugins.
        • -
        • Repository Upload Instructions: How to request your - resources be uploaded to ibilio.org. A must read. Watch it for updates, and carefully follow the most recent - instructions to give your resource the best chance of quick processing.
        • -
        • FAQ: Read it. Use it. Love it. Live it.
        • -
        -
        - -

        These links include collected documentation about Maven, contributed from a variety of sources.

        -
          -
        • A first and - second part of a tutorial for making - a minimal Maven plugin.
        • -
        • PluginCreation: A more conprehensive contributed - tutorial for creating your own plugin.
        • -
        • PluginModificationGuidelines and - ReleasingPlugins: - Contributed discussion of what Maven contributors or developers do when modifying a Maven plugin in Maven CVS. - Many things are duplicates of official docs now. Look for ways to have your own project follow similar standards.
        • -
        • PluginOwners: Beginnings of a list linking plugins - and principal maintainers
        • -
        -
        - -

        Discussion that occured on the Maven mailing lists.

        -
          -
        • StatCvs Maintainership: A discussion, - initiated by the StatCvs group, about the benefits of moving maintainership of the StatCvs plugin from the Maven - team to the StatCvs team
        • -
        • StatCvs Plugin Announcement: - Example of how to properly announce releases of your plugin.
        • -
        -
        -
        -
        - - - + + + + + + + Tim Shadel + Sharing your plugin + + + +
        +

        + You've just created a killer Maven plugin. Now what?! +

        +
        + +
        +

        Where should plugins live? Who can update them? Does it really make a difference?

        + +

        + The main Maven distribution includes many plugins, but the growing trend is for plugin owners to host + the plugins themselves (What do you mean, host?). + Why? There are many advantages for the plugin owners, the users, and the Maven team. +

        +
        + + +

        Since only Maven committers may update the maven-plugins repository, changes you make to your + plugin will take a while to make it into a Maven distribution. Each plugin needs a committer willing to + maintain it, and that plugin is not the only piece of Maven the committer works on.

        + +

        Plugin owners are in a much better position to maintain the plugin. They originally wrote the plugin. + They have a vested interest in seeing it succeed. If they host + the plugin themselves, then updates can be incorporated quickly, and users get the benefits of updated software + quicker.

        + +

        This benefit is often maximized when a team that writes a library, like the StatCvs group, also creates the Maven + plugin. As the library changes, the plugin may be updated to keep in sync. In fact, the + Cactus and + StatCvs + plugins were among the first to voluntarily remove their plugins from the Maven distribution and be hosted + with their respective libraries.

        +
        + +
        + +
        + +

        To "host" a Maven plugin, you require only two things:

        +
          +
        • A place to keep your source code
        • +
        • A website to deploy the following +
            +
          • Your plugin's site (maven site) documentation
          • +
          • Your plugin's JAR bundles for ibiblio upload requests
          • +
          +
        • +
        +

        There are a variety of options available for each need. Your source code may simply be kept on your hard + drive, using a local installation of a version control tool like CVS or + Subversion (you do use version control, don't you?). If you'd like to + share your plugin source with others, you can request a new project at a service like SourceForge + or Java.Net, or request to join an existing project like the + Maven-Plugins project on SourceForge.

        + +

        If you're creating a plugin for an existing open-source (or even closed-source) library, the ideal situation is + to approach the library maintainers about hosting your plugin source and site. That way the plugin source is close to + the people most likely to care about its success, and ensure it works well far into the future. The plugin site + is located close to the already well-known library site. In the end, this cooperation means a better chance at happy + users, and up-to-date plugins for everyone.

        +
        + + +

        Please see the instructions for uploading a resource to ibiblio.org.

        + +

        NOTE: If your plugin requires resources (JAR files) that are not already at ibilio.org, you + may need to make several separate upload requests.

        +
        + + +

        There are two ways to let your potential users know about your plugin. The first is through sending an announcement + to the maven-user mailing list. Here's a few pointers on how to go about it:

        +
          +
        • Read Releasing Plugins, concentrating on the announcement portion.
        • +
        • Review an excellent announcement + sent by the StatCvs group, which includes + plugin installation instructions.
        • +
        • Combine the advice of the two parts to make your own effective announcement.
        • +
        • Make sure you've subscribed to the maven-user mailing list.
        • +
        • Send your annoucement to the maven-user mailing list.
        • +
        +

        The second way to publicize your plugin is on the Maven site itself. The Maven project currently maintains a list of + other sites that host plugins. The best way to get your link on this page is to get the Maven source, and submit a + patch to the list file itself. Here are the steps in a bit more detail.

        +
          +
        • Get the maven-plugins source as described here.
        • +
        • Open the file MAVEN_PLUGINS_SOURCE/xdocs/index.xml.
        • +
        • If your plugin host is not listed, add the following, so your site's name falls in alphabetical order + with the rest of the site list (except for the Maven site itself). + + + + + + +
          Example pluginPlugin for Example Documentation
          + + ]]> +
        • +
        • If your plugin host is already listed, add the table row (<tr>) portion above to your + host's section. Order your plugins appropriately within your host section.
        • +
        • Now follow the guidelines for creating a Maven patch, + and submit your patch to JIRA. Use the project maven + (here) and the documentation component. + Place a note in your JIRA issue telling the developer that your patch is against the maven-plugins documentation.
        • +
        • Once your patch is applied, and the Maven site is redeployed, you'll have a link to your plugin's home page from the Maven site.
        • +
        +
        + + +

        Here's the general idea:

        + maven plugin:download -DartifactId=[plugin-name] -DgroupId=[plugin-group] -Dversion=[plugin-version] +

        For example:

        + maven plugin:download -DartifactId=maven-statcvs-plugin -DgroupId=statcvs -Dversion=2.4 + +
        + +
        + +

        Documentation maintained by Maven committers:

        +
          +
        • Developer Guide: Start here. This + provides the most clear and comprehensive start to writing Maven plugins.
        • +
        • Releasing Plugins: + Maven documentaion for contributors modifying a Maven plugin. Look for ways to have your own project follow + similar standards.
        • +
        • Plugins: Lists sites that host Maven plugins.
        • +
        • Repository Upload Instructions: How to request your + resources be uploaded to ibiblio.org. A must read. Watch it for updates, and carefully follow the most recent + instructions to give your resource the best chance of quick processing.
        • +
        • FAQ: Read it. Use it. Love it. Live it.
        • +
        +
        + +

        These links include collected documentation about Maven, contributed from a variety of sources:

        +
          +
        • A first and + second part of a tutorial for making + a minimal Maven plugin.
        • +
        • PluginCreation: A more comprehensive contributed + tutorial for creating your own plugin.
        • +
        • PluginModificationGuidelines and + ReleasingPlugins: + Contributed discussion of what Maven contributors or developers do when modifying a Maven plugin in Maven CVS. + Many things are duplicates of official docs now. Look for ways to have your own project follow similar standards.
        • +
        • PluginOwners: Beginnings of a list linking plugins + and principal maintainers
        • +
        +
        + +

        Discussions that occured on the Maven mailing lists:

        +
          +
        • StatCvs Maintainership: A discussion, + initiated by the StatCvs group, about the benefits of moving maintainership of the StatCvs plugin from the Maven + team to the StatCvs team
        • +
        • StatCvs Plugin Announcement: + Example of how to properly announce releases of your plugin.
        • +
        +
        +
        +
        + + +
        Index: xdocs/start/anakia.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/start/anakia.xml,v retrieving revision 1.7.10.3 diff -u -r1.7.10.3 anakia.xml --- xdocs/start/anakia.xml 23 Jun 2004 12:56:19 -0000 1.7.10.3 +++ xdocs/start/anakia.xml 20 Jul 2004 14:27:53 -0000 @@ -77,7 +77,7 @@
  • - See Site Navigation for more information about + See Site Navigation for more information about Maven extensions to Anakia.

    Index: xdocs/start/index.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/start/index.xml,v retrieving revision 1.2.10.1 diff -u -r1.2.10.1 index.xml --- xdocs/start/index.xml 4 Mar 2004 17:45:58 -0000 1.2.10.1 +++ xdocs/start/index.xml 20 Jul 2004 13:28:51 -0000 @@ -31,7 +31,7 @@ This document (as well as the others in this section) provide an introduction to Maven and how to use it within a project. For those that have already skimmed the documentation on this - site, you may be asking yourself, what *exactly* does it mean to + site, you may be asking yourself, what exactly does it mean to use Maven? That question will have different answers over time as Maven evolves, but these documents attempt to illustrate (using the Turbine projects as an example) Index: xdocs/start/install.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/start/install.xml,v retrieving revision 1.15.4.8 diff -u -r1.15.4.8 install.xml --- xdocs/start/install.xml 13 Jul 2004 14:21:03 -0000 1.15.4.8 +++ xdocs/start/install.xml 20 Jul 2004 13:38:06 -0000 @@ -60,7 +60,7 @@

    - Note: you can safely skip the following step if you have any problems. + Note: you can safely skip the following step without any problems. If you do skip it, Maven will download the dependencies instead of copying them from the lib directory.

    Index: xdocs/start/integrate.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/start/integrate.xml,v retrieving revision 1.24.2.1 diff -u -r1.24.2.1 integrate.xml --- xdocs/start/integrate.xml 4 Mar 2004 17:45:58 -0000 1.24.2.1 +++ xdocs/start/integrate.xml 21 Jul 2004 23:14:15 -0000 @@ -32,7 +32,7 @@ will show you how to integrate it with an existing project. All of the current Turbine projects have been Maven-enabled, and can be used as references. They will be used as examples in this - section. There is really only one step to integration + section. There is really only one step to integrating Maven with a project: the creation of the project descriptor. You may also create an ancillar maven.xml file which contains project specific goals, preGoals, and postGoals. @@ -69,20 +69,20 @@ 3 - maven maven - 1.0-b4-dev + Maven + 1.0.1-SNAPSHOT Apache Software Foundation - http://jakarta.apache.org/ + http://www.apache.org/ + /images/apache-maven-project.png 2001 org.apache.maven - - Java Project Management Tools + /images/maven.gif - jakarta + maven Maven is a project management and project comprehension @@ -94,24 +94,32 @@ source repository, and source cross-references. + Java Project Management Tools + http://maven.apache.org/ - http://nagoya.apache.org/scarab/servlet/scarab/ + http://jira.codehaus.org/BrowseProject.jspa?id=10030 - jakarta.apache.org + maven.apache.org /www/maven.apache.org/ + + maven.apache.org + - /www/jakarta.apache.org/builds/jakarta-turbine-maven/ + /www/www.apache.org/dist/java-repository/ scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:maven + + scm:cvs:ext:${maven.username}@cvs.apache.org:/home/cvs:maven + - http://cvs.apache.org/viewcvs/maven/ + http://cvs.apache.org/viewcvs.cgi/maven/ @@ -124,10 +132,15 @@ b4 1.0-b4 - HEAD + MAVEN_1_0_B4 + + + 1.0 + 1.0 + MAVEN_1_0 - + Maven User List @@ -138,7 +151,7 @@ users-unsubscribe@maven.apache.org - http://www.mail-archive.com/users@maven.apache.org/ + http://nagoya.apache.org/eyebrowse/SummarizeList?listName=users@maven.apache.org @@ -150,7 +163,7 @@ dev-unsubscribe@maven.apache.org - http://www.mail-archive.com/dev@maven.apache.org/ + http://nagoya.apache.org/eyebrowse/SummarizeList?listName=dev@maven.apache.org @@ -161,14 +174,20 @@ Juancarlo Anez juanco juanco@apache.org - + + + Java Developer + Stephane Bailliez sbailliez sbailliez@apache.org - + + + Java Developer + . @@ -180,24 +199,35 @@ glennm glenn@somanetworks.com SOMA Networks, Inc. + + Java Developer + + + + The Apache Software License, Version 2.0 + http://cvs.apache.org/viewcvs.cgi/*checkout*/maven/LICENSE.txt + repo + + + dom4j dom4j - 1.3 + 1.4-dev-8 http://www.dom4j.org/ - bcel - bcel - 5.0 - http://jakarta.apache.org/bcel/ + ant + ant + 1.5.3-1 + http://ant.apache.org/ . @@ -205,10 +235,9 @@ . - regexp - regexp - 1.2 - http://jakarta.apache.org/regexp/ + maven + maven-jelly-tags + 1.0 @@ -221,9 +250,7 @@ src/java - src/test - - + src/test/java @@ -231,7 +258,7 @@ **/*Test.java - **/RepositoryTest.java + **/JAXPTest.java @@ -239,24 +266,32 @@ - ${basedir}/src/resources/misc + ${basedir} + META-INF + + NOTICE.txt + + + + src/conf *.xsd + *.dtd + *.mod + *.properties + driver.jelly + LICENCE.txt - ${basedir}/src/resources/logging + src/messages + org/apache/maven/messages - log4j.properties + messages*.properties - - - - - ]]> Index: xdocs/start/release-notes-1.0.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/start/Attic/release-notes-1.0.xml,v retrieving revision 1.1.2.1 diff -u -r1.1.2.1 release-notes-1.0.xml --- xdocs/start/release-notes-1.0.xml 13 Jul 2004 14:22:41 -0000 1.1.2.1 +++ xdocs/start/release-notes-1.0.xml 20 Jul 2004 13:33:13 -0000 @@ -33,7 +33,7 @@

    Maven is a project management and project comprehension tool. Maven is based on the concept of a project object model: builds, documentation creation, site -publication, and distribution publication are all controlled from the project +publication and distribution publication are all controlled from the project object model. Maven also provides tools to create source metrics, change logs based directly on source repository, and source cross-references.