maven Maven package org.apache.maven.model Model 3.0.0+ extend 3.0.0+ String parent 4.0.0 Parent modelVersion 4.0.0 true String pomVersion 3.0.0 true String id 3.0.0 true String groupId 3.0.0+ true String artifactId 3.0.0+ true String type 4.0.0 String jar name 3.0.0+ true String currentVersion 3.0.0 true String version 4.0.0 true String shortDescription 3.0.0+ String description 3.0.0+ front page of the project's web site. ]]> String url 3.0.0+ String logo 3.0.0+ String issueTrackingUrl 3.0.0 String issueManagement 4.0.0 IssueManagement ciManagement 4.0.0 CiManagement inceptionYear 3.0.0+ true String gumpRepositoryId 3.0.0 String siteAddress 3.0.0 String siteDirectory 3.0.0 String distributionSite 3.0.0 String This naming is inconsistent and distribution should occur from a repository structure. distributionDirectory 3.0.0 String This naming is inconsistent and distribution should occur from a repository structure. repositories 4.0.0 Repository * pluginRepositories 4.0.0 Repository * This may be removed or relocated in the near future. It is undecided whether plugins really need a remote repository set of their own. plugins 4.0.0 Plugin * mailingLists 3.0.0+ MailingList * developers 3.0.0+ developer element, which is then described by additional elements (described below). The auto-generated site documentation references this information. ]]> Developer * contributors 3.0.0+ contributor element, which is then describe by additional elements (described below). The auto-generated site documentation references this information. ]]> Contributor * dependencies 3.0.0+ dependency element, which is then described by additional elements (described below). ]]> Dependency * These should ultimately only be compile time dependencies when transitive dependencies come into play. licenses 3.0.0+ 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. ]]> License * versions 3.0.0 Version * branches 3.0.0 Branch * packageGroups 3.0.0+ PackageGroup * reports 3.0.0+ maven site. All of the reports will be included in the navigation bar for browsing in the order they are specified. ]]> String * scm 4.0.0 Scm repository 3.0.0 Repository This element needs to be renamed as it conflicts with the existing notion of repositories in Maven. build 3.0.0+ true Build organization 3.0.0+ Organization distributionManagement 4.0.0 DistributionManagement dependencyManagement 4.0.0 false DependencyManagement properties 3.0.0+ Properties String * preGoals 4.0.0 PreGoal * postGoals 4.0.0 PostGoal * packageName 3.0.0+ String The Java package that the code resides in. 3.0.0 public void setVersion(String version) { this.currentVersion = version; } public String getVersion() { return currentVersion; } 3.0.0+ public void setPackage(String packageName) { this.packageName = packageName; } public String getPackage() { return packageName; } 4.0.0 public String getId() { StringBuffer id = new StringBuffer(); id.append( getGroupId() ); id.append( ":" ); id.append( getArtifactId() ); id.append( ":" ); id.append( getType() ); id.append( ":" ); id.append( getVersion() ); return id.toString(); } Branch 3.0.0 tag element ]]> tag 3.0.0 true String Build 3.0.0+ nagEmailAddress 3.0.0 maven:gump-descriptor target. ]]> String This should be moved out of the build section. Vestigal for use with Gump. sourceDirectory 3.0.0+ true String unitTestSourceDirectory 3.0.0+ true String sourceModifications 3.0.0+ true 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. ]]> SourceModification * unitTest 3.0.0+ true new UnitTest() UnitTest resources 3.0.0+ below). These resources are used to complete the jar file or to run unit test. ]]> Resource * directory 4.0.0 String output 4.0.0 String finalName 4.0.0 String testOutput 4.0.0 String CiManagement 4.0.0 system 4.0.0 String url 4.0.0 String nagEmailAddress 4.0.0 String Contributor 3.0.0+ name 3.0.0+ String email 3.0.0+ String url 3.0.0+ String organization 3.0.0+ String roles 3.0.0+ role element, the body of which is a role name. ]]> String * timezone 3.0.0+ String Dependency 3.0.0+ id 3.0.0 true String groupId 3.0.0+ true geronimo. ]]> String artifactId 3.0.0+ true germonimo-jms ]]> String version 3.0.0+ 3.2.1 ]]> String url 3.0.0 String The URL should really be gleaned from a shared database of dependency information. jar 3.0.0 String type 3.0.0+ ejb and plugin. ]]> String jar properties 3.0.0+ 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. ]]> Properties String * file 4.0.0 Override the use of a repository - retrieve it from this file String 3.0.0+ public String toString() { return groupId + "/" + type + "s:" + artifactId + "-" + version; } 4.0.0 public String getId() { return groupId + ":" + artifactId + ":" + type + ":" + version; } public String getManagementKey() { return groupId + ":" + artifactId + ":" + type; } 3.0.0 element is explicity used in the POM. if ( getJar() != null) { return getJar(); } return getArtifactId() + "-" + getVersion() + "." + getExtension(); } public String getExtension() { if ("ejb".equals(getType()) || "plugin".equals(getType()) || "aspect".equals(getType())) return "jar"; return getType(); } public boolean isAddedToClasspath() { return ("jar".equals(getType()) || "ejb".equals(getType())); } public boolean isPlugin() { return ("plugin".equals(getType())); } public String getProperty( String property ) { return getProperties().getProperty( property ); } public boolean equals( Object o ) { if ( this == o ) { return true; } if ( !( o instanceof Dependency ) ) { return false; } Dependency d = (Dependency) o; return getId().equals( d.getId() ); } public int hashCode() { return getId().hashCode(); } ]]> Contributor Developer 3.0.0+ id 3.0.0+ String IssueManagement 4.0.0 system 4.0.0 String url 4.0.0 String DistributionManagement 4.0.0 repository 4.0.0 Repository site 4.0.0 Site License 3.0.0+ name 3.0.0+ String url 3.0.0+ String distribution 3.0.0
repo
may be downloaded from the Maven repository
manual
user must manually download and install the dependency.
]]>
String
comments 3.0.0+ String
MailingList 3.0.0+ mailingList element, which is then described by additional elements (described below). The auto-generated site documentation references this information. ]]> name 3.0.0+ String subscribe 3.0.0+ mailto: link will automatically be created when the documentation is created. ]]> String unsubscribe 3.0.0+ mailto: link will automatically be created when the documentation is created. ]]> String post 3.1.0+ mailto: link will automatically be created when the documentation is created. ]]> String archive 3.0.0+ String otherArchives 3.1.0+ String * We could probably have a specific element for a dev mailing list for things like CI, and maybe even a specific element for the user and scm mailing lists. Then leave the more lose structure for any other type of mailing list. Organization 3.0.0+ name 3.0.0+ String url 3.0.0+ String logo 3.0.0+ /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 3.0.0+ title 3.0.0+ String packages 3.0.0+ String PatternSet 3.0.0+ includes 3.0.0+ String * excludes 3.0.0+ String * 3.0.0+ public List getDefaultExcludes() { List defaultExcludes = new ArrayList(); defaultExcludes.add( "**/*~" ); defaultExcludes.add( "**/#*#" ); defaultExcludes.add( "**/.#*" ); defaultExcludes.add( "**/%*%" ); defaultExcludes.add( "**/._*" ); // CVS defaultExcludes.add( "**/CVS" ); defaultExcludes.add( "**/CVS/**" ); defaultExcludes.add( "**/.cvsignore" ); // SCCS defaultExcludes.add( "**/SCCS" ); defaultExcludes.add( "**/SCCS/**" ); // Visual SourceSafe defaultExcludes.add( "**/vssver.scc" ); // Subversion defaultExcludes.add( "**/.svn" ); defaultExcludes.add( "**/.svn/**" ); // Mac defaultExcludes.add( "**/.DS_Store" ); return defaultExcludes; } Parent 4.0.0 artifactId 4.0.0 String groupId 4.0.0 String version 4.0.0 on of the project to extend.]]> String Repository 3.0.0 connection 3.0.0 building versions from specific ID. ]]> String developerConnection 3.0.0 String url 3.0.0 String Scm 4.0.0 connection 4.0.0 building versions from specific ID. ]]> String developerConnection 4.0.0 String url 4.0.0 String branches 4.0.0 String * FileSet 3.0.0+ PatternSet directory 3.0.0+ String Resource 3.0.0+ FileSet targetPath 3.0.0+ org.apache.maven.messages), you must specify this element with this value : org/apache/maven/messages ]]> String filtering 3.0.0+ boolean false SourceModification 3.0.0+ FileSet className 3.0.0+ not be loaded, then the includes and excludes specified below will be applied to the contents of the sourceDirectory ]]> String property 3.0.0+ String UnitTest 3.0.0+ PatternSet resources 3.0.0+ Resource * Version 3.0.0 version element ]]> name 3.0.0 1.0, 1.1-alpha1, 1.2-beta, 1.3.2 etc. ]]> String tag 3.0.0 String id 3.0.0 maven:dist builds. ]]> String 3.0.0 public String toString() { return getId(); } Repository 4.0.0 id 4.0.0 String name 4.0.0 String url 4.0.0 String username 4.0.0 The username to connect to the repository with. If omitted, none is used. String password 4.0.0 The password to use when connecting to the repository. If omitted, none is used. String 4.0.0 public boolean equals( Object obj ) { Repository other = ( Repository ) obj; boolean retValue = false; if ( id != null ) { retValue = id.equals( other.id ); } return retValue; } Site 4.0.0 id 4.0.0 String name 4.0.0 String url 4.0.0 String GoalDecorator 4.0.0 name 4.0.0 String attain 4.0.0 String GoalDecorator PreGoal 4.0.0 GoalDecorator PostGoal 4.0.0 Plugin 4.0.0 id 4.0.0 String true version 4.0.0 true String configuration Properties String * goals 4.0.0 Goal * Goal 4.0.0 id 4.0.0 String configuration Properties String * DependencyManagement 4.0.0 Section for management of default dependency information for use in a group of POMs. dependencies 4.0.0 The dependencies specified here are not validated until they are referenced in a POM within the group. This allows the specification of a "standard" version for a particular dependency. Dependency *