Maven Core Extensions Reference

Maven core provides default extensions as defined in /META-INF/maven/extension.xml:

  1. <extension>
  2. <exportedPackages>
  3. <!-- maven-* -->
  4. <exportedPackage>org.apache.maven.*</exportedPackage>
  5. <exportedPackage>org.apache.maven.artifact</exportedPackage>
  6. <exportedPackage>org.apache.maven.classrealm</exportedPackage>
  7. <exportedPackage>org.apache.maven.cli</exportedPackage>
  8. <exportedPackage>org.apache.maven.configuration</exportedPackage>
  9. <exportedPackage>org.apache.maven.exception</exportedPackage>
  10. <exportedPackage>org.apache.maven.execution</exportedPackage>
  11. <exportedPackage>org.apache.maven.execution.scope</exportedPackage>
  12. <exportedPackage>org.apache.maven.lifecycle</exportedPackage>
  13. <exportedPackage>org.apache.maven.model</exportedPackage>
  14. <exportedPackage>org.apache.maven.monitor</exportedPackage>
  15. <exportedPackage>org.apache.maven.plugin</exportedPackage>
  16. <exportedPackage>org.apache.maven.profiles</exportedPackage>
  17. <exportedPackage>org.apache.maven.project</exportedPackage>
  18. <exportedPackage>org.apache.maven.reporting</exportedPackage>
  19. <exportedPackage>org.apache.maven.repository</exportedPackage>
  20. <exportedPackage>org.apache.maven.rtinfo</exportedPackage>
  21. <exportedPackage>org.apache.maven.settings</exportedPackage>
  22. <exportedPackage>org.apache.maven.toolchain</exportedPackage>
  23. <exportedPackage>org.apache.maven.usability</exportedPackage>
  24.  
  25.  
  26. <!-- wagon-api -->
  27. <exportedPackage>org.apache.maven.wagon.*</exportedPackage>
  28. <exportedPackage>org.apache.maven.wagon.authentication</exportedPackage>
  29. <exportedPackage>org.apache.maven.wagon.authorization</exportedPackage>
  30. <exportedPackage>org.apache.maven.wagon.events</exportedPackage>
  31. <exportedPackage>org.apache.maven.wagon.observers</exportedPackage>
  32. <exportedPackage>org.apache.maven.wagon.proxy</exportedPackage>
  33. <exportedPackage>org.apache.maven.wagon.repository</exportedPackage>
  34. <exportedPackage>org.apache.maven.wagon.resource</exportedPackage>
  35.  
  36. <!-- maven-resolver-api, maven-resolver-spi, maven-resolver-impl -->
  37. <exportedPackage>org.eclipse.aether.*</exportedPackage>
  38. <exportedPackage>org.eclipse.aether.artifact</exportedPackage>
  39. <exportedPackage>org.eclipse.aether.collection</exportedPackage>
  40. <exportedPackage>org.eclipse.aether.deployment</exportedPackage>
  41. <exportedPackage>org.eclipse.aether.graph</exportedPackage>
  42. <exportedPackage>org.eclipse.aether.impl</exportedPackage>
  43. <exportedPackage>org.eclipse.aether.internal.impl</exportedPackage>
  44. <exportedPackage>org.eclipse.aether.installation</exportedPackage>
  45. <exportedPackage>org.eclipse.aether.metadata</exportedPackage>
  46. <exportedPackage>org.eclipse.aether.repository</exportedPackage>
  47. <exportedPackage>org.eclipse.aether.resolution</exportedPackage>
  48. <exportedPackage>org.eclipse.aether.spi</exportedPackage>
  49. <exportedPackage>org.eclipse.aether.transfer</exportedPackage>
  50. <exportedPackage>org.eclipse.aether.version</exportedPackage>
  51.  
  52. <!-- plexus-classworlds -->
  53. <exportedPackage>org.codehaus.plexus.classworlds</exportedPackage>
  54.  
  55. <!-- classworlds (for legacy code) -->
  56. <exportedPackage>org.codehaus.classworlds</exportedPackage>
  57.  
  58. <!-- plexus-utils (for DOM-type fields in maven-model) -->
  59. <exportedPackage>org.codehaus.plexus.util.xml.Xpp3Dom</exportedPackage>
  60. <exportedPackage>org.codehaus.plexus.util.xml.pull.XmlPullParser</exportedPackage>
  61. <exportedPackage>org.codehaus.plexus.util.xml.pull.XmlPullParserException</exportedPackage>
  62. <exportedPackage>org.codehaus.plexus.util.xml.pull.XmlSerializer</exportedPackage>
  63.  
  64. <!-- plexus-container, plexus-component-annotations -->
  65. <exportedPackage>org.codehaus.plexus.*</exportedPackage>
  66. <exportedPackage>org.codehaus.plexus.component</exportedPackage>
  67. <exportedPackage>org.codehaus.plexus.configuration</exportedPackage>
  68. <exportedPackage>org.codehaus.plexus.container</exportedPackage>
  69. <exportedPackage>org.codehaus.plexus.context</exportedPackage>
  70. <exportedPackage>org.codehaus.plexus.lifecycle</exportedPackage>
  71. <exportedPackage>org.codehaus.plexus.logging</exportedPackage>
  72. <exportedPackage>org.codehaus.plexus.personality</exportedPackage>
  73.  
  74. <!-- javax.inject (JSR-330) -->
  75. <exportedPackage>javax.inject.*</exportedPackage>
  76. <!-- javax.enterprise.inject (JSR-299) -->
  77. <exportedPackage>javax.enterprise.util.*</exportedPackage>
  78. <exportedPackage>javax.enterprise.inject.*</exportedPackage>
  79.  
  80. <!-- javax.annotation (JSR-250) -->
  81. <exportedPackage>javax.annotation.*</exportedPackage>
  82. <exportedPackage>javax.annotation.security.*</exportedPackage>
  83.  
  84. <!--
  85. | We may potentially want to export these, but right now I'm not sure that anything Guice specific needs
  86. | to be made available to plugin authors. If we find people are getting fancy and want to take advantage of
  87. | Guice specifics we can expose that later. Really some testing needs to be done to see full hiding
  88. | of Guice has any impact on what we may categorize as a standard JSR-330 based Tesla/Maven plugin.
  89.  
  90. <exportedPackage>com.google.inject.*</exportedPackage>
  91. <exportedPackage>com.google.inject.binder.*</exportedPackage>
  92. <exportedPackage>com.google.inject.matcher.*</exportedPackage>
  93. <exportedPackage>com.google.inject.name.*</exportedPackage>
  94. <exportedPackage>com.google.inject.spi.*</exportedPackage>
  95. <exportedPackage>com.google.inject.util.*</exportedPackage>
  96. -->
  97.  
  98. <!-- SLF4J -->
  99. <exportedPackage>org.slf4j.*</exportedPackage>
  100. <exportedPackage>org.slf4j.spi.*</exportedPackage>
  101. <exportedPackage>org.slf4j.helpers.*</exportedPackage>
  102. <exportedPackage>org.slf4j.event.*</exportedPackage>
  103.  
  104. <!-- JAnsi -->
  105. <exportedPackage>org.fusesource.jansi.*</exportedPackage>
  106. </exportedPackages>
  107.  
  108. <exportedArtifacts>
  109. <exportedArtifact>classworlds:classworlds</exportedArtifact>
  110. <exportedArtifact>org.codehaus.plexus:plexus-classworlds</exportedArtifact>
  111. <exportedArtifact>org.codehaus.plexus:plexus-component-api</exportedArtifact>
  112. <exportedArtifact>org.codehaus.plexus:plexus-container-default</exportedArtifact>
  113. <exportedArtifact>plexus:plexus-container-default</exportedArtifact>
  114. <exportedArtifact>org.sonatype.spice:spice-inject-plexus</exportedArtifact>
  115. <exportedArtifact>org.sonatype.sisu:sisu-inject-plexus</exportedArtifact>
  116. <exportedArtifact>org.eclipse.sisu:org.eclipse.sisu.plexus</exportedArtifact>
  117. <exportedArtifact>org.apache.maven:maven-artifact</exportedArtifact>
  118. <!--
  119. | MNG-6240: Plugins might depend on maven-aether-provider <= 3.3.9 before the rename to maven-resolver-provider.
  120. | Since backwards-compatibility was kept, Maven Core also provides this artifact.
  121. -->
  122. <exportedArtifact>org.apache.maven:maven-aether-provider</exportedArtifact>
  123. <exportedArtifact>org.apache.maven:maven-resolver-provider</exportedArtifact>
  124. <exportedArtifact>org.apache.maven:maven-artifact-manager</exportedArtifact>
  125. <exportedArtifact>org.apache.maven:maven-compat</exportedArtifact>
  126. <exportedArtifact>org.apache.maven:maven-core</exportedArtifact>
  127. <exportedArtifact>org.apache.maven:maven-error-diagnostics</exportedArtifact>
  128. <exportedArtifact>org.apache.maven:maven-lifecycle</exportedArtifact>
  129. <exportedArtifact>org.apache.maven:maven-model</exportedArtifact>
  130. <exportedArtifact>org.apache.maven:maven-model-builder</exportedArtifact>
  131. <exportedArtifact>org.apache.maven:maven-monitor</exportedArtifact>
  132. <exportedArtifact>org.apache.maven:maven-plugin-api</exportedArtifact>
  133. <exportedArtifact>org.apache.maven:maven-plugin-descriptor</exportedArtifact>
  134. <exportedArtifact>org.apache.maven:maven-plugin-parameter-documenter</exportedArtifact>
  135. <exportedArtifact>org.apache.maven:maven-plugin-registry</exportedArtifact>
  136. <exportedArtifact>org.apache.maven:maven-profile</exportedArtifact>
  137. <exportedArtifact>org.apache.maven:maven-project</exportedArtifact>
  138. <exportedArtifact>org.apache.maven:maven-repository-metadata</exportedArtifact>
  139. <exportedArtifact>org.apache.maven:maven-settings</exportedArtifact>
  140. <exportedArtifact>org.apache.maven:maven-settings-builder</exportedArtifact>
  141. <exportedArtifact>org.apache.maven:maven-toolchain</exportedArtifact>
  142. <exportedArtifact>org.apache.maven.wagon:wagon-provider-api</exportedArtifact>
  143. <exportedArtifact>org.apache.maven.resolver:maven-resolver-api</exportedArtifact>
  144. <exportedArtifact>org.apache.maven.resolver:maven-resolver-spi</exportedArtifact>
  145. <exportedArtifact>org.apache.maven.resolver:maven-resolver-impl</exportedArtifact>
  146.  
  147. <exportedArtifact>javax.inject:javax.inject</exportedArtifact>
  148. <exportedArtifact>javax.annotation:jsr250-api</exportedArtifact>
  149. <exportedArtifact>org.slf4j:slf4j-api</exportedArtifact>
  150. <exportedArtifact>org.fusesource.jansi:jansi</exportedArtifact>
  151.  
  152. <!--
  153. | We must also filter out the old Aether or NoClassDefFoundErrors will surface
  154. -->
  155. <exportedArtifact>org.sonatype.aether:aether-api</exportedArtifact>
  156. <exportedArtifact>org.sonatype.aether:aether-spi</exportedArtifact>
  157. <exportedArtifact>org.sonatype.aether:aether-impl</exportedArtifact>
  158. <exportedArtifact>org.eclipse.aether:aether-api</exportedArtifact>
  159. <exportedArtifact>org.eclipse.aether:aether-spi</exportedArtifact>
  160. <exportedArtifact>org.eclipse.aether:aether-impl</exportedArtifact>
  161.  
  162. <!--
  163. | NOTE: Don't exclude the wagons or any of their dependencies (apart from the wagon API). This would otherwise
  164. | provoke linkage errors for wagons contributed by build extensions. We also don't need to exclude the wagons
  165. | from plugins. Plugins that use wagons directly and declare the corresponding dependency will simply use a
  166. | wagon from their plugin realm.
  167. -->
  168. </exportedArtifacts>
  169. </extension>