Index: xdocs/repository-upload.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/repository-upload.xml,v retrieving revision 1.14 diff -u -r1.14 repository-upload.xml --- xdocs/repository-upload.xml 28 Jun 2004 15:09:19 -0000 1.14 +++ xdocs/repository-upload.xml 2 Aug 2004 23:08:48 -0000 @@ -21,7 +21,7 @@ Ben Walding - Jason van Zyl + Jason van Zyl Uploading to ibiblio @@ -30,33 +30,33 @@

So you want a resource uploaded to ibiblio?!

- +

- To save time for everybody, here is how you go about it. + To save time for everybody, here is how you go about it.

- +

Use the repository plugin provided with the standard Maven distribution to create an upload bundle:

- + maven create-upload-bundle - +

The bundle will be created in your "target" directory of the form: ${pom.artifactId}-${pom.currentVersion}-bundle.jar

- +

If you are not using maven as your build system but want something uploaded to Ibiblio then you just need to make a JAR with the following format:

- + LICENSE.txt project.xml @@ -67,32 +67,32 @@ In that case the project.xml should at least contain the following elements:

- +
- +

Post your request to JIRA. - The first line of the description should be the URL of the upload bundle, then leave a blank line and place + The first line of the description should be the URL of the upload bundle, then leave a blank line and place any additional comments you wish in the following paragraph. So the description field might look like: -

+

http://wiggle.sourceforge.net/downloads/wiggle-1.0-bundle.jar - + Wiggle is a fantastic new piece of software for automating the clipping of nose hairs. Please upload! DO IT NOW!
- +

Some folks have asked why do we require the POM and license each Index: xdocs/misc/glossary.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/misc/glossary.xml,v retrieving revision 1.3 diff -u -r1.3 glossary.xml --- xdocs/misc/glossary.xml 22 Jul 2004 16:28:27 -0000 1.3 +++ xdocs/misc/glossary.xml 2 Aug 2004 23:23:46 -0000 @@ -88,7 +88,7 @@ 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/groupId/artifact type/artifactId-version.extension

For instance, a Maven JAR artifact will be stored in a repository Index: xdocs/reference/project-descriptor.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/reference/project-descriptor.xml,v retrieving revision 1.35 diff -u -r1.35 project-descriptor.xml --- xdocs/reference/project-descriptor.xml 23 Jul 2004 04:40:08 -0000 1.35 +++ xdocs/reference/project-descriptor.xml 2 Aug 2004 23:26:11 -0000 @@ -41,7 +41,7 @@ href="http://maven.apache.org/xsd/maven-project-3.0.0.xsd">http://maven.apache.org/xsd/maven-project-3.0.0.xsd. In addition, a sample project descriptor is presented in the Integration - document. For those wondering, yes, Maven's build system is built + document. For those wondering, yes, Maven's build system is built by Maven (we believe in eating our own dog food :)

@@ -51,7 +51,8 @@ <project> <extend/> <pomVersion/> - <id/> + <artifactId/> + <id/> deprecated <name/> <groupId/> <currentVersion/> @@ -131,7 +132,7 @@ </licenses> <dependencies> <dependency> - <id/> + <id/> deprecated <groupId/> <artifactId/> <version/> @@ -157,7 +158,7 @@ </sourceModification> </sourceModifications> <unitTestSourceDirectory/> - <integrationUnitTestSourceDirectory/> + <integrationUnitTestSourceDirectory/> deprecated <aspectSourceDirectory/> <unitTest> <includes> @@ -199,7 +200,7 @@ </project> - +

The <project> element specifies various @@ -231,14 +232,25 @@ - id + artifactId - The short name of the project. This value is used when + The identifier of the project. This value is used when naming jars and distribution files. + id + + The identifier of the project. +

+ Note: The use of the id element is + deprecated. Please use artifactId + instead. +

+ + + name The full name of the project. This value is used when @@ -359,7 +371,7 @@ deployed.

If this isn't defined, the central repository is used instead as - determined by maven.repo.central and + determined by maven.repo.central and maven.repo.central.directory

