| <!-- |
| 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>extension</id> |
| <name>ExtensionDescriptor</name> |
| <description><![CDATA[ |
| Extension descriptor, stored in <code>META-INF/maven/extension.xml</code> in an extension's jar artifact to |
| precisely control parts of the extension and dependencies to expose in the API class loader. |
| Maven uses Plexus Classworlds to build the class loader hierarchy, therefore some concepts used in this extensions |
| stem from Plexus Classworlds originally. |
| <p><i>Notice:</i> this documentation is generated from a Modello model but the code executed is not generated |
| from this descriptor. Please report if you find anything wrong.</p> |
| ]]></description> |
| <defaults> |
| <default> |
| <key>package</key> |
| <value>extension descriptor XML documentation (no java generation)</value><!-- intentionally non-buildable value --> |
| </default> |
| </defaults> |
| <classes> |
| <class rootElement="true" xml.tagName="extension"> |
| <name>ExtensionDescriptor</name> |
| <version>1.0.0</version> |
| <description><![CDATA[Root element of the <code>extension.xml</code> file.]]></description> |
| <fields> |
| <field> |
| <name>exportedPackages</name> |
| <version>1.0.0</version> |
| <association> |
| <type>String</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| <description><![CDATA[Restricts the classes/resources from the current artifact's CoreExtension class realm that are exposed. Values ending with ".*" expose all classes/resources which are directly contained in the given package in binary form. |
| Other values define only the prefix of classes/resources being exposed. Their binary name must be equal to the prefix or starting with the prefix (followed by "." or "$"). |
| In particular this includes all subpackages. Despite the element name one can also only expose individual classes of a particular package by adding its binary name as value. |
| ]]></description> |
| </field> |
| <field> |
| <name>exportedArtifacts</name> |
| <version>1.0.0</version> |
| <association> |
| <type>String</type> |
| <multiplicity>*</multiplicity> |
| </association> |
| <description><![CDATA[Artifacts in the format <code>groupId:artifactId</code>. All the ones listed here are filtered (i.e. removed) from plugin and build extension class realms, |
| i.e. referencing any of those coordinates in plugin/build extension dependencies has no effect.]]> |
| </description> |
| </field> |
| </fields> |
| </class> |
| </classes> |
| </model> |