<!--
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"
  xml.namespace="http://maven.apache.org/BUILD-CACHE-BUILD/${version}"
  xml.schemaLocation="http://maven.apache.org/xsd/build-cache-build-${version}.xsd">
  <id>build-cache-build</id>
  <name>BuildCacheBuild</name>
  <description><![CDATA[Cache build info, stored in local <code>lookupinfo.xml</code> or remote <code>buildinfo.xml</code>
  ]]></description>
  <defaults>
    <default>
      <key>package</key>
      <value>org.apache.maven.buildcache.xml.build</value>
    </default>
  </defaults>
  <classes>
    <!--xs:complexType name="BuildInfoType"-->
    <class rootElement="true" xml.tagName="build">
      <name>Build</name>
      <version>1.0.0+</version>
      <description></description>
      <!--xs:all-->
      <fields>
        <!-- xs:element name="cacheImplementationVersion" type="xs:string"/-->
        <field>
          <name>cacheImplementationVersion</name>
          <version>1.0.0+</version>
          <type>String</type>
        </field>
        <!--xs:element name="final" type="xs:boolean" minOccurs="0"/-->
        <field xml.tagName="final">
          <name>_final</name>
          <version>1.0.0+</version>
          <type>Boolean</type>
          <alias>final</alias>
        </field>
        <!--xs:element name="hashFunction" type="xs:string"/-->
        <field>
          <name>hashFunction</name>
          <version>1.0.0+</version>
          <type>String</type>
        </field>
        <!--xs:element name="buildTime" type="xs:dateTime" minOccurs="0"/-->
        <field>
          <name>buildTime</name>
          <version>1.0.0+</version>
          <type>Date</type>
        </field>
        <!--xs:element name="buildServer" type="xs:string" minOccurs="0"/-->
        <field>
          <name>buildServer</name>
          <version>1.0.0+</version>
          <type>String</type>
        </field>
        <!--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-->
        <field>
          <name>scm</name>
          <version>1.0.0+</version>
          <association>
            <type>Scm</type>
          </association>
        </field>
        <!--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>Artifact</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-->
        <field>
          <name>attachedArtifacts</name>
          <association>
            <type>Artifact</type>
            <multiplicity>*</multiplicity>
          </association>
        </field>
        <!--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-->
        <field>
          <name>executions</name>
          <association>
            <type>CompletedExecution</type>
            <multiplicity>*</multiplicity>
          </association>
        </field>
        <!--xs:element name="projectsInputInfo" type="d:ProjectsInputInfoType" minOccurs="0"/-->
        <field>
          <name>projectsInputInfo</name>
          <association>
            <type>ProjectsInputInfo</type>
          </association>
        </field>
      </fields>
    </class>

    <!--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-->
    <class>
      <name>Scm</name>
      <fields>
        <field>
          <name>sourceBranch</name>
          <type>String</type>
        </field>
        <field>
          <name>revision</name>
          <type>String</type>
        </field>
      </fields>
    </class>

    <!--xs:complexType name="ArtifactType"-->
    <class>
      <name>Artifact</name>
      <!--xs:sequence-->
      <fields>
        <!--xs:element name="groupId" type="xs:string"/-->
        <field>
          <name>groupId</name>
          <type>String</type>
        </field>
        <!--xs:element name="artifactId" type="xs:string"/-->
        <field>
          <name>artifactId</name>
          <type>String</type>
        </field>
        <!--xs:element name="version" type="xs:string"/-->
        <field>
          <name>version</name>
          <type>String</type>
        </field>
        <!--xs:element name="classifier" type="xs:string" minOccurs="0"/-->
        <field>
          <name>classifier</name>
          <type>String</type>
        </field>
        <!--xs:element name="type" type="xs:string"/-->
        <field>
          <name>type</name>
          <type>String</type>
        </field>
        <!--xs:element name="scope" type="xs:string" minOccurs="0"/-->
        <field>
          <name>scope</name>
          <type>String</type>
        </field>
        <!--xs:element name="fileName" type="xs:string" minOccurs="0"/-->
        <field>
          <name>fileName</name>
          <type>String</type>
        </field>
        <!--xs:element name="fileHash" type="xs:string" minOccurs="0"/-->
        <field>
          <name>fileHash</name>
          <type>String</type>
        </field>
        <!--xs:element name="fileSize" type="xs:nonNegativeInteger" minOccurs="0"/-->
        <!--field>
          <name>fileSize</name>
          <type>int</type>
        </field-->
        <field>
          <name>fileSize</name>
          <type>long</type>
        </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-->
    <class>
      <name>CompletedExecution</name>
      <fields>
        <field>
          <name>executionKey</name>
          <type>String</type>
        </field>
        <field>
          <name>mojoClassName</name>
          <type>String</type>
        </field>
        <field>
          <name>properties</name>
          <association>
            <type>PropertyValue</type>
            <multiplicity>*</multiplicity>
          </association>
        </field>
      </fields>
    </class>

    <!--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-->

    <class>
      <name>PropertyValue</name>
      <fields>
        <field xml.content="true">
          <name>value</name>
          <type>String</type>
        </field>
        <field xml.attribute="true">
          <name>name</name>
          <type>String</type>
        </field>
        <field xml.attribute="true">
          <name>tracked</name>
          <type>Boolean</type>
        </field>
      </fields>
    </class>

    <!--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-->

    <class>
      <name>ProjectsInputInfo</name>
      <fields>
        <field>
          <name>checksum</name>
          <type>String</type>
        </field>
        <field>
          <name>items</name>
          <association>
            <type>DigestItem</type>
            <multiplicity>*</multiplicity>
          </association>
        </field>
      </fields>
    </class>

    <!--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-->

    <class>
      <name>DigestItem</name>
      <fields>
        <field xml.content="true">
          <name>value</name>
          <type>String</type>
        </field>
        <field xml.attribute="true">
          <name>type</name>
          <type>String</type>
        </field>
        <field xml.attribute="true">
          <name>hash</name>
          <type>String</type>
        </field>
        <field xml.attribute="true">
          <name>fileChecksum</name>
          <type>String</type>
        </field>
        <field xml.attribute="true">
          <name>content</name>
          <type>String</type>
        </field>
        <field xml.attribute="true">
          <name>isText</name>
          <type>String</type>
        </field>
        <field xml.attribute="true">
          <name>charset</name>
          <type>String</type>
        </field>
        <field xml.attribute="true">
          <name>eol</name>
          <type>String</type>
        </field>
      </fields>
    </class>

  </classes>
</model>