@@ -526,7 +538,7 @@ Some cvs clients support other protocols, such as ntserver and extssh. Here's an example using CVS NT and ntserver: scm|cvs|ntserver|user@server|e:\cvs|Deployment - Note the use of the vertical bar as delimiter as the repository has a + Note the use of the vertical bar as delimiter as the repository has a colon (:) in it.

@@ -534,15 +546,15 @@

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

- For StarTeam access: + For StarTeam access:

scm:starteam:username:password@host:port/project/view/folder
- All of this information can be had from either the StarTeam Universal - Client (Tools->Server Administration->Server Properties) or from the - administrator. + All of this information can be had from either the StarTeam Universal + Client (Tools->Server Administration->Server Properties) or from the + administrator.

The delimiter is determined by the character after "scm". eg. - scm|cvs|pserver|user@host|/cvs/root|module-name + 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).

@@ -822,7 +834,7 @@ dependencies from a remote repository.

- The filename that Maven downloads from the repository is + The filename that Maven downloads from the repository is artifactId-version.jar where artifactId corresponds to the artifactId element and version corresponds to the version element. @@ -884,7 +896,7 @@ jar - The name of jar file if it doesn't respect the + The name of jar file if it doesn't respect the <artifactId>-<version>.jar pattern. @@ -892,7 +904,7 @@ The type of dependency. This defaults to jar.

- Other known and recognised dependency types are: + Other known and recognised dependency types are: ejb and plugin.

@@ -910,9 +922,9 @@ properties - Properties about the dependency. Various plugins allow you to - mark dependencies with properties. For example the - war plugin looks for a + Properties about the dependency. Various plugins allow you to + mark dependencies with properties. For example the + war plugin looks for a war.bundle property, and if found will include the dependency in WEB-INF/lib. For example syntax, check the war plugin docs. @@ -968,12 +980,12 @@ integrationUnitTestSourceDirectory - This element is deprecated and should no longer be used. + Note: 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 - Cactus - plugin properties page. + Cactus + plugin properties page. @@ -1001,7 +1013,7 @@ This element describes all of the sourceModifications associated with a project. Each source modification is described by a sourceModification element, which is then described by - additional elements (described below). These modifications are used + additional elements (described below). These modifications are used to exclude or include various source depending on the environment the build is running in.

@@ -1038,8 +1050,8 @@ 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 + loaded, then the includes and excludes specified below + will be applied to the contents of the sourceDirectory. @@ -1106,7 +1118,7 @@ ]]> - + @@ -1145,7 +1157,7 @@ @@ -1158,7 +1170,7 @@ Index: xdocs/reference/user-guide.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/reference/user-guide.xml,v retrieving revision 1.71 diff -u -r1.71 user-guide.xml --- xdocs/reference/user-guide.xml 24 Jul 2004 17:03:48 -0000 1.71 +++ xdocs/reference/user-guide.xml 2 Aug 2004 23:28:45 -0000 @@ -200,7 +200,7 @@ parent-project.xml - + super-extendo Super Extendo super-extendo @@ -335,7 +335,7 @@

The goal functionality Maven uses is provided by the - werkz tag library that is built into werkz. For more information, see this + werkz tag library that is built into werkz. For more information, see this wiki page.

@@ -749,7 +749,7 @@
- + @@ -288,12 +289,12 @@ - - @@ -308,10 +309,10 @@ to the user's project.

- The second part of the plugin protocol is the specification of + The second part of the plugin protocol is the specification of 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. + add / remove the report from their site.

@@ -343,8 +344,8 @@ ]]> - - + + Index: xdocs/start/integrate.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/start/integrate.xml,v retrieving revision 1.26 diff -u -r1.26 integrate.xml --- xdocs/start/integrate.xml 22 Jul 2004 16:28:26 -0000 1.26 +++ xdocs/start/integrate.xml 2 Aug 2004 23:12:31 -0000 @@ -69,7 +69,7 @@ 3 - maven + maven Maven 1.0.1-SNAPSHOT @@ -189,7 +189,7 @@ Java Developer - + . . . @@ -239,7 +239,7 @@ maven-jelly-tags 1.0 - + @@ -261,7 +261,7 @@ **/JAXPTest.java - + @@ -295,7 +295,7 @@ ]]> - +

