You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kw...@apache.org on 2022/12/02 12:37:35 UTC

[maven] branch feature/MNG-7609-clarify-extension-descriptor created (now 8cecf3ee6)

This is an automated email from the ASF dual-hosted git repository.

kwin pushed a change to branch feature/MNG-7609-clarify-extension-descriptor
in repository https://gitbox.apache.org/repos/asf/maven.git


      at 8cecf3ee6 [MNG-7609] Clarify extension descriptor documentation

This branch includes the following new commits:

     new 8cecf3ee6 [MNG-7609] Clarify extension descriptor documentation

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[maven] 01/01: [MNG-7609] Clarify extension descriptor documentation

Posted by kw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

kwin pushed a commit to branch feature/MNG-7609-clarify-extension-descriptor
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 8cecf3ee6db4afb75078a1578002073375a258d9
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Fri Dec 2 13:37:27 2022 +0100

    [MNG-7609] Clarify extension descriptor documentation
---
 maven-core/src/main/mdo/extension.mdo | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/maven-core/src/main/mdo/extension.mdo b/maven-core/src/main/mdo/extension.mdo
index 9e94581ba..e80a8001d 100644
--- a/maven-core/src/main/mdo/extension.mdo
+++ b/maven-core/src/main/mdo/extension.mdo
@@ -23,7 +23,9 @@ under the License.
   <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.
+    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>
@@ -46,8 +48,10 @@ under the License.
             <type>String</type>
             <multiplicity>*</multiplicity>
           </association>
-          <description>Packages from the artifact that are exposed.</description>
-          <!-- TODO explain package vs package.class vs package.* -->
+          <description><![CDATA[Restricts the classes/resources from the current artifacts 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 their binary name as value.
+          ]]></description>
         </field>
         <field>
           <name>exportedArtifacts</name>
@@ -56,7 +60,8 @@ under the License.
             <type>String</type>
             <multiplicity>*</multiplicity>
           </association>
-          <description><![CDATA[Artifacts that are exposed: <code>groupId:artifactId</code> file.]]>
+          <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. giving those coordinates in plugin/build extension dependencies 
+          has no effect.]]>
           </description>
         </field>
       </fields>