You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2021/10/17 21:21:29 UTC
[maven] 01/01: first step to use Modello for cache-domain
This is an automated email from the ASF dual-hosted git repository.
hboutemy pushed a commit to branch MNG-7129_Modello
in repository https://gitbox.apache.org/repos/asf/maven.git
commit 17e99ad93c502b0027d66367c245f648ce8c81fb
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Sun Oct 17 23:21:20 2021 +0200
first step to use Modello for cache-domain
---
maven-core/pom.xml | 29 ++-
maven-core/src/main/mdo/cache-domain.mdo | 296 +++++++++++++++++++++++++++++++
2 files changed, 324 insertions(+), 1 deletion(-)
diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index 9dd0250..b1e830e 100644
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@ -217,7 +217,34 @@ under the License.
</configuration>
<executions>
<execution>
- <id>modello-site-doc</id>
+ <id>modello-site-docs-cache</id>
+ <phase>pre-site</phase>
+ <goals>
+ <goal>xdoc</goal>
+ <goal>xsd</goal>
+ </goals>
+ <configuration>
+ <version>1.0.0</version>
+ <models>
+ <model>src/main/mdo/cache-domain.mdo</model>
+ </models>
+ </configuration>
+ </execution>
+ <execution>
+ <id>modello-cache</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ </goals>
+ <configuration>
+ <version>1.0.0</version>
+ <models>
+ <model>src/main/mdo/cache-domain.mdo</model>
+ </models>
+ </configuration>
+ </execution>
+ <execution>
+ <id>modello-site-docs-extension</id>
<phase>pre-site</phase>
<goals>
<goal>xdoc</goal>
diff --git a/maven-core/src/main/mdo/cache-domain.mdo b/maven-core/src/main/mdo/cache-domain.mdo
new file mode 100644
index 0000000..cb0ba6d
--- /dev/null
+++ b/maven-core/src/main/mdo/cache-domain.mdo
@@ -0,0 +1,296 @@
+<!--
+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://codehaus-plexus.github.io/MODELLO/1.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://codehaus-plexus.github.io/MODELLO/1.4.0 http://codehaus-plexus.github.io/modello/xsd/modello-1.4.0.xsd">
+ <id>cache-domain</id>
+ <name>CacheDomain</name>
+ <description><![CDATA[
+ ]]></description>
+ <defaults>
+ <default>
+ <key>package</key>
+ <value>org.apache.maven.caching.domain</value>
+ </default>
+ </defaults>
+ <classes>
+ <!--xs:complexType name="BuildInfoType"-->
+ <class rootElement="true" xml.tagName="build">
+ <name>BuildInfoType</name>
+ <version>1.0.0+</version>
+ <description><![CDATA[Root element of the <code>extension.xml</code> file.]]></description>
+ <!--xs:all-->
+ <fields>
+ <field>
+ <name>cacheImplementationVersion</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description></description>
+ </field>
+ <!--xs:element name="final" type="xs:boolean" minOccurs="0"/-->
+ <!--field>
+ <name>final</name>
+ <version>1.0.0+</version>
+ <type>Boolean</type>
+ <description></description>
+ </field-->
+ <!--xs:element name="hashFunction" type="xs:string"/-->
+ <field>
+ <name>hashFunction</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description></description>
+ </field>
+ <!--xs:element name="buildTime" type="xs:dateTime" minOccurs="0"/-->
+ <!--xs:element name="buildServer" type="xs:string" minOccurs="0"/-->
+ <field>
+ <name>buildServer</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description></description>
+ </field>
+ <!--xs:element name="cacheImplementationVersion" type="xs:string"/-->
+ <!--xs:element name="scm" minOccurs="0">
+ <xs:complexType>
+ <xs:all>
+ <xs:element name="sourceBranch" type="xs:string" minOccurs="0"/>
+ <xs:element name="revision" type="xs:string" minOccurs="0"/>
+ </xs:all>
+ </xs:complexType>
+ </xs:element-->
+ <!--xs:element name="goals">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="goal" type="xs:string" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element-->
+ <field>
+ <name>goals</name>
+ <version>1.0.0+</version>
+ <association>
+ <type>String</type>
+ <multiplicity>*</multiplicity>
+ </association>
+ <description></description>
+ </field>
+ <!--xs:element name="artifact" type="d:ArtifactType"/-->
+ <field>
+ <name>artifact</name>
+ <version>1.0.0+</version>
+ <association>
+ <type>ArtifactType</type>
+ </association>
+ <description></description>
+ </field>
+ <!--xs:element name="attachedArtifacts">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="artifact" type="d:ArtifactType" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="generatedSources" minOccurs="0">
+ <xs:complexType>
+ <xs:all>
+ <xs:element name="relativePath">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="artifactFileName" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:all>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="executions">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="execution" type="d:CompletedExecutionType" minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="projectsInputInfo" type="d:ProjectsInputInfoType" minOccurs="0"/>-->
+ </fields>
+ </class>
+
+ <!--xs:complexType name="ArtifactType"-->
+ <class>
+ <name>ArtifactType</name>
+ <!--xs:sequence-->
+ <fields>
+ <!--xs:element name="groupId" type="xs:string"/-->
+ <field>
+ <name>groupId</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description></description>
+ </field>
+ <!--xs:element name="artifactId" type="xs:string"/-->
+ <field>
+ <name>artifactId</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description></description>
+ </field>
+ <!--xs:element name="version" type="xs:string"/-->
+ <field>
+ <name>version</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description></description>
+ </field>
+ <!--xs:element name="classifier" type="xs:string" minOccurs="0"/-->
+ <field>
+ <name>classifier</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description></description>
+ </field>
+ <!--xs:element name="type" type="xs:string"/-->
+ <field>
+ <name>type</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description></description>
+ </field>
+ <!--xs:element name="scope" type="xs:string" minOccurs="0"/-->
+ <field>
+ <name>scope</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description></description>
+ </field>
+ <!--xs:element name="fileName" type="xs:string" minOccurs="0"/-->
+ <field>
+ <name>fileName</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description></description>
+ </field>
+ <!--xs:element name="fileHash" type="xs:string" minOccurs="0"/-->
+ <field>
+ <name>fileHash</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description></description>
+ </field>
+ <!--xs:element name="fileSize" type="xs:nonNegativeInteger" minOccurs="0"/-->
+ <!--field>
+ <name>fileSize</name>
+ <version>1.0.0+</version>
+ <type>int</type>
+ <description></description>
+ </field-->
+ <!--/xs:sequence-->
+ </fields>
+ <!--/xs:complexType-->
+ </class>
+
+ <!--xs:complexType name="CompletedExecutionType">
+ <xs:sequence>
+ <xs:element name="executionKey" type="xs:string"/>
+ <xs:element name="mojoClassName" type="xs:string" minOccurs="0"/>
+ <xs:element name="configuration" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="property" type="d:PropertyValueType" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="PropertyValueType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="tracked" type="xs:boolean"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="ProjectsInputInfoType">
+ <xs:sequence>
+ <xs:element name="checksum" type="xs:string"/>
+ <xs:element name="item" type="d:DigestItemType" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="DigestItemType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="type" use="required" type="xs:string"/>
+ <xs:attribute name="hash" use="required" type="xs:string"/>
+ <xs:attribute name="fileChecksum" type="xs:string"/>
+ <xs:attribute name="content" type="xs:string"/>
+ <xs:attribute name="isText" type="xs:string"/>
+ <xs:attribute name="charset" type="xs:string"/>
+ <xs:attribute name="eol" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="CacheReportType">
+ <xs:sequence>
+ <xs:element name="project" type="d:ProjectReportType" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="ProjectReportType"-->
+ <!-- <xs:sequence>-->
+ <!-- <xs:element name="checksum" type="d:ChecksumReportType"/>-->
+ <!-- <xs:element name="parameters" type="d:PluginsReportType"/>-->
+ <!-- </xs:sequence>-->
+ <!--xs:attribute name="groupId" use="required" type="xs:string"/>
+ <xs:attribute name="artifactId" use="required" type="xs:string"/>
+ <xs:attribute name="checksum" use="required" type="xs:string"/>
+ <xs:attribute name="checksumMatched" type="xs:boolean" use="required"/>
+ <xs:attribute name="lifecycleMatched" type="xs:boolean"/>
+ <xs:attribute name="pluginsMatched" type="xs:boolean"/>
+ <xs:attribute name="source" type="xs:string" use="required"/>
+ <xs:attribute name="sharedToRemote" type="xs:boolean" use="required"/>
+ <xs:attribute name="url" type="xs:anyURI"/>
+ </xs:complexType>
+
+ <xs:complexType name="BuildDiffType">
+ <xs:sequence>
+ <xs:element name="mismatch" type="d:MismatchType" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="MismatchType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="detail" type="d:MismatchDetailType" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="item" use="required" type="xs:string"/>
+ <xs:attribute name="current" type="xs:string"/>
+ <xs:attribute name="baseline" type="xs:string"/>
+ <xs:attribute name="reason" type="xs:string"/>
+ <xs:attribute name="resolution" type="xs:string"/>
+ <xs:attribute name="context" type="xs:string"/>
+ </xs:complexType>
+
+ <xs:complexType name="MismatchDetailType"/>
+ -->
+ </classes>
+</model>