maven Maven 3.0.0 Maven's model for Java project. org.apache.maven.model Model Model extend The location of the parent project, if one exists. Values from the parent project will be the default for this project if they are left unspecified. The path may be absolute, or relative to the current project.xml file. String modelVersion The version of this model you are using. String groupId ??? used post 3.0.0 The primary grouping for your project. String artifactId ??? used post 3.0.0 The identifier used when generating the artifact for your project. String name Human readable name of the project. String version The current version of the project. String shortDescription An abbreviated description of the project. String description A detailed description of the project. This element is usually specified as CDATA to enable the use of HTML tags within the description. This description is used to generate the front page of the project's web site. String type ??? use post 3.0.0 The type of artifact produced by the project. String jar url The URL where the project can be found. String logo The logo for the project. String issueTrackingUrl The URL where the issue tracking system used by the project can be found. String inceptionYear The year the project started. String gumpRepositoryId Hint for the gump continuous integration build system. String siteAddress The FQDN of the host where the project's site is uploaded. String siteDirectory The directory on the site host where site documentation is placed when the site is uploaded. String distributionSite The FQDN of the host where the project's artifacts are uploaded. String This naming is inconsistent and distriubtion should occur from a repository structure. distributionDirectory The directory on the distribution host where artifacts are placed when uploaded. String This naming is inconsistent and distriubtion should occur from a repository structure. mailingLists The mailing lists for the project. java.util.List new ArrayList() developers This element describes all of the developers associated with a project. Each developer is described by a developer element, which is then described by additional elements (described below). The auto-generated site documentation references this information. java.util.List new ArrayList() contributors This element describes all of the contributors associated with a project who are not developers. Each contributor is described by a contributor element, which is then describe by additional elements (described below). The auto-generated site documentation references this information. java.util.List new ArrayList() dependencies This element describes all of the dependencies associated with a project. Each dependency is described by a dependency element, which is then described by additional elements (described below). java.util.List new ArrayList() These should ultimately only be compile time dependencies when transitive dependencies come into play. licenses This element describes all of the licenses for this project. Each license is described by a license element, which is then describe 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. java.util.List new ArrayList() versions The released versions of the project. java.util.List new ArrayList() branches The SCM branches create for the project. java.util.List new ArrayList() packageGroups Package groups required for complete javadocs. java.util.List new ArrayList() reports This element includes the specification of reports to be included in a 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. java.util.List new ArrayList() repository Specification for the SCM use by the project. Repository This element needs to be renamed as it conflicts with the existing notion of repositories in Maven. build Information required to build the project. Build organization This element describes various attributes of the organziation to which the project belongs. These attributes are utilized when documentation is created (for copyright notices and links). Organization private String packageName; public void setPackage(String packageName) { this.packageName = packageName; } public String getPackage() { return packageName; } public String getId() { StringBuffer id = new StringBuffer(); id.append( getGroupId() ); id.append( ":" ); id.append( getArtifactId() ); id.append( ":" ); id.append( getType() ); return id.toString(); } public void setId( String id ) { int i = id.indexOf( "+" ); int j = id.indexOf( ":" ); if ( i > 0 ) { setGroupId( id.substring( 0, i ) ); setArtifactId( id.replace( '+', '-' ) ); } else if ( j > 0 ) { setGroupId( id.substring( 0, j ) ); setArtifactId( id.substring( j + 1 ) ); } else { setGroupId( id ); setArtifactId( id ); } } Branch This element describes each of the branches of the project. Each branch is described by a tag element tag The branch tag in the version control system (e.g. cvs) used by the project for the source code associated with this branch of the project. String Build nagEmailAddress An address to which notifications regarding the status of builds for this project can be sent. This is intended for use by tools which do unattended builds, for example those providing for continuous integration. Currently this is used by the maven:gump-descriptor target. String sourceDirectory This element specifies a directory containing the source of the project. The generated build system will compile the source in this directory when the project is built. The path given is relative to the project descriptor. String unitTestSourceDirectory This element specifies a directory containing the unit test source of the project. The generated build system will compile these directories when the project is being tested. The unit tests must use the JUnit test framework. The path given is relative to the project descriptor. String aspectSourceDirectory This element specifies a directory containing Aspect sources of the project. The generated build system will compile the Aspects in this directory when the project is built if Aspects have been enabled (see the Aspectj goals document). The path given is relative to the project descriptor. String sourceModifications 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 to exclude or include various source depending on the environment the build is running in. java.util.List new ArrayList() unitTest This element specifies unit tests associated with the project. UnitTest new UnitTest() resources This element describes all of the resources associated with a 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. java.util.List new ArrayList() Contributor name The full name of the contributor. String email The email address of the contributor. String url The URL for the homepage of the contributor. String organization The organization to which the contributor belongs. String roles The roles the contributor plays in the project. Each role is describe by a role element, the body of which is a role name. java.util.List new ArrayList() timezone The timezone the contributor is in. This is a number in the range -14 to 14. String Dependency groupId The project group that produced the dependency, e.g. geronimo. String artifactId The unique id for an artifact produced by the project group, e.g. germonimo-jms String version The version of the dependency., e.g. 3.2.1 String url This url will be provided to the user if the jar file cannot be downloaded from the central repository. String The URL should really be gleaned from a shared database of dependency information. artifact the description String type Other known and recognised dependency types are: ejb and plugin. String jar properties 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. java.util.Properties new Properties() public String getId() { return groupId + ":" + artifactId; } Contributor Developer id The username of the developer. String License name The full legal name of the license. String url The official url for the license text. String distribution The primary method by which this project may be distributed.
repo
may be downloaded from the Maven repository
manual
user must manually download and install the dependency.
String
comments the description String
MailingList This element describes all of the mailing lists associated with a 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. name The name of the mailing list. String subscribe The email address or link that can be used to subscribe to the mailing list. If this is an email address, a mailto: link will automatically be created when the documentation is created. String unsubscribe The email address or link that can be used to unsubscribe to the mailing list. If this is an email address, a mailto: link will automatically be created when the documentation is created. String archive The link to a URL where you can browse the archive. String Organization name The full name of the organization. String url The URL to the organization's home page. String logo The URL to the organization's logo image. This can be an URL relative to the base directory of the generated web site, (e.g., /images/org-logo.png) or an absolute URL (e.g., http://my.corp/logo.png). This value is used when generating the project documentation. String PackageGroup title the description String packages the description String PatternSet includes the description java.util.List new ArrayList() excludes the description java.util.List new ArrayList() Repository connection The source configuration management system URL that describes the repository and how to connect to the repository. This is used by Maven when building versions from specific ID. String developerConnection Just like connection, but for developers, i.e. this scm connection will not be read only. String url The URL to the project's browsable CVS repository. String Resource PatternSet directory Describe the directory where the resource is stored. The path may be absolute, or relative to the project.xml file. String 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 String filtering Describe if resources are filtered or not. String false SourceModification Resource 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 String property the description String UnitTest PatternSet resources the description java.util.List new ArrayList() Version This element describes each of the previous versions of the project. Each version is described by a version element name The external version number under which this release was distributed. Examples include: 1.0, 1.1-alpha1, 1.2-beta, 1.3.2 etc. String tag The name given in the version control system (e.g. cvs) used by the project for the source code associated with this version of the project. String id A unique identifier for a version. This ID is used to specify the version that maven:dist builds. String