<?xml version="1.0"?>
<!-- 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.                                                     -->
<!-- =================== DO NOT EDIT THIS FILE ====================         -->
<!-- Generated by Modello 2.8.1,                                            -->
<!-- any modifications will be overwritten.                                 -->
<!-- ==============================================================         -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/TOOLCHAINS/1.1.0" targetNamespace="http://maven.apache.org/TOOLCHAINS/1.1.0">
  <xs:element name="toolchains" type="PersistedToolchains">
    <xs:annotation>
      <xs:documentation source="version">1.0.0+</xs:documentation>
      <xs:documentation source="description">
         The &lt;code&gt;&amp;lt;toolchains&amp;gt;&lt;/code&gt; element is the root of the descriptor.
         The following table lists all of the possible child elements.
            </xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="PersistedToolchains">
    <xs:annotation>
      <xs:documentation source="version">1.0.0+</xs:documentation>
      <xs:documentation source="description">
         The &lt;code&gt;&amp;lt;toolchains&amp;gt;&lt;/code&gt; element is the root of the descriptor.
         The following table lists all of the possible child elements.
            </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element minOccurs="0" name="toolchain" type="ToolchainModel" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation source="version">1.0.0+</xs:documentation>
          <xs:documentation source="description">The toolchain instance definition.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ToolchainModel">
    <xs:annotation>
      <xs:documentation source="version">1.0.0+</xs:documentation>
      <xs:documentation source="description">Definition of a toolchain instance.</xs:documentation>
    </xs:annotation>
    <xs:all>
      <xs:element minOccurs="0" name="type" type="xs:string">
        <xs:annotation>
          <xs:documentation source="version">1.0.0+</xs:documentation>
          <xs:documentation source="description">
                    Type of toolchain:&lt;ul&gt;
                    &lt;li&gt;&lt;code&gt;jdk&lt;/code&gt; for
                    &lt;a href=&quot;https://maven.apache.org/plugins/maven-toolchains-plugin/toolchains/jdk.html&quot;&gt;JDK Standard Toolchain&lt;/a&gt;,&lt;/li&gt;
                    &lt;li&gt;other value for
                    &lt;a href=&quot;https://maven.apache.org/plugins/maven-toolchains-plugin/toolchains/custom.html&quot;&gt;Custom Toolchain&lt;/a&gt;&lt;/li&gt;
                    &lt;/ul&gt;
                    </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element minOccurs="0" name="provides">
        <xs:annotation>
          <xs:documentation source="version">1.1.0+</xs:documentation>
          <xs:documentation source="description">
                    
                    &lt;p&gt;Toolchain identification information, which will be matched against project requirements.&lt;/p&gt;
                    &lt;p&gt;For Maven 2.0.9 to 3.2.3, the actual content structure was completely open: each toolchain type would define its own format and semantics.
                    In general, this was a properties format.&lt;/p&gt;
                    &lt;p&gt;Since Maven 3.2.4, the type for this field has been changed to Properties to match the de-facto format.&lt;/p&gt;
                    &lt;p&gt;Each toolchain defines its own properties names and semantics.&lt;/p&gt;
                    </xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" name="configuration">
        <xs:annotation>
          <xs:documentation source="version">1.0.0+</xs:documentation>
          <xs:documentation source="description">
                    
                    &lt;p&gt;Toolchain configuration information, like location or any information that is to be retrieved.&lt;/p&gt;
                    &lt;p&gt;Actual content structure is completely open: each toolchain type will define its own format and semantics.&lt;/p&gt;
                    &lt;p&gt;In general, this is a properties format: &lt;code&gt;&amp;lt;name&amp;gt;value&amp;lt;/name&amp;gt;&lt;/code&gt; with
                    per-toolchain defined properties names.&lt;/p&gt;
                    </xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
          </xs:sequence>
          <xs:anyAttribute processContents="skip"/>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>
</xs:schema>