<extend>${basedir}/../project.xml</extend>]]>
maven --usage
is called on
the project. While this element can be specified as CDATA to enable
the use of HTML tags within the description, you are encouraged to
provide an alternative home page using xdocs/index.xml
if this is required.
]]>http://my.corp/project-logo.png
). This is used
when generating the project documentation.
]]>
If this isn't defined, the central repository is used instead as
determined by maven.repo.central
and
maven.repo.central.directory
dependency
element, which is then described by
additional elements (described below).
These dependencies are used to construct a classpath for your project during the build process.
Maven can automatically download these dependencies from a remote repository.
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.
When Maven goes looking for a dependency in the remote repository, it uses the dependency element to construct the URL to download from. This URL is defined as:
${repo}/${groupId}/${type}s/${artifactId}-${version}.${type}
Where
${maven.repo.remote}
maven:dist
target.
]]>maven:dist
target.
]]>
public void setVersion(String version)
{
this.currentVersion = version;
}
public String getVersion()
{
return currentVersion;
}
// We need this because we can't use package as a field name.
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( getPackaging() );
id.append( ":" );
id.append( getVersion() );
return id.toString();
}
maven:dist
target.
]]>
Note: The use of the id element for
a dependency is deprecated. Please use groupId
and
artifactId
together instead.
jar
ejb
plugin
war.bundle
property, and if found will include the
dependency in WEB-INF/lib
. For example syntax, check
the war plugin docs.
]]>
public String toString()
{
return groupId + "/" + type + "s:" + artifactId + "-" + version;
}
public String getId()
{
return groupId + ":" + artifactId + ":" + type + ":" + version;
}
public String getManagementKey()
{
return groupId + ":" + artifactId + ":" + type;
}
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();
}
]]>
http://my.corp/logo.png
). This value is used
when generating the project documentation.
]]>
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;
}
The format of this element is as follows:
scm:<provider>:<provider-parameters>
For cvs, the format for pserver repositories should be:
scm:cvs:pserver:user@host:/cvs/root:module-name
For local networked repositories (eg. pserver to local machine)
scm:cvs:lserver:user@host:/cvs/root:module-name
For ssh access:
scm:cvs:ext:user@host:/cvs/root:module-name
CVS_RSH
to be set, typically to ssh
or your
ssh client.
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
:
) in it.
For local file system repositories
scm:cvs:local:ignored:/cvs/root:module-name
For StarTeam access:
scm:starteam:username:password@host:port/project/view/folder
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
As an example, the settings for an Apache project are usually:
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
]]>org/apache/maven/messages
]]>1.1-alpha1
,
1.2-beta
,
1.3.2
etc.
]]>maven:dist
builds.
]]>
public String toString()
{
return getId();
}
public boolean equals( Object obj )
{
Repository other = ( Repository ) obj;
boolean retValue = false;
if ( id != null )
{
retValue = id.equals( other.id );
}
return retValue;
}