aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/maven/apache-maven-3.3.3/maven-repository-metadata/src/main/mdo/metadata.mdo
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/maven/apache-maven-3.3.3/maven-repository-metadata/src/main/mdo/metadata.mdo')
-rw-r--r--framework/src/maven/apache-maven-3.3.3/maven-repository-metadata/src/main/mdo/metadata.mdo371
1 files changed, 371 insertions, 0 deletions
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-repository-metadata/src/main/mdo/metadata.mdo b/framework/src/maven/apache-maven-3.3.3/maven-repository-metadata/src/main/mdo/metadata.mdo
new file mode 100644
index 00000000..97920027
--- /dev/null
+++ b/framework/src/maven/apache-maven-3.3.3/maven-repository-metadata/src/main/mdo/metadata.mdo
@@ -0,0 +1,371 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<model xmlns="http://modello.codehaus.org/MODELLO/1.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://modello.codehaus.org/MODELLO/1.4.0 http://modello.codehaus.org/xsd/modello-1.4.0.xsd"
+ xsd.namespace="http://maven.apache.org/METADATA/${version}"
+ xml.schemaLocation="http://maven.apache.org/xsd/metadata-${version}.xsd">
+ <id>repository-metadata</id>
+ <name>Metadata</name>
+ <description><![CDATA[
+ <p>Per-directory repository metadata, for directories representing un-versioned artifact, snapshot artifact
+ or a group containing Maven plugins.</p>
+ <p>Notice that most metadata content has a meaning when the directory represents
+ an artifact (<code>groupId</code>, <code>artifactId</code>, <code>versioning</code>), but
+ <code>plugins</code> is used when the directory represents a group.</p>]]>
+ </description>
+ <defaults>
+ <default>
+ <key>package</key>
+ <value>org.apache.maven.artifact.repository.metadata</value>
+ </default>
+ </defaults>
+ <classes>
+ <class rootElement="true" java.clone="deep">
+ <name>Metadata</name>
+ <version>1.0.0+</version>
+ <fields>
+ <field xml.attribute="true">
+ <name>modelVersion</name>
+ <version>1.1.0+</version>
+ <type>String</type>
+ <description>The version of the underlying metadata model.</description>
+ </field>
+ <field>
+ <name>groupId</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description>The groupId that this directory represents, if any.</description>
+ </field>
+ <field>
+ <name>artifactId</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description>The artifactId that this directory represents, if any.</description>
+ </field>
+ <field>
+ <name>version</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description>The version that this directory represents, if any. It is used for artifact snapshots only.</description>
+ </field>
+ <field>
+ <name>versioning</name>
+ <version>1.0.0+</version>
+ <association>
+ <type>Versioning</type>
+ </association>
+ <description>Versioning information for the artifact.</description>
+ </field>
+ <field xdoc.separator="blank">
+ <name>plugins</name>
+ <version>1.0.0+</version>
+ <description>The set of plugin mappings for the group represented by this directory</description>
+ <association>
+ <type>Plugin</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ </fields>
+ <codeSegments>
+ <codeSegment>
+ <version>1.0.0+</version>
+ <code><![CDATA[
+ public boolean merge( Metadata sourceMetadata )
+ {
+ boolean changed = false;
+
+ for ( Plugin plugin : sourceMetadata.getPlugins() )
+ {
+ boolean found = false;
+
+ for ( Plugin preExisting : getPlugins() )
+ {
+ if ( preExisting.getPrefix().equals( plugin.getPrefix() ) )
+ {
+ found = true;
+ break;
+ }
+ }
+
+ if ( !found )
+ {
+ Plugin mappedPlugin = new Plugin();
+
+ mappedPlugin.setArtifactId( plugin.getArtifactId() );
+
+ mappedPlugin.setPrefix( plugin.getPrefix() );
+
+ mappedPlugin.setName( plugin.getName() );
+
+ addPlugin( mappedPlugin );
+
+ changed = true;
+ }
+ }
+
+ Versioning versioning = sourceMetadata.getVersioning();
+ if ( versioning != null )
+ {
+ Versioning v = getVersioning();
+ if ( v == null )
+ {
+ v = new Versioning();
+ setVersioning( v );
+ changed = true;
+ }
+
+ for ( String version : versioning.getVersions() )
+ {
+ if ( !v.getVersions().contains( version ) )
+ {
+ changed = true;
+ v.getVersions().add( version );
+ }
+ }
+
+ if ( "null".equals( versioning.getLastUpdated() ) )
+ {
+ versioning.setLastUpdated( null );
+ }
+
+ if ( "null".equals( v.getLastUpdated() ) )
+ {
+ v.setLastUpdated( null );
+ }
+
+ if ( versioning.getLastUpdated() == null || versioning.getLastUpdated().length() == 0 )
+ {
+ // this should only be for historical reasons - we assume local is newer
+ versioning.setLastUpdated( v.getLastUpdated() );
+ }
+
+ if ( v.getLastUpdated() == null || v.getLastUpdated().length() == 0
+ || versioning.getLastUpdated().compareTo( v.getLastUpdated() ) >= 0 )
+ {
+ changed = true;
+ v.setLastUpdated( versioning.getLastUpdated() );
+
+ if ( versioning.getRelease() != null )
+ {
+ changed = true;
+ v.setRelease( versioning.getRelease() );
+ }
+ if ( versioning.getLatest() != null )
+ {
+ changed = true;
+ v.setLatest( versioning.getLatest() );
+ }
+
+ Snapshot s = v.getSnapshot();
+ Snapshot snapshot = versioning.getSnapshot();
+ if ( snapshot != null )
+ {
+ if ( s == null )
+ {
+ s = new Snapshot();
+ v.setSnapshot( s );
+ changed = true;
+ }
+
+ // overwrite
+ if ( s.getTimestamp() == null ? snapshot.getTimestamp() != null
+ : !s.getTimestamp().equals( snapshot.getTimestamp() ) )
+ {
+ s.setTimestamp( snapshot.getTimestamp() );
+ changed = true;
+ }
+ if ( s.getBuildNumber() != snapshot.getBuildNumber() )
+ {
+ s.setBuildNumber( snapshot.getBuildNumber() );
+ changed = true;
+ }
+ if ( s.isLocalCopy() != snapshot.isLocalCopy() )
+ {
+ s.setLocalCopy( snapshot.isLocalCopy() );
+ changed = true;
+ }
+ }
+ }
+ }
+ return changed;
+ }
+ ]]></code>
+ </codeSegment>
+ </codeSegments>
+ </class>
+ <class java.clone="deep">
+ <name>Versioning</name>
+ <version>1.0.0+</version>
+ <description>Versioning information for an artifact (un-versioned or snapshot)</description>
+ <fields>
+ <field>
+ <name>latest</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description>What the latest version in the directory is, including snapshots</description>
+ </field>
+ <field>
+ <name>release</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description>What the latest version in the directory is, of the releases only</description>
+ </field>
+ <field>
+ <name>snapshot</name>
+ <version>1.0.0+</version>
+ <association>
+ <type>Snapshot</type>
+ </association>
+ <description>The current snapshot data in use for this version (artifact snapshots only)</description>
+ </field>
+ <field>
+ <name>versions</name>
+ <version>1.0.0+</version>
+ <description>Versions available of the artifact (both releases and snapshots)</description>
+ <association>
+ <type>String</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ <field>
+ <name>lastUpdated</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description>When the metadata was last updated</description>
+ </field>
+ <field>
+ <name>snapshotVersions</name>
+ <version>1.1.0+</version>
+ <description>Information for each sub-artifact available in this artifact snapshot.</description>
+ <association>
+ <type>SnapshotVersion</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ </field>
+ </fields>
+ <codeSegments>
+ <codeSegment>
+ <version>1.0.0+</version>
+ <code><![CDATA[
+ public void updateTimestamp()
+ {
+ setLastUpdatedTimestamp( new java.util.Date() );
+ }
+
+ public void setLastUpdatedTimestamp( java.util.Date date )
+ {
+ java.util.TimeZone timezone = java.util.TimeZone.getTimeZone( "UTC" );
+ java.text.DateFormat fmt = new java.text.SimpleDateFormat( "yyyyMMddHHmmss" );
+ fmt.setTimeZone( timezone );
+ setLastUpdated( fmt.format( date ) );
+ }
+ ]]></code>
+ </codeSegment>
+ </codeSegments>
+ </class>
+ <class java.clone="deep">
+ <name>Snapshot</name>
+ <version>1.0.0+</version>
+ <description>Snapshot data for the current artifact version</description>
+ <fields>
+ <field>
+ <name>timestamp</name>
+ <version>1.0.0+</version>
+ <description>The time it was deployed</description>
+ <type>String</type>
+ </field>
+ <field>
+ <name>buildNumber</name>
+ <version>1.0.0+</version>
+ <description>The incremental build number</description>
+ <type>int</type>
+ </field>
+ <field>
+ <name>localCopy</name>
+ <version>1.0.0+</version>
+ <description>Whether to use a local copy instead (with filename that includes the base version)</description>
+ <type>boolean</type>
+ <defaultValue>false</defaultValue>
+ </field>
+ </fields>
+ </class>
+ <class java.clone="deep">
+ <name>SnapshotVersion</name>
+ <version>1.1.0+</version>
+ <description>Versioning information for a sub-artifact of the current snapshot artifact.</description>
+ <fields>
+ <field>
+ <name>classifier</name>
+ <version>1.1.0+</version>
+ <type>String</type>
+ <description>The classifier of the sub-artifact.</description>
+ <defaultValue></defaultValue>
+ </field>
+ <field>
+ <name>extension</name>
+ <version>1.1.0+</version>
+ <type>String</type>
+ <description>The file extension of thesub-artifact.</description>
+ </field>
+ <field xml.tagName="value">
+ <name>version</name>
+ <version>1.1.0+</version>
+ <type>String</type>
+ <description>The resolved snapshot version of the sub-artifact.</description>
+ </field>
+ <field>
+ <name>updated</name>
+ <version>1.1.0+</version>
+ <type>String</type>
+ <description>The timestamp when this version information was last updated. The timestamp is expressed using UTC in the format yyyyMMddHHmmss.</description>
+ </field>
+ </fields>
+ </class>
+ <class java.clone="deep">
+ <name>Plugin</name>
+ <version>1.0.0+</version>
+ <description>Mapping information for a single plugin within this group</description>
+ <comment>NOTE: plugin version is _NOT_ included here, since it is resolved using a separate algorithm in plugins' artifact.</comment>
+ <fields>
+ <field>
+ <name>name</name>
+ <type>String</type>
+ <required>true</required>
+ <version>1.0.0+</version>
+ <description>Display name for the plugin.</description>
+ </field>
+ <field>
+ <name>prefix</name>
+ <type>String</type>
+ <required>true</required>
+ <version>1.0.0+</version>
+ <description>The plugin invocation prefix (i.e. eclipse for eclipse:eclipse)</description>
+ </field>
+ <field>
+ <name>artifactId</name>
+ <type>String</type>
+ <required>true</required>
+ <version>1.0.0+</version>
+ <description>The plugin artifactId</description>
+ </field>
+ </fields>
+ </class>
+ </classes>
+</model>