<?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.5.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.2.0" targetNamespace="http://maven.apache.org/TOOLCHAINS/1.2.0">
  <xs:element name="toolchains" type="PersistedToolchains">
    <xs:annotation>
      <xs:documentation source="version">1.0.0+</xs:documentation>
      <xs:documentation source="description">
        The {@code &lt;toolchains&gt;} element is the root of the descriptor.
        The following table lists all 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 {@code &lt;toolchains&gt;} element is the root of the descriptor.
        The following table lists all 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;{@code jdk} 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">
            Toolchain identification information, which will be matched against project requirements.
            &lt;p&gt;Each toolchain defines its own properties names and semantics.
          </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">
            Toolchain configuration information, like location or any information that is to be retrieved.
            &lt;p&gt;Actual content structure is completely open: each toolchain type will define its own format and
            semantics.
            &lt;p&gt;In general, this is a properties format: {@code &lt;name&gt;value&lt;/name&gt;} with per-toolchain
            defined properties names.
          </xs:documentation>
        </xs:annotation>
        <xs:complexType>
          <xs:sequence>
            <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:all>
  </xs:complexType>
</xs:schema>