Added: maven/website/content/xsd/plugin-2.0.0-rc-4.xsd ============================================================================== --- maven/website/content/xsd/plugin-2.0.0-rc-4.xsd (added) +++ maven/website/content/xsd/plugin-2.0.0-rc-4.xsd Thu Jun 26 06:39:33 2025 @@ -0,0 +1,413 @@ +<?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.4.0, --> +<!-- any modifications will be overwritten. --> +<!-- ============================================================== --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/PLUGIN/2.0.0" targetNamespace="http://maven.apache.org/PLUGIN/2.0.0"> + <xs:element name="plugin" type="PluginDescriptor"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Root element of the {@code plugin.xml} file.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="PluginDescriptor"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Root element of the {@code plugin.xml} file.</xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="name" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Name of the plugin.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="description" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Description of the plugin.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="groupId" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">The group id of the plugin.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="artifactId" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">The artifact id of the plugin.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="version" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">The version of the plugin.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="goalPrefix" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"></xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="isolatedRealm" type="xs:boolean" default="false"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"></xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="inheritedByDefault" type="xs:boolean" default="true"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"></xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="requiredJavaVersion" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.1.0+</xs:documentation> + <xs:documentation source="description"> + A version range which specifies the supported Java versions. A version range can either use the usual mathematical syntax "[2.0.10,2.1.0),[3.0,)" or use a single version "2.2.1". The latter is a short form for "[2.2.1,)", i.e. denotes the minimum version required. + @since Maven 4.0.0-alpha-3 + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="requiredMavenVersion" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.1.0+</xs:documentation> + <xs:documentation source="description"> + A version range which specifies the supported Maven versions. A version range can either use the usual mathematical syntax "[2.0.10,2.1.0),[3.0,)" or use a single version "2.2.1". The latter is a short form for "[2.2.1,)", i.e. denotes the minimum version required. This value takes precedence over the POMs Maven prerequisite. + @since Maven 4.0.0-alpha-3 + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="mojos"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Description of each Mojo provided by the plugin.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element type="MojoDescriptor" name="mojo" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="MojoDescriptor"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">A Mojo description.</xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="goal" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The goal name for the Mojo, that users will reference from the command line to execute the Mojo directly, + or inside a POM in order to provide Mojo-specific configuration. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="description" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">The description of this Mojo's functionality.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="implementation" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The Mojo's fully-qualified class name (or script path in the case of non-Java Mojos). + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="language" type="xs:string" default="java"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">The implementation language for this Mojo (java, beanshell, etc.).</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="phase" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Defines a default phase to bind a Mojo execution to if the user does not explicitly set a phase in the POM. + <p><b>Note:</b> This will not automagically make a Mojo run when the plugin declaration is added + to the POM. It merely enables the user to omit the {@code <phase>} element from the + surrounding {@code <execution>} element.</p> + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="executePhase" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Reference the invocation phase of the Mojo.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="executeGoal" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Reference the invocation goal of the Mojo.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="executeLifecycle" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"></xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="dependencyResolution" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">2.0.0+</xs:documentation> + <xs:documentation source="description"> + Flags this Mojo as requiring the dependencies in the specified class path to be resolved before it can + execute: {@code compile}, {@code runtime}, {@code test}, + {@code compile+runtime} (since Maven 3.0) or {@code runtime+system} (since Maven 3.0) + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="dependencyCollection" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">2.0.0+</xs:documentation> + <xs:documentation source="description"> + Flags this Mojo as requiring information about the dependencies that would make up the specified class + path. As the name suggests, this is similar to requiresDependencyResolution and supports the same values. + The important difference is this will not resolve the files for the dependencies, i.e. the artifacts + associated with a Maven project can lack a file. As such, this annotation is meant for Mojos that only + want to analyze the set of transitive dependencies, in particular during early lifecycle phases where + full dependency resolution might fail due to projects which haven't been built yet. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="directInvocationOnly" type="xs:boolean" default="false"> + <xs:annotation> + <xs:documentation source="version">2.0.0+</xs:documentation> + <xs:documentation source="description">Flags this Mojo to be invoked directly only.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="projectRequired" type="xs:boolean" default="true"> + <xs:annotation> + <xs:documentation source="version">2.0.0+</xs:documentation> + <xs:documentation source="description">Flags this Mojo to require running inside of a project.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="onlineRequired" type="xs:boolean" default="false"> + <xs:annotation> + <xs:documentation source="version">2.0.0+</xs:documentation> + <xs:documentation source="description">Flags this Mojo to require online mode for its operation.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="aggregator" type="xs:boolean" default="false"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Flags this Mojo to run it in a multi-module way, i.e. aggregate the build with the set of projects + listed as modules. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="inheritedByDefault" type="xs:boolean" default="true"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Specify that the Mojo is inherited.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="since" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Specify the version when the Mojo was added to the API. Similar to Javadoc since.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="deprecated" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Description with the reason of Mojo deprecation. Similar to Javadoc {@code @deprecated} + This will trigger a warning when a user tries to use a Mojo marked as deprecated. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="configurator" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The configurator type to use when injecting parameter values into this Mojo. The value is normally deduced + from the Mojo's implementation language, but can be specified to allow a custom ComponentConfigurator + implementation to be used. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="parameters"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"></xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element type="Parameter" name="parameter" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="resolutions"> + <xs:annotation> + <xs:documentation source="version">2.0.0+</xs:documentation> + <xs:documentation source="description"></xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element type="Resolution" name="resolution" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="id" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">2.0.0+</xs:documentation> + <xs:documentation source="description">the id of the mojo, based on the goal name</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="fullGoalName" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">2.0.0+</xs:documentation> + <xs:documentation source="description">the full goal name</xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Parameter"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">A parameter description.</xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="name" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The name of the parameter, to be used while configuring this parameter from the Mojo's declared defaults + or from the POM. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="alias" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Specifies an alias which can be used to configure this parameter from the POM. + This is primarily useful to improve user-friendliness, where Mojo field names are not intuitive to the + user or are otherwise not conducive to configuration via the POM. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="type" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The Java type for this parameter. This is used to validate the result of any expressions used to calculate + the value which should be injected into the Mojo for this parameter. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="required" type="xs:boolean" default="false"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Whether this parameter is required for the Mojo to function. This is used to validate the configuration + for a Mojo before it is injected, and before the Mojo is executed from some half-state. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="editable" type="xs:boolean" default="true"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Specifies that this parameter can be configured directly by the user (as in the case of POM-specified + configuration). This is useful when you want to force the user to use common POM elements rather than + plugin configurations, as in the case where you want to use the artifact's final name as a parameter. In + this case, you want the user to modify {@code <build><finalName/></build>} rather + than specifying a value for finalName directly in the plugin configuration section. It is also useful to + ensure that - for example - a List-typed parameter which expects items of type Artifact doesn't get a List + full of Strings. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="description" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">The description of this parameter's use inside the Mojo.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="since" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Specify the version when the parameter was added to the API. Similar to Javadoc since.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="deprecated" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Description with the reason of parameter deprecation. Similar to Javadoc {@code @deprecated}. + This will trigger a warning when a user tries to configure a parameter marked as deprecated. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="expression" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">2.0.0+</xs:documentation> + <xs:documentation source="description">Parameter expression, to let user override default value with a user property, system property or project property.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="defaultValue" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">2.0.0+</xs:documentation> + <xs:documentation source="description">The default value, as an expression that will be evaluated at injection or run-time.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Resolution"> + <xs:annotation> + <xs:documentation source="version">2.0.0+</xs:documentation> + <xs:documentation source="description">Dependency collection or resolution injection.</xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="field" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">2.0.0+</xs:documentation> + <xs:documentation source="description">the name of the field to be injected</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="pathScope" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">2.0.0+</xs:documentation> + <xs:documentation source="description">pathScope used to flatten dependencies</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="requestType" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">2.0.0+</xs:documentation> + <xs:documentation source="description">either {@code collect}, {@code flatten}, or {@code resolve}</xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> +</xs:schema> \ No newline at end of file
Added: maven/website/content/xsd/repository-metadata-1.2.0-rc-4.xsd ============================================================================== --- maven/website/content/xsd/repository-metadata-1.2.0-rc-4.xsd (added) +++ maven/website/content/xsd/repository-metadata-1.2.0-rc-4.xsd Thu Jun 26 06:39:33 2025 @@ -0,0 +1,214 @@ +<?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.4.0, --> +<!-- any modifications will be overwritten. --> +<!-- ============================================================== --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/METADATA/1.2.0" targetNamespace="http://maven.apache.org/METADATA/1.2.0"> + <xs:element name="metadata" type="Metadata"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="Metadata"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="groupId" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">The groupId when this directory represents "groupId/artifactId" or "groupId/artifactId/version".</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="artifactId" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">The artifactId when this directory represents "groupId/artifactId" or "groupId/artifactId/version".</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="versioning" type="Versioning"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Versioning information when this directory represents "groupId/artifactId" or "groupId/artifactId/version".</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="version" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">The base version (i.e. ending in {@code -SNAPSHOT}) when this directory represents a "groupId/artifactId/version" for a SNAPSHOT.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="plugins"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">The set of plugins when this directory represents a "groupId".</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element type="Plugin" name="plugin" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:all> + <xs:attribute name="modelVersion" type="xs:string" use="optional"> + <xs:annotation> + <xs:documentation source="version">1.1.0+</xs:documentation> + <xs:documentation source="description">The version of the underlying metadata model.</xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + <xs:complexType name="Plugin"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Mapping information for a single plugin within this group.</xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="name" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Display name for the plugin.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="prefix" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">The plugin invocation prefix (i.e. eclipse for eclipse:eclipse)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="artifactId" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">The plugin artifactId</xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Versioning"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Versioning information for "groupId/artifactId" or "groupId/artifactId/version" SNAPSHOT</xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="latest" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">What the last version added to the directory is, including both releases and snapshots ("groupId/artifactId" directory only)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="release" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">What the last version added to the directory is, for the releases only ("groupId/artifactId" directory only)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="versions"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Versions available of the artifact (both releases and snapshots) ("groupId/artifactId" directory only)</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element type="xs:string" name="version" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="lastUpdated" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">When the metadata was last updated (both "groupId/artifactId" and "groupId/artifactId/version" directories). The timestamp is expressed using UTC in the format yyyyMMddHHmmss.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="snapshot" type="Snapshot"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">The current snapshot data in use for this version ("groupId/artifactId/version" only)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="snapshotVersions"> + <xs:annotation> + <xs:documentation source="version">1.1.0+</xs:documentation> + <xs:documentation source="description">Information for each sub-artifact available in this artifact snapshot. This is only the most recent SNAPSHOT for each unique extension/classifier combination.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element type="SnapshotVersion" name="snapshotVersion" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="SnapshotVersion"> + <xs:annotation> + <xs:documentation source="version">1.1.0+</xs:documentation> + <xs:documentation source="description">Versioning information for a sub-artifact of the current snapshot artifact.</xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="classifier" type="xs:string" default=""> + <xs:annotation> + <xs:documentation source="version">1.1.0+</xs:documentation> + <xs:documentation source="description">The classifier of the sub-artifact. Each classifier and extension pair may only appear once.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="extension" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.1.0+</xs:documentation> + <xs:documentation source="description">The file extension of the sub-artifact. Each classifier and extension pair may only appear once.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="value" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.1.0+</xs:documentation> + <xs:documentation source="description">The resolved snapshot version of the sub-artifact.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="updated" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.1.0+</xs:documentation> + <xs:documentation source="description">The timestamp when this version information was last updated. The timestamp is expressed using UTC in the format yyyyMMddHHmmss.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Snapshot"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Snapshot data for the last artifact corresponding to the SNAPSHOT base version</xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="timestamp" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">The timestamp when this version was deployed. The timestamp is expressed using UTC in the format yyyyMMdd.HHmmss.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="buildNumber" type="xs:int" default="0"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">The incremental build number</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="localCopy" type="xs:boolean" default="false"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Whether to use a local copy instead (with filename that includes the base version)</xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> +</xs:schema> \ No newline at end of file Added: maven/website/content/xsd/settings-2.0.0-rc-4.xsd ============================================================================== --- maven/website/content/xsd/settings-2.0.0-rc-4.xsd (added) +++ maven/website/content/xsd/settings-2.0.0-rc-4.xsd Thu Jun 26 06:39:33 2025 @@ -0,0 +1,739 @@ +<?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.4.0, --> +<!-- any modifications will be overwritten. --> +<!-- ============================================================== --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/SETTINGS/2.0.0" targetNamespace="http://maven.apache.org/SETTINGS/2.0.0"> + <xs:element name="settings" type="Settings"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Root element of the user configuration file. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="Settings"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Root element of the user configuration file. + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="localRepository" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + + The local repository.<br><b>Default value is:</b> {@code ${user.home}/.m2/repository} + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="interactiveMode" type="xs:boolean" default="true"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Whether Maven should attempt to interact with the user for input. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="usePluginRegistry" type="xs:boolean" default="false"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Whether Maven should use the {@code plugin-registry.xml} file to manage plugin versions. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="offline" type="xs:boolean" default="false"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Indicate whether maven should operate in offline mode full-time. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="proxies"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Configuration for different proxy profiles. Multiple proxy profiles + might come in handy for anyone working from a notebook or other + mobile platform, to enable easy switching of entire proxy + configurations by simply specifying the profile id, again either from + the command line or from the defaults section below. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element type="Proxy" name="proxy" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="servers"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Configuration of server-specific settings, mainly authentication + method. This allows configuration of authentication on a per-server + basis. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element type="Server" name="server" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="mirrors"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Configuration of download mirrors for repositories. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element type="Mirror" name="mirror" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="repositories"> + <xs:annotation> + <xs:documentation source="version">1.3.0+</xs:documentation> + <xs:documentation source="description"> + The lists of the remote repositories. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element type="Repository" name="repository" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="pluginRepositories"> + <xs:annotation> + <xs:documentation source="version">1.3.0+</xs:documentation> + <xs:documentation source="description"> + The lists of the remote repositories for discovering plugins. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element type="Repository" name="pluginRepository" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="profiles"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Configuration of build profiles for adjusting the build + according to environmental parameters. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element type="Profile" name="profile" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="activeProfiles"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + List of manually-activated build profiles, specified in the order in which + they should be applied. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element type="xs:string" name="activeProfile" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="pluginGroups"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + List of groupIds to search for a plugin when that plugin + groupId is not explicitly provided. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element type="xs:string" name="pluginGroup" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Proxy"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The {@code <proxy>} element contains information required to a proxy settings. + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="active" type="xs:string" default="true"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Whether this proxy configuration is the active one. Note: While the type of this field + is {@code String} for technical reasons, the semantic type is actually {@code boolean}. + @see #isActive() + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="protocol" type="xs:string" default="http"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The proxy protocol. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="username" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The proxy user. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="password" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The proxy password. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="port" type="xs:string" default="8080"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The proxy port. Note: While the type of this field is {@code String} for technical + reasons, the semantic type is actually {@code int}. + @see #getPort() + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="host" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The proxy host. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="nonProxyHosts" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The list of non-proxied hosts (delimited by {@code |}). + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="id" type="xs:string" default="default"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Item identifier.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Server"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The {@code <server>} element contains information required to a server settings. + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="username" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The username used to authenticate. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="password" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The password used in conjunction with the username to authenticate. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="privateKey" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The private key location used to authenticate. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="passphrase" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The passphrase used in conjunction with the privateKey to authenticate. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="filePermissions" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The permissions for files when they are created. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="directoryPermissions" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The permissions for directories when they are created. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="configuration"> + <xs:annotation> + <xs:documentation source="version">0.0.0+</xs:documentation> + <xs:documentation source="description"> + Extra configuration for the transport layer. + </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="id" type="xs:string" default="default"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Item identifier.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Mirror"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + A download mirror for a given repository. + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="mirrorOf" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + + A repository id or an expression matching one or many repository ids to mirror, e.g., + <code>central</code> or <code>*,!repo1</code>. + <code>*</code>, <code>external:*</code> and <code>external:http:*</code> (since Maven 3.8.0) have + a special meaning: see <a href="/guides/mini/guide-mirror-settings.html">Mirror Settings</a> guide. + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="name" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The optional name that describes the mirror. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="url" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">The URL of the mirror repository.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="layout" type="xs:string" default="default"> + <xs:annotation> + <xs:documentation source="version">1.1.0+</xs:documentation> + <xs:documentation source="description">The layout of the mirror repository. + @since Maven 3.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="mirrorOfLayouts" type="xs:string" default="default,legacy"> + <xs:annotation> + <xs:documentation source="version">1.1.0+</xs:documentation> + <xs:documentation source="description"> + The layouts of repositories being mirrored. This value can be used to restrict the usage + of the mirror to repositories with a matching layout (apart from a matching id). + @since Maven 3. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="blocked" type="xs:boolean" default="false"> + <xs:annotation> + <xs:documentation source="version">1.2.0+</xs:documentation> + <xs:documentation source="description"> + + Whether this mirror should be blocked from any download request but fail the download process, explaining why. + <br><b>Default value is</b>: <code>false</code> + <br><b>Since</b>: Maven 3.8.0 + + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="id" type="xs:string" default="default"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Item identifier.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Repository"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Repository contains the information needed for establishing + connections with remote repository + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="releases" type="RepositoryPolicy"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + How to handle downloading of releases from this repository + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="snapshots" type="RepositoryPolicy"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + How to handle downloading of snapshots from this repository + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="name" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Human readable name of the repository. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="url" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The url of the repository. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="layout" type="xs:string" default="default"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The type of layout this repository uses for locating and + storing artifacts - can be "legacy" or "default". + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="id" type="xs:string" default="default"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Item identifier.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="RepositoryPolicy"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Download policy</xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="enabled" type="xs:boolean" default="true"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Whether to use this repository for downloading this type of + artifact. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="updatePolicy" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The frequency for downloading updates - can be "always", + "daily" (default), "interval:XXX" (in minutes) or "never" + (only if it doesn't exist locally). + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="checksumPolicy" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + What to do when verification of an artifact checksum fails. Valid values are "fail" (default for Maven 4 and + above), "warn" (default for Maven 3) or "ignore". + </xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Profile"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Modifications to the build process which is keyed on some sort of environmental parameter. + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="activation" type="Activation"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The conditional logic which will automatically trigger the inclusion of this profile. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="properties"> + <xs:annotation> + <xs:documentation source="version">0.0.0+</xs:documentation> + <xs:documentation source="description"> + Extended configuration specific to this profile goes here. + Contents take the form of {@code <property.name>property.value</property.name>} + </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="repositories"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The lists of the remote repositories. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element type="Repository" name="repository" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="pluginRepositories"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The lists of the remote repositories for discovering plugins. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element type="Repository" name="pluginRepository" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element minOccurs="0" name="id" type="xs:string" default="default"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description">Item identifier.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="Activation"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The conditions within the build runtime environment which will trigger + the automatic inclusion of the parent build profile. + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="activeByDefault" type="xs:boolean" default="false"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Flag specifying whether this profile is active as a default. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="jdk" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Specifies that this profile will be activated when a matching JDK is detected. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="os" type="ActivationOS"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Specifies that this profile will be activated when matching OS attributes are detected. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="property" type="ActivationProperty"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Specifies that this profile will be activated when this property is specified. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="file" type="ActivationFile"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + Specifies that this profile will be activated based on existence of a file. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="packaging" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.2.0+</xs:documentation> + <xs:documentation source="description"> + Specifies that this profile will be activated based on the project's packaging. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="condition" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">2.0.0+</xs:documentation> + <xs:documentation source="description"> + The condition which must be satisfied to activate the profile. + </xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="ActivationOS"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + This is an activator which will detect an operating system's attributes in order to activate + its profile. + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="name" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The name of the OS to be used to activate a profile. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="family" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The general family of the OS to be used to activate a profile (e.g. 'windows') + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="arch" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The architecture of the OS to be used to activate a profile. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="version" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The version of the OS to be used to activate a profile. + </xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="ActivationProperty"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + This is the property specification used to activate a profile. If the value field is empty, + then the existence of the named property will activate the profile, otherwise it does a case-sensitive + match against the property value as well. + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="name" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The name of the property to be used to activate a profile. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="value" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The value of the property to be used to activate a profile. + </xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> + <xs:complexType name="ActivationFile"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + This is the file specification used to activate a profile. The missing value will be the location + of a file that needs to exist, and if it doesn't the profile must run. On the other hand exists will test + for the existence of the file and if it is there will run the profile. + </xs:documentation> + </xs:annotation> + <xs:all> + <xs:element minOccurs="0" name="missing" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The name of the file that should be missing to activate a profile. Please note, that missing and exists + fields cannot be used together. Only one of them should be used at any one time. + </xs:documentation> + </xs:annotation> + </xs:element> + <xs:element minOccurs="0" name="exists" type="xs:string"> + <xs:annotation> + <xs:documentation source="version">1.0.0+</xs:documentation> + <xs:documentation source="description"> + The name of the file that should exist to activate a profile. Please note, that missing and exists + fields cannot be used together. Only one of them should be used at any one time. + </xs:documentation> + </xs:annotation> + </xs:element> + </xs:all> + </xs:complexType> +</xs:schema> \ No newline at end of file Added: maven/website/content/xsd/toolchains-1.2.0-rc-4.xsd ============================================================================== --- maven/website/content/xsd/toolchains-1.2.0-rc-4.xsd (added) +++ maven/website/content/xsd/toolchains-1.2.0-rc-4.xsd Thu Jun 26 06:39:33 2025 @@ -0,0 +1,101 @@ +<?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.4.0, --> +<!-- 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 <toolchains>} 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 <toolchains>} 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:<ul> + <li>{@code jdk} for <a + href="https://maven.apache.org/plugins/maven-toolchains-plugin/toolchains/jdk.html">JDK Standard Toolchain</a>,</li> + <li>other value for <a + href="https://maven.apache.org/plugins/maven-toolchains-plugin/toolchains/custom.html">Custom Toolchain</a></li> + </ul> + </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. + <p>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. + <p>Actual content structure is completely open: each toolchain type will define its own format and + semantics. + <p>In general, this is a properties format: {@code <name>value</name>} 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> \ No newline at end of file