Maven doesn't require the use of any Ant build files so you can @@ -303,10 +303,10 @@ build your project.

- +

- There are two main ways you can extend Maven's build system: + There are two main ways you can extend Maven's build system: creating new plug-ins, and adding additional processing in a project specific maven.xml file.

ElementDescription
include - This element specifies an + This element specifies an Ant pattern of files to include in a list.
exclude - This element specifies an + This element specifies an Ant pattern of files to exclude from a list.
maven.repo.central.directorymaven.repo.central.directory This is the directory that Maven will copy the distribution to during a dist:deploy. @@ -1217,7 +1217,7 @@ maven.mode.online=true is the combination to use if one needs a working "-link" option for the javadoc plugin plus no download of snapshot/any jars.

- + @@ -1234,7 +1234,7 @@ -b,--nobanner Suppress logo banner -d,--dir arg Set effective working directory -e,--exception Produce exception stack traces - -f,--find arg Set project file and effective working directory by + -f,--find arg Set project file and effective working directory by finding the project file -g,--goals Display available goals -h,--help Display help information @@ -1470,7 +1470,6 @@ - bar foo ... @@ -1490,7 +1489,6 @@ - bar foo The Grand Master Foo ... @@ -1504,9 +1502,9 @@ - bar foo The Grand Master Foo + bar ... ]]> @@ -1539,9 +1537,9 @@ - yourProject yourArtifact Your Groovey Machine + yourProject ... @@ -1577,10 +1575,10 @@

  • - The project id is not used as the base name of the published + The project artifactId is not used as the base name of the published JAR e.g. the Xerces products where xercesImpl is the base name of the published JAR. It neither matches the gump id or the - maven id. + maven artifactId.
  • The published JAR name has no version declaration e.g. many of @@ -1588,7 +1586,7 @@ published JAR names.
  • - The project id is not used as the base name of the published JAR and + The project artifactId is not used as the base name of the published JAR and the published JAR name has no version declaration e.g. the worst case scenerio which is the Java Activation Framework JAR which doesn't even vaguely follow other Sun naming conventions and there is no @@ -1672,8 +1670,8 @@

    Every separate project has its own directory in the repository where artifacts for that project can be stored. Each project has a unique - project id and directory where a project stores its artifacts is named - after the project id. + project groupId and directory where a project stores its artifacts is named + after the project groupId.

    @@ -1782,17 +1780,17 @@ maven-pmd-plugin maven-tasklist-plugin -

    If you wish to use the default reports but remove one or add one, the +

    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 like this: -

    - +

    + - - + + ]]> - +

    @@ -1807,7 +1805,7 @@ well as links to the numerous Maven-generated reports.

    - + Index: xdocs/reference/developers/developer-guide.xml =================================================================== RCS file: /home/cvspublic/maven/xdocs/reference/developers/developer-guide.xml,v retrieving revision 1.7 diff -u -r1.7 developer-guide.xml --- xdocs/reference/developers/developer-guide.xml 22 Jul 2004 16:28:27 -0000 1.7 +++ xdocs/reference/developers/developer-guide.xml 2 Aug 2004 23:11:57 -0000 @@ -31,7 +31,7 @@ Welcome. If you are reading this page, you should be a developer interested in contributing to Maven and/or writing plugins for Maven. If you are simply a developer using - Maven for your own project, you are looking for the + Maven for your own project, you are looking for the User Guide. With that said, this document contains various snippets of information that every Maven developer should know. @@ -49,7 +49,7 @@ necessarily assembled in any paricular order, but of importance for anyone writing a plugin.

    - +
    1. @@ -58,101 +58,102 @@ Create a local directory for the plugin source code:

      ~/myprojects/maven-plugins/hello - +

      In this directory create the following directory structure:

      -./src/java -./src/plugin-resources -./xdocs/ +./src/java +./src/plugin-resources +./xdocs/
    2. - +
    3. Create the project.xml file

      You might use this as a template for you project.xml:

      -<?xml version="1.0" encoding="ISO-8859-1"?> - -<project> - <pomVersion>3</pomVersion> - <id>maven-hello-plugin</id> - <name>Maven hello world plugin</name> - <currentVersion>1.0.0</currentVersion> - <organization> - <name>My org name</name> - </organization> - <inceptionYear>2003</inceptionYear> - <shortDescription>Short description of the plugin</shortDescription> - <developers> - <developer> - <name>Trygve Laugstøl</name> - <id>trygvis</id> - <email>trygvela@ifi.uio.no</email> - <organization>My organization</organization> - <roles> - <role>Developer</role> - </roles> - </developer> - </developers> - - <dependencies> -<!-- - <dependency> - <id>commons-logging</id> - <version>1.0.3</version> - </dependency> ---> - </dependencies> - - <build> - <!-- Useful if your plugin uses some beans --> - <sourceDirectory>src/java/main</sourceDirectory> - <unitTestSourceDirectory>src/java/test</unitTestSourceDirectory> - - <unitTest> - <includes> - <include>**/*Test.java</include> - </includes> - </unitTest> - - <resources> - <resource> - <directory>${basedir}/src/plugin-resources</directory> - <targetPath>plugin-resources</targetPath> - </resource> - <resource> - <directory>${basedir}</directory> - <includes> - <include>plugin.jelly</include> - <include>plugin.properties</include> - <include>project.properties</include> - <include>project.xml</include> - </includes> - </resource> - </resources> - </build> -</project> +<?xml version="1.0" encoding="ISO-8859-1"?> + +<project> + <pomVersion>3</pomVersion> + <artifactId>maven-hello-plugin</artifactId> + <name>Maven hello world plugin</name> + <currentVersion>1.0.0</currentVersion> + <organization> + <name>My org name</name> + </organization> + <inceptionYear>2003</inceptionYear> + <shortDescription>Short description of the plugin</shortDescription> + <developers> + <developer> + <name>Trygve Laugstøl</name> + <id>trygvis</id> + <email>trygvela@ifi.uio.no</email> + <organization>My organization</organization> + <roles> + <role>Developer</role> + </roles> + </developer> + </developers> + + <dependencies> +<!-- + <dependency> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + <version>1.0.3</version> + </dependency> +--> + </dependencies> + + <build> + <!-- Useful if your plugin uses some beans --> + <sourceDirectory>src/java/main</sourceDirectory> + <unitTestSourceDirectory>src/java/test</unitTestSourceDirectory> + + <unitTest> + <includes> + <include>**/*Test.java</include> + </includes> + </unitTest> + + <resources> + <resource> + <directory>${basedir}/src/plugin-resources</directory> + <targetPath>plugin-resources</targetPath> + </resource> + <resource> + <directory>${basedir}</directory> + <includes> + <include>plugin.jelly</include> + <include>plugin.properties</include> + <include>project.properties</include> + <include>project.xml</include> + </includes> + </resource> + </resources> + </build> +</project>
    4. - +
    5. Create the plugin.jelly file

      This file is the main file in the plugin. It contains the goals that make up the plugin.

      -<?xml version="1.0" encoding="ISO-8859-1"?> - -<project> - <goal name="hello"> - <echo>Hello Maven Plug-in!</echo> - </goal> -</project> +<?xml version="1.0" encoding="ISO-8859-1"?> + +<project> + <goal name="hello"> + <echo>Hello Maven Plug-in!</echo> + </goal> +</project>
    6. - +
    7. Other useful files

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

      @@ -166,11 +167,11 @@
    8. - +
    9. Install the plugin

      - While developing a plugin you probably don't want 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.

      @@ -180,7 +181,7 @@ to install it to MAVEN_HOME.

    10. - +
    11. Invoke the plugin

      Start maven using:

      @@ -194,7 +195,7 @@

      Please see Sharing Your Plugin for guidelines on how to share your Maven plugins with the community.

      - +

      If you are writing a plugin which generates output that you @@ -222,8 +223,8 @@

      - @@ -254,7 +255,7 @@
pluginName The is the name of the plugin that is registering the report. - The goal ${pluginName}:report will be run to + The goal ${pluginName}:report will be run to generate the report.