mirror of https://github.com/apache/maven.git
The new model for the new modello. Not tested for the moment.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163158 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
6e812f1d2e
commit
bea17db376
|
@ -1,4 +1,3 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
|
|
||||
| o add specification element to a field, this would be more a technical description of
|
||||
|
@ -21,10 +20,14 @@
|
|||
<id>maven</id>
|
||||
<name>Maven</name>
|
||||
<description>Maven's model for Java project.</description>
|
||||
<packageName>org.apache.maven.model</packageName>
|
||||
<root>Model</root>
|
||||
<defaults>
|
||||
<default>
|
||||
<key>package</key>
|
||||
<value>org.apache.maven.model</value>
|
||||
</default>
|
||||
</defaults>
|
||||
<classes>
|
||||
<class>
|
||||
<class rootElement="true">
|
||||
<name>Model</name>
|
||||
<version>3.0.0+</version>
|
||||
<fields>
|
||||
|
@ -62,7 +65,9 @@
|
|||
<name>id</name>
|
||||
<version>3.0.0</version>
|
||||
<required>true</required>
|
||||
<description>The primary id for your project.</description>
|
||||
<description>
|
||||
The id of the project.
|
||||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
|
@ -147,13 +152,17 @@
|
|||
<name>issueManagement</name>
|
||||
<version>4.0.0</version>
|
||||
<description>The project's issue management information.</description>
|
||||
<type>IssueManagement</type>
|
||||
<association>
|
||||
<type>IssueManagement</type>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>ciManagement</name>
|
||||
<version>4.0.0</version>
|
||||
<description>The project's continuous integration management information.</description>
|
||||
<type>CiManagement</type>
|
||||
<association>
|
||||
<type>CiManagement</type>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>inceptionYear</name>
|
||||
|
@ -185,66 +194,45 @@
|
|||
<version>3.0.0</version>
|
||||
<description>The FQDN of the host where the project's artifacts are uploaded.</description>
|
||||
<type>String</type>
|
||||
<comment>This naming is inconsistent and distriubtion should occur from a repository structure.</comment>
|
||||
<comment>This naming is inconsistent and distribution should occur from a repository structure.</comment>
|
||||
</field>
|
||||
<field>
|
||||
<name>distributionDirectory</name>
|
||||
<version>3.0.0</version>
|
||||
<description>The directory on the distribution host where artifacts are placed when uploaded.</description>
|
||||
<type>String</type>
|
||||
<comment>This naming is inconsistent and distriubtion should occur from a repository structure.</comment>
|
||||
<comment>This naming is inconsistent and distribution should occur from a repository structure.</comment>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>scm</name>
|
||||
<version>4.0.0</version>
|
||||
<description>Specification for the SCM use by the project.</description>
|
||||
<type>Scm</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>repository</name>
|
||||
<version>3.0.0</version>
|
||||
<description>Specification for the SCM use by the project.</description>
|
||||
<type>Repository</type>
|
||||
<comment>This element needs to be renamed as it conflicts with the existing notion of repositories in Maven.</comment>
|
||||
</field>
|
||||
<field>
|
||||
<name>build</name>
|
||||
<version>3.0.0+</version>
|
||||
<required>true</required>
|
||||
<description>Information required to build the project.</description>
|
||||
<type>Build</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>organization</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>
|
||||
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).
|
||||
</description>
|
||||
<type>Organization</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>distributionManagement</name>
|
||||
<version>4.0.0</version>
|
||||
<description>Distribution information for a project.</description>
|
||||
<type>DistributionManagement</type>
|
||||
</field>
|
||||
</fields>
|
||||
<associations>
|
||||
<association>
|
||||
<name>repositories</name>
|
||||
<version>4.0.0</version>
|
||||
<description>The lists of the remote repositories</description>
|
||||
<to>Repository</to>
|
||||
</association>
|
||||
<association>
|
||||
<association>
|
||||
<type>Repository</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>pluginRepositories</name>
|
||||
<version>4.0.0</version>
|
||||
<description>The lists of the remote repositories for discovering plugins</description>
|
||||
<association>
|
||||
<type>Repository</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
<comment>This may be removed or relocated in the near future. It is undecided whether plugins really need a remote repository set of their own.</comment>
|
||||
</field>
|
||||
<field>
|
||||
<name>mailingLists</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>The mailing lists for the project.</description>
|
||||
<to>MailingList</to>
|
||||
</association>
|
||||
<association>
|
||||
<association>
|
||||
<type>MailingList</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>developers</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>
|
||||
|
@ -254,9 +242,12 @@
|
|||
additional elements (described below). The auto-generated site
|
||||
documentation references this information.
|
||||
</description>
|
||||
<to>Developer</to>
|
||||
</association>
|
||||
<association>
|
||||
<association>
|
||||
<type>Developer</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>contributors</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>
|
||||
|
@ -266,9 +257,12 @@
|
|||
elements (described below). The auto-generated site documentation
|
||||
references this information.
|
||||
</description>
|
||||
<to>Contributor</to>
|
||||
</association>
|
||||
<association>
|
||||
<association>
|
||||
<type>Contributor</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>dependencies</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>
|
||||
|
@ -277,10 +271,27 @@
|
|||
<code>dependency</code> element, which is then described by
|
||||
additional elements (described below).
|
||||
</description>
|
||||
<association>
|
||||
<type>Dependency</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
<comment>These should ultimately only be compile time dependencies when transitive dependencies come into play.</comment>
|
||||
<to>Dependency</to>
|
||||
</association>
|
||||
<association>
|
||||
</field>
|
||||
<field>
|
||||
<name>overrides</name>
|
||||
<version>4.0.0</version>
|
||||
<description>
|
||||
This element describes all of the dependency overrides for a
|
||||
project. Each dependency is described by a
|
||||
<code>override</code> element, which is then described by
|
||||
additional elements (described below).
|
||||
</description>
|
||||
<association>
|
||||
<type>Override</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>licenses</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>
|
||||
|
@ -290,27 +301,39 @@
|
|||
references this information. Projects should only list the license(s) that
|
||||
applies to the project and not the licenses that apply to dependencies.
|
||||
</description>
|
||||
<to>License</to>
|
||||
</association>
|
||||
<association>
|
||||
<association>
|
||||
<type>License</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>versions</name>
|
||||
<version>3.0.0</version>
|
||||
<description>The released versions of the project.</description>
|
||||
<to>Version</to>
|
||||
</association>
|
||||
<association>
|
||||
<association>
|
||||
<type>Version</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>branches</name>
|
||||
<version>3.0.0</version>
|
||||
<description>The SCM branches create for the project.</description>
|
||||
<to>Branch</to>
|
||||
</association>
|
||||
<association>
|
||||
<association>
|
||||
<type>Branch</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>packageGroups</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>Package groups required for complete javadocs.</description>
|
||||
<to>PackageGroup</to>
|
||||
</association>
|
||||
<association>
|
||||
<association>
|
||||
<type>PackageGroup</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>reports</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>
|
||||
|
@ -321,11 +344,117 @@
|
|||
reports will be included in the navigation bar for browsing in
|
||||
the order they are specified.
|
||||
</description>
|
||||
<to>String</to>
|
||||
</association>
|
||||
</associations>
|
||||
<association>
|
||||
<type>String</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>scm</name>
|
||||
<version>4.0.0</version>
|
||||
<description>Specification for the SCM use by the project.</description>
|
||||
<association>
|
||||
<type>Scm</type>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>repository</name>
|
||||
<version>3.0.0</version>
|
||||
<description>Specification for the SCM use by the project.</description>
|
||||
<association>
|
||||
<type>Repository</type>
|
||||
</association>
|
||||
<comment>This element needs to be renamed as it conflicts with the existing notion of repositories in Maven.</comment>
|
||||
</field>
|
||||
<field>
|
||||
<name>build</name>
|
||||
<version>3.0.0+</version>
|
||||
<required>true</required>
|
||||
<description>Information required to build the project.</description>
|
||||
<association>
|
||||
<type>Build</type>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>organization</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>
|
||||
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).
|
||||
</description>
|
||||
<association>
|
||||
<type>Organization</type>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>distributionManagement</name>
|
||||
<version>4.0.0</version>
|
||||
<description>Distribution information for a project.</description>
|
||||
<association>
|
||||
<type>DistributionManagement</type>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>local</name>
|
||||
<version>4.0.0</version>
|
||||
<required>false</required>
|
||||
<description>Local configuration information.</description>
|
||||
<association>
|
||||
<type>Local</type>
|
||||
</association>
|
||||
</field>
|
||||
<!-- @todo long run 4.0.0 may not need properties, with the parameters being specified
|
||||
for the plugin directly -->
|
||||
<field>
|
||||
<name>properties</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>
|
||||
Properties about the project. This allows you to configure your project and the
|
||||
plugins it uses.
|
||||
</description>
|
||||
<type>Properties</type>
|
||||
<association mapStyle="inline">
|
||||
<type>String</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>preGoals</name>
|
||||
<version>4.0.0</version>
|
||||
<description>Set of decorator(s) injected before the target goal(s).</description>
|
||||
<association>
|
||||
<type>PreGoal</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>postGoals</name>
|
||||
<version>4.0.0</version>
|
||||
<description>Set of decorator(s) injected after the target goal(s).</description>
|
||||
<association>
|
||||
<type>PostGoal</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
</fields>
|
||||
<!-- We need this because we can't use package as a field name. -->
|
||||
<!-- @todo this means it is undocumented. Should we instead provide an optional field name so package can be mapped to the field packageName? -->
|
||||
<codeSegments>
|
||||
<codeSegment>
|
||||
<version>3.0.0</version>
|
||||
<code>
|
||||
public void setVersion(String version)
|
||||
{
|
||||
this.currentVersion = version;
|
||||
}
|
||||
|
||||
public String getVersion()
|
||||
{
|
||||
return currentVersion;
|
||||
}
|
||||
</code>
|
||||
</codeSegment>
|
||||
<codeSegment>
|
||||
<version>3.0.0+</version>
|
||||
<code>
|
||||
|
@ -361,39 +490,12 @@
|
|||
}
|
||||
</code>
|
||||
</codeSegment>
|
||||
<!--
|
||||
<codeSegment>
|
||||
<version>3.0.0</version>
|
||||
<code>
|
||||
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 );
|
||||
}
|
||||
}
|
||||
</code>
|
||||
</codeSegment>
|
||||
-->
|
||||
</codeSegments>
|
||||
</class>
|
||||
<!-- @todo: is any of this too CVS specific? Investigate other SCMs -->
|
||||
<class>
|
||||
<name>Branch</name>
|
||||
<version>3.0.0</version>
|
||||
<version>3.0.0+</version>
|
||||
<description>
|
||||
This element describes each of the branches of the
|
||||
project. Each branch is described by a
|
||||
|
@ -403,7 +505,8 @@
|
|||
<fields>
|
||||
<field>
|
||||
<name>tag</name>
|
||||
<version>3.0.0</version>
|
||||
<version>3.0.0+</version>
|
||||
<required>true</required>
|
||||
<description>
|
||||
The branch tag in the version control system
|
||||
(e.g. cvs) used by the project for the source
|
||||
|
@ -412,6 +515,24 @@
|
|||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>description</name>
|
||||
<version>4.0.0</version>
|
||||
<description>
|
||||
A description of the branch and its strategy.
|
||||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>lastMergeTag</name>
|
||||
<version>4.0.0</version>
|
||||
<description>
|
||||
This is the tag in the version control system that was last used
|
||||
to merge from the branch to the current codebase. Future merges
|
||||
should merge only the changes from this tag to the next.
|
||||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
</fields>
|
||||
</class>
|
||||
<class>
|
||||
|
@ -471,13 +592,56 @@
|
|||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>integrationUnitTestSourceDirectory</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>
|
||||
This element specifies a directory containing integration test
|
||||
sources of the project.
|
||||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>sourceModifications</name>
|
||||
<version>3.0.0+</version>
|
||||
<required>true</required>
|
||||
<description>
|
||||
This element describes all of the sourceModifications associated with a
|
||||
project. Each source modification is described by a
|
||||
<code>sourceModification</code> 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.
|
||||
</description>
|
||||
<association>
|
||||
<type>SourceModification</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>unitTest</name>
|
||||
<version>3.0.0+</version>
|
||||
<required>true</required>
|
||||
<description>This element specifies unit tests associated with the project.</description>
|
||||
<type>UnitTest</type>
|
||||
<defaultValue>new UnitTest()</defaultValue>
|
||||
<association>
|
||||
<type>UnitTest</type>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>resources</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>
|
||||
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
|
||||
<a href="#resource">below</a>). These resources are used to
|
||||
complete the jar file or to run unit test.
|
||||
</description>
|
||||
<association>
|
||||
<type>Resource</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>directory</name>
|
||||
|
@ -495,6 +659,16 @@
|
|||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>finalName</name>
|
||||
<version>4.0.0</version>
|
||||
<description>
|
||||
The filename (including an extension, but with no path information) that the produced artifact
|
||||
will be called. The default value is artifactId-version.extension (where extension is derived from
|
||||
type).
|
||||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>testOutput</name>
|
||||
<version>4.0.0</version>
|
||||
|
@ -504,36 +678,6 @@
|
|||
<type>String</type>
|
||||
</field>
|
||||
</fields>
|
||||
<associations>
|
||||
<association>
|
||||
<name>sourceModifications</name>
|
||||
<version>3.0.0+</version>
|
||||
<!--
|
||||
<required>true</required>
|
||||
-->
|
||||
<description>
|
||||
This element describes all of the sourceModifications associated with a
|
||||
project. Each source modification is described by a
|
||||
<code>sourceModification</code> 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.
|
||||
</description>
|
||||
<to>SourceModification</to>
|
||||
</association>
|
||||
<association>
|
||||
<name>resources</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>
|
||||
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
|
||||
<a href="#resource">below</a>). These resources are used to
|
||||
complete the jar file or to run unit test.
|
||||
</description>
|
||||
<to>Resource</to>
|
||||
</association>
|
||||
</associations>
|
||||
</class>
|
||||
<class>
|
||||
<name>CiManagement</name>
|
||||
|
@ -588,16 +732,6 @@
|
|||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>timezone</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>
|
||||
The timezone the contributor is in. This is a number in the range -14 to 14.
|
||||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
</fields>
|
||||
<associations>
|
||||
<association>
|
||||
<name>roles</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>
|
||||
|
@ -606,9 +740,20 @@
|
|||
<code>role</code> element, the body of which is a
|
||||
role name.
|
||||
</description>
|
||||
<to>String</to>
|
||||
</association>
|
||||
</associations>
|
||||
<association>
|
||||
<type>String</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>timezone</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>
|
||||
The timezone the contributor is in. This is a number in the range -14 to 14.
|
||||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
</fields>
|
||||
</class>
|
||||
<class>
|
||||
<name>Dependency</name>
|
||||
|
@ -619,7 +764,7 @@
|
|||
<version>3.0.0</version>
|
||||
<required>true</required>
|
||||
<description>
|
||||
The id of the dependency.
|
||||
The id of the project.
|
||||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
|
@ -686,10 +831,7 @@
|
|||
<type>String</type>
|
||||
<defaultValue>jar</defaultValue>
|
||||
</field>
|
||||
</fields>
|
||||
<associations>
|
||||
<!-- Trygve: Properties is a TODO in modello
|
||||
<association>
|
||||
<field>
|
||||
<name>properties</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>
|
||||
|
@ -700,11 +842,23 @@
|
|||
in
|
||||
<code>WEB-INF/lib</code>. For example syntax, check the war plugin docs.
|
||||
</description>
|
||||
<to>java.util.Properties</to>
|
||||
</association>
|
||||
-->
|
||||
</associations>
|
||||
<type>Properties</type>
|
||||
<association mapStyle="inline">
|
||||
<type>String</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
</fields>
|
||||
<codeSegments>
|
||||
<codeSegment>
|
||||
<version>3.0.0+</version>
|
||||
<code>
|
||||
public String toString()
|
||||
{
|
||||
return groupId + "/" + type + "s:" + artifactId + "-" + version;
|
||||
}
|
||||
</code>
|
||||
</codeSegment>
|
||||
<codeSegment>
|
||||
<version>4.0.0</version>
|
||||
<code>
|
||||
|
@ -712,15 +866,136 @@
|
|||
{
|
||||
return groupId + ":" + artifactId + ":" + type + ":" + version;
|
||||
}
|
||||
|
||||
public String toString()
|
||||
{
|
||||
return groupId + "/" + type + "s:" + artifactId + "-" + version;
|
||||
}
|
||||
</code>
|
||||
</codeSegment>
|
||||
<codeSegment>
|
||||
<version>3.0.0</version>
|
||||
<code><![CDATA[
|
||||
public String getKey()
|
||||
{
|
||||
return getId() + ":" + getType();
|
||||
}
|
||||
|
||||
public String getArtifactDirectory()
|
||||
{
|
||||
return getGroupId();
|
||||
}
|
||||
|
||||
public String getArtifact()
|
||||
{
|
||||
// If the jar name has been explicty set then use that. This
|
||||
// is when the <jar/> 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();
|
||||
}
|
||||
]]></code>
|
||||
</codeSegment>
|
||||
</codeSegments>
|
||||
</class>
|
||||
<class>
|
||||
<name>Override</name>
|
||||
<version>4.0.0</version>
|
||||
<fields>
|
||||
<field>
|
||||
<name>groupId</name>
|
||||
<version>4.0.0</version>
|
||||
<required>true</required>
|
||||
<description>
|
||||
The project group that produced the dependency, e.g.
|
||||
<code>geronimo</code>.
|
||||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>artifactId</name>
|
||||
<version>4.0.0</version>
|
||||
<required>true</required>
|
||||
<description>
|
||||
The unique id for an artifact produced by the project group, e.g.
|
||||
<code>germonimo-jms</code>
|
||||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>type</name>
|
||||
<version>4.0.0</version>
|
||||
<description>
|
||||
Other known recognised dependency types are:
|
||||
<code>ejb</code> and
|
||||
<code>plugin</code>.
|
||||
</description>
|
||||
<type>String</type>
|
||||
<defaultValue>jar</defaultValue>
|
||||
</field>
|
||||
<!-- @todo this doesn't consider forced-version overrides, and do we need the version to override? -->
|
||||
<field>
|
||||
<name>version</name>
|
||||
<version>4.0.0</version>
|
||||
<required>true</required>
|
||||
<description>
|
||||
The version of the dependency., e.g.
|
||||
<code>3.2.1</code>
|
||||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>file</name>
|
||||
<version>4.0.0</version>
|
||||
<required>true</required>
|
||||
<description>
|
||||
The filename of the dependency that will be used to override the one from the repository, e.g.
|
||||
<code>lib/non-distributable-code-1.3.jar</code>
|
||||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
</fields>
|
||||
</class>
|
||||
<class>
|
||||
<superClass>Contributor</superClass>
|
||||
<name>Developer</name>
|
||||
|
@ -763,13 +1038,17 @@
|
|||
<name>repository</name>
|
||||
<version>4.0.0</version>
|
||||
<description>Information needed for deploying to remote repository artifacts generated by the project</description>
|
||||
<type>Repository</type>
|
||||
<association>
|
||||
<type>Repository</type>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>site</name>
|
||||
<description>Information needed for deploying website files of the project.</description>
|
||||
<version>4.0.0</version>
|
||||
<type>Site</type>
|
||||
<association>
|
||||
<type>Site</type>
|
||||
</association>
|
||||
</field>
|
||||
</fields>
|
||||
</class>
|
||||
|
@ -850,11 +1129,32 @@
|
|||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>post</name>
|
||||
<version>4.0.0</version>
|
||||
<description>
|
||||
The email address or link that can be used to post to
|
||||
the mailing list. If this is an email address, a
|
||||
<code>mailto:</code> link will automatically be created
|
||||
when the documentation is created.
|
||||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>archive</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>The link to a URL where you can browse the archive.</description>
|
||||
<type>String</type>
|
||||
<comment>This should probably be removed from 4.0.0 before alpha-1</comment>
|
||||
</field>
|
||||
<field>
|
||||
<name>archives</name>
|
||||
<version>4.0.0</version>
|
||||
<description>The link to a URL where you can browse the archive.</description>
|
||||
<association>
|
||||
<type>String</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
</fields>
|
||||
<comment>
|
||||
|
@ -917,23 +1217,30 @@
|
|||
<class>
|
||||
<name>PatternSet</name>
|
||||
<version>3.0.0+</version>
|
||||
<associations>
|
||||
<association>
|
||||
<fields>
|
||||
<field>
|
||||
<name>includes</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>the description</description>
|
||||
<to>String</to>
|
||||
</association>
|
||||
<association>
|
||||
<association>
|
||||
<type>String</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
<field>
|
||||
<name>excludes</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>the description</description>
|
||||
<to>String</to>
|
||||
</association>
|
||||
</associations>
|
||||
<association>
|
||||
<type>String</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
</fields>
|
||||
<codeSegments>
|
||||
<codeSegment>
|
||||
<version>3.0.0+</version>
|
||||
<!-- @todo: should these be built somewhere so they are only created once, and can be modified? -->
|
||||
<code>
|
||||
public List getDefaultExcludes()
|
||||
{
|
||||
|
@ -1058,6 +1365,15 @@
|
|||
<description>The URL to the project's browsable CVS repository.</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>branches</name>
|
||||
<version>4.0.0</version>
|
||||
<description>The SCM branches that are currently active for the project. These should only be those forked from the current branch or trunk that are intended to be used.</description>
|
||||
<association>
|
||||
<type>String</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
</fields>
|
||||
</class>
|
||||
<class>
|
||||
|
@ -1090,7 +1406,7 @@
|
|||
<name>filtering</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>Describe if resources are filtered or not.</description>
|
||||
<type>String</type>
|
||||
<type>boolean</type>
|
||||
<defaultValue>false</defaultValue>
|
||||
</field>
|
||||
</fields>
|
||||
|
@ -1124,14 +1440,17 @@
|
|||
<name>UnitTest</name>
|
||||
<version>3.0.0+</version>
|
||||
<superClass>PatternSet</superClass>
|
||||
<associations>
|
||||
<association>
|
||||
<fields>
|
||||
<field>
|
||||
<name>resources</name>
|
||||
<version>3.0.0+</version>
|
||||
<description>the description</description>
|
||||
<to>Resource</to>
|
||||
</association>
|
||||
</associations>
|
||||
<association>
|
||||
<type>Resource</type>
|
||||
<multiplicity>*</multiplicity>
|
||||
</association>
|
||||
</field>
|
||||
</fields>
|
||||
</class>
|
||||
<class>
|
||||
<name>Version</name>
|
||||
|
@ -1268,6 +1587,73 @@
|
|||
</field>
|
||||
</fields>
|
||||
</class>
|
||||
<class>
|
||||
<name>GoalDecorator</name>
|
||||
<version>4.0.0</version>
|
||||
<fields>
|
||||
<field>
|
||||
<name>name</name>
|
||||
<version>4.0.0</version>
|
||||
<description>The target goal which should be decorated.</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
<field>
|
||||
<name>attain</name>
|
||||
<version>4.0.0</version>
|
||||
<description>
|
||||
The goal which should be injected into the execution chain.
|
||||
</description>
|
||||
<type>String</type>
|
||||
</field>
|
||||
</fields>
|
||||
</class>
|
||||
<class>
|
||||
<superClass>GoalDecorator</superClass>
|
||||
<name>PreGoal</name>
|
||||
<version>4.0.0</version>
|
||||
<fields></fields>
|
||||
</class>
|
||||
<class>
|
||||
<superClass>GoalDecorator</superClass>
|
||||
<name>PostGoal</name>
|
||||
<version>4.0.0</version>
|
||||
<fields></fields>
|
||||
</class>
|
||||
|
||||
<!-- @todo should modello take a parameter/code segment that will forbid the
|
||||
specification of this in a project other than the user pom? -->
|
||||
<class>
|
||||
<name>Local</name>
|
||||
<version>4.0.0</version>
|
||||
<description>
|
||||
Local contains the information that is specific to the user's
|
||||
local environment. This would only be expected in a user or site pom,
|
||||
not a project POM.
|
||||
</description>
|
||||
<fields>
|
||||
<!-- @todo should local repository actually be part of the <repositories/> element, or be of repository type? -->
|
||||
<field>
|
||||
<name>repository</name>
|
||||
<version>4.0.0</version>
|
||||
<description>
|
||||
The local repository that contains downloaded artifacts.
|
||||
</description>
|
||||
<type>String</type>
|
||||
<!-- @todo systemProperty tag (maven.repo.local value) should be supported by modello -->
|
||||
</field>
|
||||
<field>
|
||||
<name>online</name>
|
||||
<version>4.0.0</version>
|
||||
<description>
|
||||
Whether to run the build online. If not, no remote repositories are consulted for plugins or dependencies
|
||||
and this configuration may be used by other plugins requiring online access.
|
||||
</description>
|
||||
<type>boolean</type>
|
||||
<defaultValue>true</defaultValue>
|
||||
<!-- @todo systemProperty tag (maven.online value) should be supported by modello -->
|
||||
</field>
|
||||
</fields>
|
||||
</class>
|
||||
</classes>
|
||||
</model>
|
||||
|
||||
|
|
Loading…
Reference in New Issue