Modified: 
maven/website/components/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-plugin/apidocs/src-html/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.html
==============================================================================
--- 
maven/website/components/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-plugin/apidocs/src-html/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.html
 (original)
+++ 
maven/website/components/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-plugin/apidocs/src-html/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.html
 Sat Mar 30 02:00:43 2024
@@ -38,26 +38,26 @@
 <span class="sourceLineNo">029</span><a id="line.29">import 
org.apache.maven.artifact.Artifact;</a>
 <span class="sourceLineNo">030</span><a id="line.30">import 
org.apache.maven.artifact.resolver.filter.ArtifactFilter;</a>
 <span class="sourceLineNo">031</span><a id="line.31">import 
org.apache.maven.artifact.resolver.filter.IncludesArtifactFilter;</a>
-<span class="sourceLineNo">032</span><a id="line.32">import 
org.apache.maven.plugin.MojoExecutionException;</a>
-<span class="sourceLineNo">033</span><a id="line.33">import 
org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException;</a>
-<span class="sourceLineNo">034</span><a id="line.34">import 
org.apache.maven.plugin.descriptor.PluginDescriptor;</a>
-<span class="sourceLineNo">035</span><a id="line.35">import 
org.apache.maven.plugins.annotations.Component;</a>
-<span class="sourceLineNo">036</span><a id="line.36">import 
org.apache.maven.plugins.annotations.LifecyclePhase;</a>
-<span class="sourceLineNo">037</span><a id="line.37">import 
org.apache.maven.plugins.annotations.Mojo;</a>
-<span class="sourceLineNo">038</span><a id="line.38">import 
org.apache.maven.plugins.annotations.Parameter;</a>
-<span class="sourceLineNo">039</span><a id="line.39">import 
org.apache.maven.plugins.annotations.ResolutionScope;</a>
-<span class="sourceLineNo">040</span><a id="line.40">import 
org.apache.maven.settings.Settings;</a>
-<span class="sourceLineNo">041</span><a id="line.41">import 
org.apache.maven.tools.plugin.DefaultPluginToolsRequest;</a>
-<span class="sourceLineNo">042</span><a id="line.42">import 
org.apache.maven.tools.plugin.ExtendedPluginDescriptor;</a>
-<span class="sourceLineNo">043</span><a id="line.43">import 
org.apache.maven.tools.plugin.PluginToolsRequest;</a>
-<span class="sourceLineNo">044</span><a id="line.44">import 
org.apache.maven.tools.plugin.extractor.ExtractionException;</a>
-<span class="sourceLineNo">045</span><a id="line.45">import 
org.apache.maven.tools.plugin.generator.GeneratorException;</a>
-<span class="sourceLineNo">046</span><a id="line.46">import 
org.apache.maven.tools.plugin.generator.GeneratorUtils;</a>
-<span class="sourceLineNo">047</span><a id="line.47">import 
org.apache.maven.tools.plugin.generator.PluginDescriptorFilesGenerator;</a>
-<span class="sourceLineNo">048</span><a id="line.48">import 
org.apache.maven.tools.plugin.scanner.MojoScanner;</a>
-<span class="sourceLineNo">049</span><a id="line.49">import 
org.codehaus.plexus.component.repository.ComponentDependency;</a>
-<span class="sourceLineNo">050</span><a id="line.50">import 
org.codehaus.plexus.util.ReaderFactory;</a>
-<span class="sourceLineNo">051</span><a id="line.51">import 
org.eclipse.aether.RepositorySystemSession;</a>
+<span class="sourceLineNo">032</span><a id="line.32">import 
org.apache.maven.execution.MavenSession;</a>
+<span class="sourceLineNo">033</span><a id="line.33">import 
org.apache.maven.plugin.MojoExecutionException;</a>
+<span class="sourceLineNo">034</span><a id="line.34">import 
org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException;</a>
+<span class="sourceLineNo">035</span><a id="line.35">import 
org.apache.maven.plugin.descriptor.PluginDescriptor;</a>
+<span class="sourceLineNo">036</span><a id="line.36">import 
org.apache.maven.plugins.annotations.Component;</a>
+<span class="sourceLineNo">037</span><a id="line.37">import 
org.apache.maven.plugins.annotations.LifecyclePhase;</a>
+<span class="sourceLineNo">038</span><a id="line.38">import 
org.apache.maven.plugins.annotations.Mojo;</a>
+<span class="sourceLineNo">039</span><a id="line.39">import 
org.apache.maven.plugins.annotations.Parameter;</a>
+<span class="sourceLineNo">040</span><a id="line.40">import 
org.apache.maven.plugins.annotations.ResolutionScope;</a>
+<span class="sourceLineNo">041</span><a id="line.41">import 
org.apache.maven.settings.Settings;</a>
+<span class="sourceLineNo">042</span><a id="line.42">import 
org.apache.maven.tools.plugin.DefaultPluginToolsRequest;</a>
+<span class="sourceLineNo">043</span><a id="line.43">import 
org.apache.maven.tools.plugin.ExtendedPluginDescriptor;</a>
+<span class="sourceLineNo">044</span><a id="line.44">import 
org.apache.maven.tools.plugin.PluginToolsRequest;</a>
+<span class="sourceLineNo">045</span><a id="line.45">import 
org.apache.maven.tools.plugin.extractor.ExtractionException;</a>
+<span class="sourceLineNo">046</span><a id="line.46">import 
org.apache.maven.tools.plugin.generator.GeneratorException;</a>
+<span class="sourceLineNo">047</span><a id="line.47">import 
org.apache.maven.tools.plugin.generator.GeneratorUtils;</a>
+<span class="sourceLineNo">048</span><a id="line.48">import 
org.apache.maven.tools.plugin.generator.PluginDescriptorFilesGenerator;</a>
+<span class="sourceLineNo">049</span><a id="line.49">import 
org.apache.maven.tools.plugin.scanner.MojoScanner;</a>
+<span class="sourceLineNo">050</span><a id="line.50">import 
org.codehaus.plexus.component.repository.ComponentDependency;</a>
+<span class="sourceLineNo">051</span><a id="line.51">import 
org.codehaus.plexus.util.ReaderFactory;</a>
 <span class="sourceLineNo">052</span><a id="line.52">import 
org.sonatype.plexus.build.incremental.BuildContext;</a>
 <span class="sourceLineNo">053</span><a id="line.53"></a>
 <span class="sourceLineNo">054</span><a id="line.54">/**</a>
@@ -235,241 +235,242 @@
 <span class="sourceLineNo">226</span><a id="line.226">     *</a>
 <span class="sourceLineNo">227</span><a id="line.227">     * @since 3.7.0</a>
 <span class="sourceLineNo">228</span><a id="line.228">     */</a>
-<span class="sourceLineNo">229</span><a id="line.229">    
@Parameter(defaultValue = "${settings}", readonly = true, required = true)</a>
+<span class="sourceLineNo">229</span><a id="line.229">    @Component</a>
 <span class="sourceLineNo">230</span><a id="line.230">    private Settings 
settings;</a>
 <span class="sourceLineNo">231</span><a id="line.231"></a>
-<span class="sourceLineNo">232</span><a id="line.232">    
@Parameter(defaultValue = "${repositorySystemSession}", readonly = true, 
required = true)</a>
-<span class="sourceLineNo">233</span><a id="line.233">    private 
RepositorySystemSession repoSession;</a>
-<span class="sourceLineNo">234</span><a id="line.234">    /**</a>
-<span class="sourceLineNo">235</span><a id="line.235">     * The required Java 
version to set in the plugin descriptor. This is evaluated by Maven 4 and 
ignored by earlier</a>
-<span class="sourceLineNo">236</span><a id="line.236">     * Maven versions. 
Can be either one of the following formats:</a>
-<span class="sourceLineNo">237</span><a id="line.237">     *</a>
-<span class="sourceLineNo">238</span><a id="line.238">     * &lt;ul&gt;</a>
-<span class="sourceLineNo">239</span><a id="line.239">     * &lt;li&gt;A 
version range which specifies the supported Java versions. It can either use 
the usual mathematical</a>
-<span class="sourceLineNo">240</span><a id="line.240">     * syntax like 
{@code "[1.7,9),[11,)"} or use a single version like {@code "1.8"}. The latter 
is a short</a>
-<span class="sourceLineNo">241</span><a id="line.241">     * form for {@code 
"[1.8,)"}, i.e. denotes the minimum version required.&lt;/li&gt;</a>
-<span class="sourceLineNo">242</span><a id="line.242">     * &lt;li&gt;{@code 
"auto"} to determine the minimum Java version from the binary class version 
being generated during</a>
-<span class="sourceLineNo">243</span><a id="line.243">     * compilation 
(determined by the extractor).&lt;/li&gt;</a>
-<span class="sourceLineNo">244</span><a id="line.244">     * &lt;/ul&gt;</a>
-<span class="sourceLineNo">245</span><a id="line.245">     *</a>
-<span class="sourceLineNo">246</span><a id="line.246">     * @since 3.8.0</a>
-<span class="sourceLineNo">247</span><a id="line.247">     */</a>
-<span class="sourceLineNo">248</span><a id="line.248">    
@Parameter(defaultValue = VALUE_AUTO)</a>
-<span class="sourceLineNo">249</span><a id="line.249">    String 
requiredJavaVersion;</a>
-<span class="sourceLineNo">250</span><a id="line.250"></a>
-<span class="sourceLineNo">251</span><a id="line.251">    /**</a>
-<span class="sourceLineNo">252</span><a id="line.252">     * The required 
Maven version to set in the plugin descriptor. This is evaluated by Maven 4 and 
ignored by earlier</a>
-<span class="sourceLineNo">253</span><a id="line.253">     * Maven versions. 
Can be either one of the following formats:</a>
-<span class="sourceLineNo">254</span><a id="line.254">     *</a>
-<span class="sourceLineNo">255</span><a id="line.255">     * &lt;ul&gt;</a>
-<span class="sourceLineNo">256</span><a id="line.256">     * &lt;li&gt;A 
version range which specifies the supported Maven versions. It can either use 
the usual mathematical</a>
-<span class="sourceLineNo">257</span><a id="line.257">     * syntax like 
{@code "[2.0.10,2.1.0),[3.0,)"} or use a single version like {@code "2.2.1"}. 
The latter is a short</a>
-<span class="sourceLineNo">258</span><a id="line.258">     * form for {@code 
"[2.2.1,)"}, i.e. denotes the minimum version required.&lt;/li&gt;</a>
-<span class="sourceLineNo">259</span><a id="line.259">     * &lt;li&gt;{@code 
"auto"} to determine the minimum Maven version from the POM's Maven 
prerequisite, or if not set the</a>
-<span class="sourceLineNo">260</span><a id="line.260">     * referenced Maven 
Plugin API version.&lt;/li&gt;</a>
-<span class="sourceLineNo">261</span><a id="line.261">     * &lt;/ul&gt;</a>
-<span class="sourceLineNo">262</span><a id="line.262">     * This value takes 
precedence over the</a>
-<span class="sourceLineNo">263</span><a id="line.263">     * &lt;a 
href="https://maven.apache.org/pom.html#Prerequisites"&gt;POM's Maven 
prerequisite&lt;/a&gt; in Maven 4.</a>
-<span class="sourceLineNo">264</span><a id="line.264">     *</a>
-<span class="sourceLineNo">265</span><a id="line.265">     * @since 3.8.0</a>
-<span class="sourceLineNo">266</span><a id="line.266">     */</a>
-<span class="sourceLineNo">267</span><a id="line.267">    
@Parameter(defaultValue = VALUE_AUTO)</a>
-<span class="sourceLineNo">268</span><a id="line.268">    String 
requiredMavenVersion;</a>
-<span class="sourceLineNo">269</span><a id="line.269"></a>
-<span class="sourceLineNo">270</span><a id="line.270">    /**</a>
-<span class="sourceLineNo">271</span><a id="line.271">     * The component 
used for scanning the source tree for mojos.</a>
-<span class="sourceLineNo">272</span><a id="line.272">     */</a>
-<span class="sourceLineNo">273</span><a id="line.273">    @Component</a>
-<span class="sourceLineNo">274</span><a id="line.274">    private MojoScanner 
mojoScanner;</a>
-<span class="sourceLineNo">275</span><a id="line.275"></a>
-<span class="sourceLineNo">276</span><a id="line.276">    @Component</a>
-<span class="sourceLineNo">277</span><a id="line.277">    protected 
BuildContext buildContext;</a>
-<span class="sourceLineNo">278</span><a id="line.278"></a>
-<span class="sourceLineNo">279</span><a id="line.279">    public void 
generate() throws MojoExecutionException {</a>
-<span class="sourceLineNo">280</span><a id="line.280"></a>
-<span class="sourceLineNo">281</span><a id="line.281">        if 
(!"maven-plugin".equalsIgnoreCase(project.getArtifactId())</a>
-<span class="sourceLineNo">282</span><a id="line.282">                
&amp;&amp; project.getArtifactId().toLowerCase().startsWith("maven-")</a>
-<span class="sourceLineNo">283</span><a id="line.283">                
&amp;&amp; project.getArtifactId().toLowerCase().endsWith("-plugin")</a>
-<span class="sourceLineNo">284</span><a id="line.284">                
&amp;&amp; !"org.apache.maven.plugins".equals(project.getGroupId())) {</a>
-<span class="sourceLineNo">285</span><a id="line.285">            
getLog().warn(LS + LS + "Artifact Ids of the format maven-___-plugin are 
reserved for" + LS</a>
-<span class="sourceLineNo">286</span><a id="line.286">                    + 
"plugins in the Group Id org.apache.maven.plugins" + LS</a>
-<span class="sourceLineNo">287</span><a id="line.287">                    + 
"Please change your artifactId to the format ___-maven-plugin" + LS</a>
-<span class="sourceLineNo">288</span><a id="line.288">                    + 
"In the future this error will break the build." + LS + LS);</a>
-<span class="sourceLineNo">289</span><a id="line.289">        }</a>
-<span class="sourceLineNo">290</span><a id="line.290"></a>
-<span class="sourceLineNo">291</span><a id="line.291">        if 
(skipDescriptor) {</a>
-<span class="sourceLineNo">292</span><a id="line.292">            
getLog().warn("Execution skipped");</a>
-<span class="sourceLineNo">293</span><a id="line.293">            return;</a>
-<span class="sourceLineNo">294</span><a id="line.294">        }</a>
-<span class="sourceLineNo">295</span><a id="line.295"></a>
-<span class="sourceLineNo">296</span><a id="line.296">        if 
(checkExpectedProvidedScope) {</a>
-<span class="sourceLineNo">297</span><a id="line.297">            
Set&lt;Artifact&gt; wrongScopedArtifacts = dependenciesNotInProvidedScope();</a>
-<span class="sourceLineNo">298</span><a id="line.298">            if 
(!wrongScopedArtifacts.isEmpty()) {</a>
-<span class="sourceLineNo">299</span><a id="line.299">                
StringBuilder message = new StringBuilder(</a>
-<span class="sourceLineNo">300</span><a id="line.300">                        
LS + LS + "Some dependencies of Maven Plugins are expected to be in provided 
scope." + LS</a>
-<span class="sourceLineNo">301</span><a id="line.301">                         
       + "Please make sure that dependencies listed below declared in POM" + 
LS</a>
-<span class="sourceLineNo">302</span><a id="line.302">                         
       + "have set '&lt;scope&gt;provided&lt;/scope&gt;' as well." + LS + LS</a>
-<span class="sourceLineNo">303</span><a id="line.303">                         
       + "The following dependencies are in wrong scope:" + LS);</a>
-<span class="sourceLineNo">304</span><a id="line.304">                for 
(Artifact artifact : wrongScopedArtifacts) {</a>
-<span class="sourceLineNo">305</span><a id="line.305">                    
message.append(" * ").append(artifact).append(LS);</a>
-<span class="sourceLineNo">306</span><a id="line.306">                }</a>
-<span class="sourceLineNo">307</span><a id="line.307">                
message.append(LS).append(LS);</a>
-<span class="sourceLineNo">308</span><a id="line.308"></a>
-<span class="sourceLineNo">309</span><a id="line.309">                
getLog().warn(message.toString());</a>
-<span class="sourceLineNo">310</span><a id="line.310">            }</a>
-<span class="sourceLineNo">311</span><a id="line.311">        }</a>
-<span class="sourceLineNo">312</span><a id="line.312"></a>
-<span class="sourceLineNo">313</span><a id="line.313">        
mojoScanner.setActiveExtractors(extractors);</a>
-<span class="sourceLineNo">314</span><a id="line.314"></a>
-<span class="sourceLineNo">315</span><a id="line.315">        // TODO: could 
use this more, eg in the writing of the plugin descriptor!</a>
-<span class="sourceLineNo">316</span><a id="line.316">        PluginDescriptor 
pluginDescriptor = new PluginDescriptor();</a>
-<span class="sourceLineNo">317</span><a id="line.317"></a>
-<span class="sourceLineNo">318</span><a id="line.318">        
pluginDescriptor.setGroupId(project.getGroupId());</a>
-<span class="sourceLineNo">319</span><a id="line.319"></a>
-<span class="sourceLineNo">320</span><a id="line.320">        
pluginDescriptor.setArtifactId(project.getArtifactId());</a>
-<span class="sourceLineNo">321</span><a id="line.321"></a>
-<span class="sourceLineNo">322</span><a id="line.322">        
pluginDescriptor.setVersion(project.getVersion());</a>
-<span class="sourceLineNo">323</span><a id="line.323"></a>
-<span class="sourceLineNo">324</span><a id="line.324">        
pluginDescriptor.setGoalPrefix(goalPrefix);</a>
-<span class="sourceLineNo">325</span><a id="line.325"></a>
-<span class="sourceLineNo">326</span><a id="line.326">        
pluginDescriptor.setName(project.getName());</a>
-<span class="sourceLineNo">327</span><a id="line.327"></a>
-<span class="sourceLineNo">328</span><a id="line.328">        
pluginDescriptor.setDescription(project.getDescription());</a>
-<span class="sourceLineNo">329</span><a id="line.329"></a>
-<span class="sourceLineNo">330</span><a id="line.330">        if (encoding == 
null || encoding.length() &lt; 1) {</a>
-<span class="sourceLineNo">331</span><a id="line.331">            
getLog().warn("Using platform encoding (" + ReaderFactory.FILE_ENCODING</a>
-<span class="sourceLineNo">332</span><a id="line.332">                    + " 
actually) to read mojo source files, i.e. build is platform dependent!");</a>
-<span class="sourceLineNo">333</span><a id="line.333">        } else {</a>
-<span class="sourceLineNo">334</span><a id="line.334">            
getLog().info("Using '" + encoding + "' encoding to read mojo source 
files.");</a>
-<span class="sourceLineNo">335</span><a id="line.335">        }</a>
-<span class="sourceLineNo">336</span><a id="line.336"></a>
-<span class="sourceLineNo">337</span><a id="line.337">        if 
(internalJavadocBaseUrl != null &amp;&amp; 
!internalJavadocBaseUrl.getPath().endsWith("/")) {</a>
-<span class="sourceLineNo">338</span><a id="line.338">            throw new 
MojoExecutionException("Given parameter 'internalJavadocBaseUrl' must end with 
a slash but is '"</a>
-<span class="sourceLineNo">339</span><a id="line.339">                    + 
internalJavadocBaseUrl + "'");</a>
-<span class="sourceLineNo">340</span><a id="line.340">        }</a>
-<span class="sourceLineNo">341</span><a id="line.341">        try {</a>
-<span class="sourceLineNo">342</span><a id="line.342">            
List&lt;ComponentDependency&gt; deps = 
GeneratorUtils.toComponentDependencies(project.getArtifacts());</a>
-<span class="sourceLineNo">343</span><a id="line.343">            
pluginDescriptor.setDependencies(deps);</a>
-<span class="sourceLineNo">344</span><a id="line.344"></a>
-<span class="sourceLineNo">345</span><a id="line.345">            
PluginToolsRequest request = new DefaultPluginToolsRequest(project, 
pluginDescriptor);</a>
-<span class="sourceLineNo">346</span><a id="line.346">            
request.setEncoding(encoding);</a>
-<span class="sourceLineNo">347</span><a id="line.347">            
request.setSkipErrorNoDescriptorsFound(skipErrorNoDescriptorsFound);</a>
-<span class="sourceLineNo">348</span><a id="line.348">            
request.setDependencies(filterMojoDependencies());</a>
-<span class="sourceLineNo">349</span><a id="line.349">            
request.setRepoSession(repoSession);</a>
-<span class="sourceLineNo">350</span><a id="line.350">            
request.setInternalJavadocBaseUrl(internalJavadocBaseUrl);</a>
-<span class="sourceLineNo">351</span><a id="line.351">            
request.setInternalJavadocVersion(internalJavadocVersion);</a>
-<span class="sourceLineNo">352</span><a id="line.352">            
request.setExternalJavadocBaseUrls(externalJavadocBaseUrls);</a>
-<span class="sourceLineNo">353</span><a id="line.353">            
request.setSettings(settings);</a>
-<span class="sourceLineNo">354</span><a id="line.354"></a>
-<span class="sourceLineNo">355</span><a id="line.355">            
mojoScanner.populatePluginDescriptor(request);</a>
-<span class="sourceLineNo">356</span><a id="line.356">            
request.setPluginDescriptor(extendPluginDescriptor(request));</a>
-<span class="sourceLineNo">357</span><a id="line.357"></a>
-<span class="sourceLineNo">358</span><a id="line.358">            
outputDirectory.mkdirs();</a>
-<span class="sourceLineNo">359</span><a id="line.359"></a>
-<span class="sourceLineNo">360</span><a id="line.360">            
PluginDescriptorFilesGenerator pluginDescriptorGenerator = new 
PluginDescriptorFilesGenerator();</a>
-<span class="sourceLineNo">361</span><a id="line.361">            
pluginDescriptorGenerator.execute(outputDirectory, request);</a>
-<span class="sourceLineNo">362</span><a id="line.362"></a>
-<span class="sourceLineNo">363</span><a id="line.363">            
buildContext.refresh(outputDirectory);</a>
-<span class="sourceLineNo">364</span><a id="line.364">        } catch 
(GeneratorException e) {</a>
-<span class="sourceLineNo">365</span><a id="line.365">            throw new 
MojoExecutionException("Error writing plugin descriptor", e);</a>
-<span class="sourceLineNo">366</span><a id="line.366">        } catch 
(InvalidPluginDescriptorException | ExtractionException e) {</a>
-<span class="sourceLineNo">367</span><a id="line.367">            throw new 
MojoExecutionException(</a>
-<span class="sourceLineNo">368</span><a id="line.368">                    
"Error extracting plugin descriptor: '" + e.getLocalizedMessage() + "'", e);</a>
-<span class="sourceLineNo">369</span><a id="line.369">        } catch 
(LinkageError e) {</a>
-<span class="sourceLineNo">370</span><a id="line.370">            throw new 
MojoExecutionException(</a>
-<span class="sourceLineNo">371</span><a id="line.371">                    "The 
API of the mojo scanner is not compatible with this plugin version."</a>
-<span class="sourceLineNo">372</span><a id="line.372">                         
   + " Please check the plugin dependencies configured"</a>
-<span class="sourceLineNo">373</span><a id="line.373">                         
   + " in the POM and ensure the versions match.",</a>
-<span class="sourceLineNo">374</span><a id="line.374">                    
e);</a>
-<span class="sourceLineNo">375</span><a id="line.375">        }</a>
-<span class="sourceLineNo">376</span><a id="line.376">    }</a>
-<span class="sourceLineNo">377</span><a id="line.377"></a>
-<span class="sourceLineNo">378</span><a id="line.378">    private 
PluginDescriptor extendPluginDescriptor(PluginToolsRequest request) {</a>
-<span class="sourceLineNo">379</span><a id="line.379">        
ExtendedPluginDescriptor extendedPluginDescriptor = new 
ExtendedPluginDescriptor(request.getPluginDescriptor());</a>
-<span class="sourceLineNo">380</span><a id="line.380">        
extendedPluginDescriptor.setRequiredJavaVersion(getRequiredJavaVersion(request));</a>
-<span class="sourceLineNo">381</span><a id="line.381">        
extendedPluginDescriptor.setRequiredMavenVersion(getRequiredMavenVersion(request));</a>
-<span class="sourceLineNo">382</span><a id="line.382">        return 
extendedPluginDescriptor;</a>
-<span class="sourceLineNo">383</span><a id="line.383">    }</a>
-<span class="sourceLineNo">384</span><a id="line.384"></a>
-<span class="sourceLineNo">385</span><a id="line.385">    private String 
getRequiredMavenVersion(PluginToolsRequest request) {</a>
-<span class="sourceLineNo">386</span><a id="line.386">        if 
(!VALUE_AUTO.equals(requiredMavenVersion)) {</a>
-<span class="sourceLineNo">387</span><a id="line.387">            return 
requiredMavenVersion;</a>
-<span class="sourceLineNo">388</span><a id="line.388">        }</a>
-<span class="sourceLineNo">389</span><a id="line.389">        
getLog().debug("Trying to derive Maven version automatically from project 
prerequisites...");</a>
-<span class="sourceLineNo">390</span><a id="line.390">        String 
requiredMavenVersion =</a>
-<span class="sourceLineNo">391</span><a id="line.391">                
project.getPrerequisites() != null ? project.getPrerequisites().getMaven() : 
null;</a>
-<span class="sourceLineNo">392</span><a id="line.392">        if 
(requiredMavenVersion == null) {</a>
-<span class="sourceLineNo">393</span><a id="line.393">            
getLog().debug("Trying to derive Maven version automatically from referenced 
Maven Plugin API artifact "</a>
-<span class="sourceLineNo">394</span><a id="line.394">                    + 
"version...");</a>
-<span class="sourceLineNo">395</span><a id="line.395">            
requiredMavenVersion = request.getUsedMavenApiVersion();</a>
-<span class="sourceLineNo">396</span><a id="line.396">        }</a>
-<span class="sourceLineNo">397</span><a id="line.397">        if 
(requiredMavenVersion == null) {</a>
-<span class="sourceLineNo">398</span><a id="line.398">            
getLog().warn("Cannot determine the required Maven version automatically, it is 
recommended to "</a>
-<span class="sourceLineNo">399</span><a id="line.399">                    + 
"configure some explicit value manually.");</a>
-<span class="sourceLineNo">400</span><a id="line.400">        }</a>
-<span class="sourceLineNo">401</span><a id="line.401">        return 
requiredMavenVersion;</a>
-<span class="sourceLineNo">402</span><a id="line.402">    }</a>
-<span class="sourceLineNo">403</span><a id="line.403"></a>
-<span class="sourceLineNo">404</span><a id="line.404">    private String 
getRequiredJavaVersion(PluginToolsRequest request) {</a>
-<span class="sourceLineNo">405</span><a id="line.405">        if 
(!VALUE_AUTO.equals(requiredJavaVersion)) {</a>
-<span class="sourceLineNo">406</span><a id="line.406">            return 
requiredJavaVersion;</a>
-<span class="sourceLineNo">407</span><a id="line.407">        }</a>
-<span class="sourceLineNo">408</span><a id="line.408">        String 
minRequiredJavaVersion = request.getRequiredJavaVersion();</a>
-<span class="sourceLineNo">409</span><a id="line.409">        if 
(minRequiredJavaVersion == null) {</a>
-<span class="sourceLineNo">410</span><a id="line.410">            
getLog().warn("Cannot determine the minimally required Java version 
automatically, it is recommended to "</a>
-<span class="sourceLineNo">411</span><a id="line.411">                    + 
"configure some explicit value manually.");</a>
-<span class="sourceLineNo">412</span><a id="line.412">            return 
null;</a>
-<span class="sourceLineNo">413</span><a id="line.413">        }</a>
-<span class="sourceLineNo">414</span><a id="line.414"></a>
-<span class="sourceLineNo">415</span><a id="line.415">        return 
minRequiredJavaVersion;</a>
-<span class="sourceLineNo">416</span><a id="line.416">    }</a>
-<span class="sourceLineNo">417</span><a id="line.417"></a>
-<span class="sourceLineNo">418</span><a id="line.418">    /**</a>
-<span class="sourceLineNo">419</span><a id="line.419">     * Collects all 
dependencies expected to be in "provided" scope but are NOT in "provided" 
scope.</a>
-<span class="sourceLineNo">420</span><a id="line.420">     */</a>
-<span class="sourceLineNo">421</span><a id="line.421">    private 
Set&lt;Artifact&gt; dependenciesNotInProvidedScope() {</a>
-<span class="sourceLineNo">422</span><a id="line.422">        
LinkedHashSet&lt;Artifact&gt; wrongScopedDependencies = new 
LinkedHashSet&lt;&gt;();</a>
-<span class="sourceLineNo">423</span><a id="line.423"></a>
-<span class="sourceLineNo">424</span><a id="line.424">        for (Artifact 
dependency : project.getArtifacts()) {</a>
-<span class="sourceLineNo">425</span><a id="line.425">            String ga = 
dependency.getGroupId() + ":" + dependency.getArtifactId();</a>
-<span class="sourceLineNo">426</span><a id="line.426">            if 
(expectedProvidedScopeGroupIds.contains(dependency.getGroupId())</a>
-<span class="sourceLineNo">427</span><a id="line.427">                    
&amp;&amp; !expectedProvidedScopeExclusions.contains(ga)</a>
-<span class="sourceLineNo">428</span><a id="line.428">                    
&amp;&amp; !Artifact.SCOPE_PROVIDED.equals(dependency.getScope())) {</a>
-<span class="sourceLineNo">429</span><a id="line.429">                
wrongScopedDependencies.add(dependency);</a>
-<span class="sourceLineNo">430</span><a id="line.430">            }</a>
-<span class="sourceLineNo">431</span><a id="line.431">        }</a>
-<span class="sourceLineNo">432</span><a id="line.432"></a>
-<span class="sourceLineNo">433</span><a id="line.433">        return 
wrongScopedDependencies;</a>
-<span class="sourceLineNo">434</span><a id="line.434">    }</a>
-<span class="sourceLineNo">435</span><a id="line.435"></a>
-<span class="sourceLineNo">436</span><a id="line.436">    /**</a>
-<span class="sourceLineNo">437</span><a id="line.437">     * Get dependencies 
filtered with mojoDependencies configuration.</a>
-<span class="sourceLineNo">438</span><a id="line.438">     *</a>
-<span class="sourceLineNo">439</span><a id="line.439">     * @return 
eventually filtered dependencies, or even &lt;code&gt;null&lt;/code&gt; if 
configured with empty mojoDependencies</a>
-<span class="sourceLineNo">440</span><a id="line.440">     * list</a>
-<span class="sourceLineNo">441</span><a id="line.441">     * @see 
#mojoDependencies</a>
-<span class="sourceLineNo">442</span><a id="line.442">     */</a>
-<span class="sourceLineNo">443</span><a id="line.443">    private 
Set&lt;Artifact&gt; filterMojoDependencies() {</a>
-<span class="sourceLineNo">444</span><a id="line.444">        
Set&lt;Artifact&gt; filteredArtifacts;</a>
-<span class="sourceLineNo">445</span><a id="line.445">        if 
(mojoDependencies == null) {</a>
-<span class="sourceLineNo">446</span><a id="line.446">            
filteredArtifacts = new LinkedHashSet&lt;&gt;(project.getArtifacts());</a>
-<span class="sourceLineNo">447</span><a id="line.447">        } else if 
(mojoDependencies.isEmpty()) {</a>
-<span class="sourceLineNo">448</span><a id="line.448">            
filteredArtifacts = null;</a>
-<span class="sourceLineNo">449</span><a id="line.449">        } else {</a>
-<span class="sourceLineNo">450</span><a id="line.450">            
filteredArtifacts = new LinkedHashSet&lt;&gt;();</a>
-<span class="sourceLineNo">451</span><a id="line.451"></a>
-<span class="sourceLineNo">452</span><a id="line.452">            
ArtifactFilter filter = new IncludesArtifactFilter(mojoDependencies);</a>
-<span class="sourceLineNo">453</span><a id="line.453"></a>
-<span class="sourceLineNo">454</span><a id="line.454">            for 
(Artifact artifact : project.getArtifacts()) {</a>
-<span class="sourceLineNo">455</span><a id="line.455">                if 
(filter.include(artifact)) {</a>
-<span class="sourceLineNo">456</span><a id="line.456">                    
filteredArtifacts.add(artifact);</a>
-<span class="sourceLineNo">457</span><a id="line.457">                }</a>
-<span class="sourceLineNo">458</span><a id="line.458">            }</a>
-<span class="sourceLineNo">459</span><a id="line.459">        }</a>
-<span class="sourceLineNo">460</span><a id="line.460"></a>
-<span class="sourceLineNo">461</span><a id="line.461">        return 
filteredArtifacts;</a>
-<span class="sourceLineNo">462</span><a id="line.462">    }</a>
-<span class="sourceLineNo">463</span><a id="line.463">}</a>
+<span class="sourceLineNo">232</span><a id="line.232">    @Component</a>
+<span class="sourceLineNo">233</span><a id="line.233">    private MavenSession 
mavenSession;</a>
+<span class="sourceLineNo">234</span><a id="line.234"></a>
+<span class="sourceLineNo">235</span><a id="line.235">    /**</a>
+<span class="sourceLineNo">236</span><a id="line.236">     * The required Java 
version to set in the plugin descriptor. This is evaluated by Maven 4 and 
ignored by earlier</a>
+<span class="sourceLineNo">237</span><a id="line.237">     * Maven versions. 
Can be either one of the following formats:</a>
+<span class="sourceLineNo">238</span><a id="line.238">     *</a>
+<span class="sourceLineNo">239</span><a id="line.239">     * &lt;ul&gt;</a>
+<span class="sourceLineNo">240</span><a id="line.240">     * &lt;li&gt;A 
version range which specifies the supported Java versions. It can either use 
the usual mathematical</a>
+<span class="sourceLineNo">241</span><a id="line.241">     * syntax like 
{@code "[1.7,9),[11,)"} or use a single version like {@code "1.8"}. The latter 
is a short</a>
+<span class="sourceLineNo">242</span><a id="line.242">     * form for {@code 
"[1.8,)"}, i.e. denotes the minimum version required.&lt;/li&gt;</a>
+<span class="sourceLineNo">243</span><a id="line.243">     * &lt;li&gt;{@code 
"auto"} to determine the minimum Java version from the binary class version 
being generated during</a>
+<span class="sourceLineNo">244</span><a id="line.244">     * compilation 
(determined by the extractor).&lt;/li&gt;</a>
+<span class="sourceLineNo">245</span><a id="line.245">     * &lt;/ul&gt;</a>
+<span class="sourceLineNo">246</span><a id="line.246">     *</a>
+<span class="sourceLineNo">247</span><a id="line.247">     * @since 3.8.0</a>
+<span class="sourceLineNo">248</span><a id="line.248">     */</a>
+<span class="sourceLineNo">249</span><a id="line.249">    
@Parameter(defaultValue = VALUE_AUTO)</a>
+<span class="sourceLineNo">250</span><a id="line.250">    String 
requiredJavaVersion;</a>
+<span class="sourceLineNo">251</span><a id="line.251"></a>
+<span class="sourceLineNo">252</span><a id="line.252">    /**</a>
+<span class="sourceLineNo">253</span><a id="line.253">     * The required 
Maven version to set in the plugin descriptor. This is evaluated by Maven 4 and 
ignored by earlier</a>
+<span class="sourceLineNo">254</span><a id="line.254">     * Maven versions. 
Can be either one of the following formats:</a>
+<span class="sourceLineNo">255</span><a id="line.255">     *</a>
+<span class="sourceLineNo">256</span><a id="line.256">     * &lt;ul&gt;</a>
+<span class="sourceLineNo">257</span><a id="line.257">     * &lt;li&gt;A 
version range which specifies the supported Maven versions. It can either use 
the usual mathematical</a>
+<span class="sourceLineNo">258</span><a id="line.258">     * syntax like 
{@code "[2.0.10,2.1.0),[3.0,)"} or use a single version like {@code "2.2.1"}. 
The latter is a short</a>
+<span class="sourceLineNo">259</span><a id="line.259">     * form for {@code 
"[2.2.1,)"}, i.e. denotes the minimum version required.&lt;/li&gt;</a>
+<span class="sourceLineNo">260</span><a id="line.260">     * &lt;li&gt;{@code 
"auto"} to determine the minimum Maven version from the POM's Maven 
prerequisite, or if not set the</a>
+<span class="sourceLineNo">261</span><a id="line.261">     * referenced Maven 
Plugin API version.&lt;/li&gt;</a>
+<span class="sourceLineNo">262</span><a id="line.262">     * &lt;/ul&gt;</a>
+<span class="sourceLineNo">263</span><a id="line.263">     * This value takes 
precedence over the</a>
+<span class="sourceLineNo">264</span><a id="line.264">     * &lt;a 
href="https://maven.apache.org/pom.html#Prerequisites"&gt;POM's Maven 
prerequisite&lt;/a&gt; in Maven 4.</a>
+<span class="sourceLineNo">265</span><a id="line.265">     *</a>
+<span class="sourceLineNo">266</span><a id="line.266">     * @since 3.8.0</a>
+<span class="sourceLineNo">267</span><a id="line.267">     */</a>
+<span class="sourceLineNo">268</span><a id="line.268">    
@Parameter(defaultValue = VALUE_AUTO)</a>
+<span class="sourceLineNo">269</span><a id="line.269">    String 
requiredMavenVersion;</a>
+<span class="sourceLineNo">270</span><a id="line.270"></a>
+<span class="sourceLineNo">271</span><a id="line.271">    /**</a>
+<span class="sourceLineNo">272</span><a id="line.272">     * The component 
used for scanning the source tree for mojos.</a>
+<span class="sourceLineNo">273</span><a id="line.273">     */</a>
+<span class="sourceLineNo">274</span><a id="line.274">    @Component</a>
+<span class="sourceLineNo">275</span><a id="line.275">    private MojoScanner 
mojoScanner;</a>
+<span class="sourceLineNo">276</span><a id="line.276"></a>
+<span class="sourceLineNo">277</span><a id="line.277">    @Component</a>
+<span class="sourceLineNo">278</span><a id="line.278">    protected 
BuildContext buildContext;</a>
+<span class="sourceLineNo">279</span><a id="line.279"></a>
+<span class="sourceLineNo">280</span><a id="line.280">    public void 
generate() throws MojoExecutionException {</a>
+<span class="sourceLineNo">281</span><a id="line.281"></a>
+<span class="sourceLineNo">282</span><a id="line.282">        if 
(!"maven-plugin".equalsIgnoreCase(project.getArtifactId())</a>
+<span class="sourceLineNo">283</span><a id="line.283">                
&amp;&amp; project.getArtifactId().toLowerCase().startsWith("maven-")</a>
+<span class="sourceLineNo">284</span><a id="line.284">                
&amp;&amp; project.getArtifactId().toLowerCase().endsWith("-plugin")</a>
+<span class="sourceLineNo">285</span><a id="line.285">                
&amp;&amp; !"org.apache.maven.plugins".equals(project.getGroupId())) {</a>
+<span class="sourceLineNo">286</span><a id="line.286">            
getLog().warn(LS + LS + "Artifact Ids of the format maven-___-plugin are 
reserved for" + LS</a>
+<span class="sourceLineNo">287</span><a id="line.287">                    + 
"plugins in the Group Id org.apache.maven.plugins" + LS</a>
+<span class="sourceLineNo">288</span><a id="line.288">                    + 
"Please change your artifactId to the format ___-maven-plugin" + LS</a>
+<span class="sourceLineNo">289</span><a id="line.289">                    + 
"In the future this error will break the build." + LS + LS);</a>
+<span class="sourceLineNo">290</span><a id="line.290">        }</a>
+<span class="sourceLineNo">291</span><a id="line.291"></a>
+<span class="sourceLineNo">292</span><a id="line.292">        if 
(skipDescriptor) {</a>
+<span class="sourceLineNo">293</span><a id="line.293">            
getLog().warn("Execution skipped");</a>
+<span class="sourceLineNo">294</span><a id="line.294">            return;</a>
+<span class="sourceLineNo">295</span><a id="line.295">        }</a>
+<span class="sourceLineNo">296</span><a id="line.296"></a>
+<span class="sourceLineNo">297</span><a id="line.297">        if 
(checkExpectedProvidedScope) {</a>
+<span class="sourceLineNo">298</span><a id="line.298">            
Set&lt;Artifact&gt; wrongScopedArtifacts = dependenciesNotInProvidedScope();</a>
+<span class="sourceLineNo">299</span><a id="line.299">            if 
(!wrongScopedArtifacts.isEmpty()) {</a>
+<span class="sourceLineNo">300</span><a id="line.300">                
StringBuilder message = new StringBuilder(</a>
+<span class="sourceLineNo">301</span><a id="line.301">                        
LS + LS + "Some dependencies of Maven Plugins are expected to be in provided 
scope." + LS</a>
+<span class="sourceLineNo">302</span><a id="line.302">                         
       + "Please make sure that dependencies listed below declared in POM" + 
LS</a>
+<span class="sourceLineNo">303</span><a id="line.303">                         
       + "have set '&lt;scope&gt;provided&lt;/scope&gt;' as well." + LS + LS</a>
+<span class="sourceLineNo">304</span><a id="line.304">                         
       + "The following dependencies are in wrong scope:" + LS);</a>
+<span class="sourceLineNo">305</span><a id="line.305">                for 
(Artifact artifact : wrongScopedArtifacts) {</a>
+<span class="sourceLineNo">306</span><a id="line.306">                    
message.append(" * ").append(artifact).append(LS);</a>
+<span class="sourceLineNo">307</span><a id="line.307">                }</a>
+<span class="sourceLineNo">308</span><a id="line.308">                
message.append(LS).append(LS);</a>
+<span class="sourceLineNo">309</span><a id="line.309"></a>
+<span class="sourceLineNo">310</span><a id="line.310">                
getLog().warn(message.toString());</a>
+<span class="sourceLineNo">311</span><a id="line.311">            }</a>
+<span class="sourceLineNo">312</span><a id="line.312">        }</a>
+<span class="sourceLineNo">313</span><a id="line.313"></a>
+<span class="sourceLineNo">314</span><a id="line.314">        
mojoScanner.setActiveExtractors(extractors);</a>
+<span class="sourceLineNo">315</span><a id="line.315"></a>
+<span class="sourceLineNo">316</span><a id="line.316">        // TODO: could 
use this more, eg in the writing of the plugin descriptor!</a>
+<span class="sourceLineNo">317</span><a id="line.317">        PluginDescriptor 
pluginDescriptor = new PluginDescriptor();</a>
+<span class="sourceLineNo">318</span><a id="line.318"></a>
+<span class="sourceLineNo">319</span><a id="line.319">        
pluginDescriptor.setGroupId(project.getGroupId());</a>
+<span class="sourceLineNo">320</span><a id="line.320"></a>
+<span class="sourceLineNo">321</span><a id="line.321">        
pluginDescriptor.setArtifactId(project.getArtifactId());</a>
+<span class="sourceLineNo">322</span><a id="line.322"></a>
+<span class="sourceLineNo">323</span><a id="line.323">        
pluginDescriptor.setVersion(project.getVersion());</a>
+<span class="sourceLineNo">324</span><a id="line.324"></a>
+<span class="sourceLineNo">325</span><a id="line.325">        
pluginDescriptor.setGoalPrefix(goalPrefix);</a>
+<span class="sourceLineNo">326</span><a id="line.326"></a>
+<span class="sourceLineNo">327</span><a id="line.327">        
pluginDescriptor.setName(project.getName());</a>
+<span class="sourceLineNo">328</span><a id="line.328"></a>
+<span class="sourceLineNo">329</span><a id="line.329">        
pluginDescriptor.setDescription(project.getDescription());</a>
+<span class="sourceLineNo">330</span><a id="line.330"></a>
+<span class="sourceLineNo">331</span><a id="line.331">        if (encoding == 
null || encoding.length() &lt; 1) {</a>
+<span class="sourceLineNo">332</span><a id="line.332">            
getLog().warn("Using platform encoding (" + ReaderFactory.FILE_ENCODING</a>
+<span class="sourceLineNo">333</span><a id="line.333">                    + " 
actually) to read mojo source files, i.e. build is platform dependent!");</a>
+<span class="sourceLineNo">334</span><a id="line.334">        } else {</a>
+<span class="sourceLineNo">335</span><a id="line.335">            
getLog().info("Using '" + encoding + "' encoding to read mojo source 
files.");</a>
+<span class="sourceLineNo">336</span><a id="line.336">        }</a>
+<span class="sourceLineNo">337</span><a id="line.337"></a>
+<span class="sourceLineNo">338</span><a id="line.338">        if 
(internalJavadocBaseUrl != null &amp;&amp; 
!internalJavadocBaseUrl.getPath().endsWith("/")) {</a>
+<span class="sourceLineNo">339</span><a id="line.339">            throw new 
MojoExecutionException("Given parameter 'internalJavadocBaseUrl' must end with 
a slash but is '"</a>
+<span class="sourceLineNo">340</span><a id="line.340">                    + 
internalJavadocBaseUrl + "'");</a>
+<span class="sourceLineNo">341</span><a id="line.341">        }</a>
+<span class="sourceLineNo">342</span><a id="line.342">        try {</a>
+<span class="sourceLineNo">343</span><a id="line.343">            
List&lt;ComponentDependency&gt; deps = 
GeneratorUtils.toComponentDependencies(project.getArtifacts());</a>
+<span class="sourceLineNo">344</span><a id="line.344">            
pluginDescriptor.setDependencies(deps);</a>
+<span class="sourceLineNo">345</span><a id="line.345"></a>
+<span class="sourceLineNo">346</span><a id="line.346">            
PluginToolsRequest request = new DefaultPluginToolsRequest(project, 
pluginDescriptor);</a>
+<span class="sourceLineNo">347</span><a id="line.347">            
request.setEncoding(encoding);</a>
+<span class="sourceLineNo">348</span><a id="line.348">            
request.setSkipErrorNoDescriptorsFound(skipErrorNoDescriptorsFound);</a>
+<span class="sourceLineNo">349</span><a id="line.349">            
request.setDependencies(filterMojoDependencies());</a>
+<span class="sourceLineNo">350</span><a id="line.350">            
request.setRepoSession(mavenSession.getRepositorySession());</a>
+<span class="sourceLineNo">351</span><a id="line.351">            
request.setInternalJavadocBaseUrl(internalJavadocBaseUrl);</a>
+<span class="sourceLineNo">352</span><a id="line.352">            
request.setInternalJavadocVersion(internalJavadocVersion);</a>
+<span class="sourceLineNo">353</span><a id="line.353">            
request.setExternalJavadocBaseUrls(externalJavadocBaseUrls);</a>
+<span class="sourceLineNo">354</span><a id="line.354">            
request.setSettings(settings);</a>
+<span class="sourceLineNo">355</span><a id="line.355"></a>
+<span class="sourceLineNo">356</span><a id="line.356">            
mojoScanner.populatePluginDescriptor(request);</a>
+<span class="sourceLineNo">357</span><a id="line.357">            
request.setPluginDescriptor(extendPluginDescriptor(request));</a>
+<span class="sourceLineNo">358</span><a id="line.358"></a>
+<span class="sourceLineNo">359</span><a id="line.359">            
outputDirectory.mkdirs();</a>
+<span class="sourceLineNo">360</span><a id="line.360"></a>
+<span class="sourceLineNo">361</span><a id="line.361">            
PluginDescriptorFilesGenerator pluginDescriptorGenerator = new 
PluginDescriptorFilesGenerator();</a>
+<span class="sourceLineNo">362</span><a id="line.362">            
pluginDescriptorGenerator.execute(outputDirectory, request);</a>
+<span class="sourceLineNo">363</span><a id="line.363"></a>
+<span class="sourceLineNo">364</span><a id="line.364">            
buildContext.refresh(outputDirectory);</a>
+<span class="sourceLineNo">365</span><a id="line.365">        } catch 
(GeneratorException e) {</a>
+<span class="sourceLineNo">366</span><a id="line.366">            throw new 
MojoExecutionException("Error writing plugin descriptor", e);</a>
+<span class="sourceLineNo">367</span><a id="line.367">        } catch 
(InvalidPluginDescriptorException | ExtractionException e) {</a>
+<span class="sourceLineNo">368</span><a id="line.368">            throw new 
MojoExecutionException(</a>
+<span class="sourceLineNo">369</span><a id="line.369">                    
"Error extracting plugin descriptor: '" + e.getLocalizedMessage() + "'", e);</a>
+<span class="sourceLineNo">370</span><a id="line.370">        } catch 
(LinkageError e) {</a>
+<span class="sourceLineNo">371</span><a id="line.371">            throw new 
MojoExecutionException(</a>
+<span class="sourceLineNo">372</span><a id="line.372">                    "The 
API of the mojo scanner is not compatible with this plugin version."</a>
+<span class="sourceLineNo">373</span><a id="line.373">                         
   + " Please check the plugin dependencies configured"</a>
+<span class="sourceLineNo">374</span><a id="line.374">                         
   + " in the POM and ensure the versions match.",</a>
+<span class="sourceLineNo">375</span><a id="line.375">                    
e);</a>
+<span class="sourceLineNo">376</span><a id="line.376">        }</a>
+<span class="sourceLineNo">377</span><a id="line.377">    }</a>
+<span class="sourceLineNo">378</span><a id="line.378"></a>
+<span class="sourceLineNo">379</span><a id="line.379">    private 
PluginDescriptor extendPluginDescriptor(PluginToolsRequest request) {</a>
+<span class="sourceLineNo">380</span><a id="line.380">        
ExtendedPluginDescriptor extendedPluginDescriptor = new 
ExtendedPluginDescriptor(request.getPluginDescriptor());</a>
+<span class="sourceLineNo">381</span><a id="line.381">        
extendedPluginDescriptor.setRequiredJavaVersion(getRequiredJavaVersion(request));</a>
+<span class="sourceLineNo">382</span><a id="line.382">        
extendedPluginDescriptor.setRequiredMavenVersion(getRequiredMavenVersion(request));</a>
+<span class="sourceLineNo">383</span><a id="line.383">        return 
extendedPluginDescriptor;</a>
+<span class="sourceLineNo">384</span><a id="line.384">    }</a>
+<span class="sourceLineNo">385</span><a id="line.385"></a>
+<span class="sourceLineNo">386</span><a id="line.386">    private String 
getRequiredMavenVersion(PluginToolsRequest request) {</a>
+<span class="sourceLineNo">387</span><a id="line.387">        if 
(!VALUE_AUTO.equals(requiredMavenVersion)) {</a>
+<span class="sourceLineNo">388</span><a id="line.388">            return 
requiredMavenVersion;</a>
+<span class="sourceLineNo">389</span><a id="line.389">        }</a>
+<span class="sourceLineNo">390</span><a id="line.390">        
getLog().debug("Trying to derive Maven version automatically from project 
prerequisites...");</a>
+<span class="sourceLineNo">391</span><a id="line.391">        String 
requiredMavenVersion =</a>
+<span class="sourceLineNo">392</span><a id="line.392">                
project.getPrerequisites() != null ? project.getPrerequisites().getMaven() : 
null;</a>
+<span class="sourceLineNo">393</span><a id="line.393">        if 
(requiredMavenVersion == null) {</a>
+<span class="sourceLineNo">394</span><a id="line.394">            
getLog().debug("Trying to derive Maven version automatically from referenced 
Maven Plugin API artifact "</a>
+<span class="sourceLineNo">395</span><a id="line.395">                    + 
"version...");</a>
+<span class="sourceLineNo">396</span><a id="line.396">            
requiredMavenVersion = request.getUsedMavenApiVersion();</a>
+<span class="sourceLineNo">397</span><a id="line.397">        }</a>
+<span class="sourceLineNo">398</span><a id="line.398">        if 
(requiredMavenVersion == null) {</a>
+<span class="sourceLineNo">399</span><a id="line.399">            
getLog().warn("Cannot determine the required Maven version automatically, it is 
recommended to "</a>
+<span class="sourceLineNo">400</span><a id="line.400">                    + 
"configure some explicit value manually.");</a>
+<span class="sourceLineNo">401</span><a id="line.401">        }</a>
+<span class="sourceLineNo">402</span><a id="line.402">        return 
requiredMavenVersion;</a>
+<span class="sourceLineNo">403</span><a id="line.403">    }</a>
+<span class="sourceLineNo">404</span><a id="line.404"></a>
+<span class="sourceLineNo">405</span><a id="line.405">    private String 
getRequiredJavaVersion(PluginToolsRequest request) {</a>
+<span class="sourceLineNo">406</span><a id="line.406">        if 
(!VALUE_AUTO.equals(requiredJavaVersion)) {</a>
+<span class="sourceLineNo">407</span><a id="line.407">            return 
requiredJavaVersion;</a>
+<span class="sourceLineNo">408</span><a id="line.408">        }</a>
+<span class="sourceLineNo">409</span><a id="line.409">        String 
minRequiredJavaVersion = request.getRequiredJavaVersion();</a>
+<span class="sourceLineNo">410</span><a id="line.410">        if 
(minRequiredJavaVersion == null) {</a>
+<span class="sourceLineNo">411</span><a id="line.411">            
getLog().warn("Cannot determine the minimally required Java version 
automatically, it is recommended to "</a>
+<span class="sourceLineNo">412</span><a id="line.412">                    + 
"configure some explicit value manually.");</a>
+<span class="sourceLineNo">413</span><a id="line.413">            return 
null;</a>
+<span class="sourceLineNo">414</span><a id="line.414">        }</a>
+<span class="sourceLineNo">415</span><a id="line.415"></a>
+<span class="sourceLineNo">416</span><a id="line.416">        return 
minRequiredJavaVersion;</a>
+<span class="sourceLineNo">417</span><a id="line.417">    }</a>
+<span class="sourceLineNo">418</span><a id="line.418"></a>
+<span class="sourceLineNo">419</span><a id="line.419">    /**</a>
+<span class="sourceLineNo">420</span><a id="line.420">     * Collects all 
dependencies expected to be in "provided" scope but are NOT in "provided" 
scope.</a>
+<span class="sourceLineNo">421</span><a id="line.421">     */</a>
+<span class="sourceLineNo">422</span><a id="line.422">    private 
Set&lt;Artifact&gt; dependenciesNotInProvidedScope() {</a>
+<span class="sourceLineNo">423</span><a id="line.423">        
LinkedHashSet&lt;Artifact&gt; wrongScopedDependencies = new 
LinkedHashSet&lt;&gt;();</a>
+<span class="sourceLineNo">424</span><a id="line.424"></a>
+<span class="sourceLineNo">425</span><a id="line.425">        for (Artifact 
dependency : project.getArtifacts()) {</a>
+<span class="sourceLineNo">426</span><a id="line.426">            String ga = 
dependency.getGroupId() + ":" + dependency.getArtifactId();</a>
+<span class="sourceLineNo">427</span><a id="line.427">            if 
(expectedProvidedScopeGroupIds.contains(dependency.getGroupId())</a>
+<span class="sourceLineNo">428</span><a id="line.428">                    
&amp;&amp; !expectedProvidedScopeExclusions.contains(ga)</a>
+<span class="sourceLineNo">429</span><a id="line.429">                    
&amp;&amp; !Artifact.SCOPE_PROVIDED.equals(dependency.getScope())) {</a>
+<span class="sourceLineNo">430</span><a id="line.430">                
wrongScopedDependencies.add(dependency);</a>
+<span class="sourceLineNo">431</span><a id="line.431">            }</a>
+<span class="sourceLineNo">432</span><a id="line.432">        }</a>
+<span class="sourceLineNo">433</span><a id="line.433"></a>
+<span class="sourceLineNo">434</span><a id="line.434">        return 
wrongScopedDependencies;</a>
+<span class="sourceLineNo">435</span><a id="line.435">    }</a>
+<span class="sourceLineNo">436</span><a id="line.436"></a>
+<span class="sourceLineNo">437</span><a id="line.437">    /**</a>
+<span class="sourceLineNo">438</span><a id="line.438">     * Get dependencies 
filtered with mojoDependencies configuration.</a>
+<span class="sourceLineNo">439</span><a id="line.439">     *</a>
+<span class="sourceLineNo">440</span><a id="line.440">     * @return 
eventually filtered dependencies, or even &lt;code&gt;null&lt;/code&gt; if 
configured with empty mojoDependencies</a>
+<span class="sourceLineNo">441</span><a id="line.441">     * list</a>
+<span class="sourceLineNo">442</span><a id="line.442">     * @see 
#mojoDependencies</a>
+<span class="sourceLineNo">443</span><a id="line.443">     */</a>
+<span class="sourceLineNo">444</span><a id="line.444">    private 
Set&lt;Artifact&gt; filterMojoDependencies() {</a>
+<span class="sourceLineNo">445</span><a id="line.445">        
Set&lt;Artifact&gt; filteredArtifacts;</a>
+<span class="sourceLineNo">446</span><a id="line.446">        if 
(mojoDependencies == null) {</a>
+<span class="sourceLineNo">447</span><a id="line.447">            
filteredArtifacts = new LinkedHashSet&lt;&gt;(project.getArtifacts());</a>
+<span class="sourceLineNo">448</span><a id="line.448">        } else if 
(mojoDependencies.isEmpty()) {</a>
+<span class="sourceLineNo">449</span><a id="line.449">            
filteredArtifacts = null;</a>
+<span class="sourceLineNo">450</span><a id="line.450">        } else {</a>
+<span class="sourceLineNo">451</span><a id="line.451">            
filteredArtifacts = new LinkedHashSet&lt;&gt;();</a>
+<span class="sourceLineNo">452</span><a id="line.452"></a>
+<span class="sourceLineNo">453</span><a id="line.453">            
ArtifactFilter filter = new IncludesArtifactFilter(mojoDependencies);</a>
+<span class="sourceLineNo">454</span><a id="line.454"></a>
+<span class="sourceLineNo">455</span><a id="line.455">            for 
(Artifact artifact : project.getArtifacts()) {</a>
+<span class="sourceLineNo">456</span><a id="line.456">                if 
(filter.include(artifact)) {</a>
+<span class="sourceLineNo">457</span><a id="line.457">                    
filteredArtifacts.add(artifact);</a>
+<span class="sourceLineNo">458</span><a id="line.458">                }</a>
+<span class="sourceLineNo">459</span><a id="line.459">            }</a>
+<span class="sourceLineNo">460</span><a id="line.460">        }</a>
+<span class="sourceLineNo">461</span><a id="line.461"></a>
+<span class="sourceLineNo">462</span><a id="line.462">        return 
filteredArtifacts;</a>
+<span class="sourceLineNo">463</span><a id="line.463">    }</a>
+<span class="sourceLineNo">464</span><a id="line.464">}</a>
 
 
 

Modified: 
maven/website/components/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-plugin/apidocs/src-html/org/apache/maven/plugin/plugin/metadata/AddPluginArtifactMetadataMojo.html
==============================================================================
--- 
maven/website/components/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-plugin/apidocs/src-html/org/apache/maven/plugin/plugin/metadata/AddPluginArtifactMetadataMojo.html
 (original)
+++ 
maven/website/components/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-plugin/apidocs/src-html/org/apache/maven/plugin/plugin/metadata/AddPluginArtifactMetadataMojo.html
 Sat Mar 30 02:00:43 2024
@@ -34,81 +34,82 @@
 <span class="sourceLineNo">025</span><a id="line.25">import 
org.apache.maven.plugin.AbstractMojo;</a>
 <span class="sourceLineNo">026</span><a id="line.26">import 
org.apache.maven.plugin.MojoExecutionException;</a>
 <span class="sourceLineNo">027</span><a id="line.27">import 
org.apache.maven.plugin.descriptor.PluginDescriptor;</a>
-<span class="sourceLineNo">028</span><a id="line.28">import 
org.apache.maven.plugins.annotations.LifecyclePhase;</a>
-<span class="sourceLineNo">029</span><a id="line.29">import 
org.apache.maven.plugins.annotations.Mojo;</a>
-<span class="sourceLineNo">030</span><a id="line.30">import 
org.apache.maven.plugins.annotations.Parameter;</a>
-<span class="sourceLineNo">031</span><a id="line.31">import 
org.apache.maven.project.MavenProject;</a>
-<span class="sourceLineNo">032</span><a id="line.32"></a>
-<span class="sourceLineNo">033</span><a id="line.33">/**</a>
-<span class="sourceLineNo">034</span><a id="line.34"> * Inject any 
plugin-specific</a>
-<span class="sourceLineNo">035</span><a id="line.35"> * &lt;a 
href="/ref/current/maven-repository-metadata/repository-metadata.html"&gt;artifact
 metadata&lt;/a&gt; to the project's</a>
-<span class="sourceLineNo">036</span><a id="line.36"> * artifact, for 
subsequent installation and deployment.</a>
-<span class="sourceLineNo">037</span><a id="line.37"> * It is used:</a>
-<span class="sourceLineNo">038</span><a id="line.38"> * &lt;ol&gt;</a>
-<span class="sourceLineNo">039</span><a id="line.39"> * &lt;li&gt;to add the 
&lt;code&gt;latest&lt;/code&gt; metadata (which is plugin-specific) for 
shipping alongside the plugin's</a>
-<span class="sourceLineNo">040</span><a id="line.40"> *     
artifact&lt;/li&gt;</a>
-<span class="sourceLineNo">041</span><a id="line.41"> * &lt;li&gt;to define 
plugin mapping in the group&lt;/li&gt;</a>
-<span class="sourceLineNo">042</span><a id="line.42"> * &lt;/ol&gt;</a>
-<span class="sourceLineNo">043</span><a id="line.43"> *</a>
-<span class="sourceLineNo">044</span><a id="line.44"> * @see 
ArtifactRepositoryMetadata</a>
-<span class="sourceLineNo">045</span><a id="line.45"> * @see 
GroupRepositoryMetadata</a>
-<span class="sourceLineNo">046</span><a id="line.46"> *</a>
-<span class="sourceLineNo">047</span><a id="line.47"> * @since 2.0</a>
-<span class="sourceLineNo">048</span><a id="line.48"> */</a>
-<span class="sourceLineNo">049</span><a id="line.49">@Mojo(name = 
"addPluginArtifactMetadata", defaultPhase = LifecyclePhase.PACKAGE, threadSafe 
= true)</a>
-<span class="sourceLineNo">050</span><a id="line.50">public class 
AddPluginArtifactMetadataMojo extends AbstractMojo {</a>
-<span class="sourceLineNo">051</span><a id="line.51">    /**</a>
-<span class="sourceLineNo">052</span><a id="line.52">     * The project 
artifact, which should have the &lt;code&gt;latest&lt;/code&gt; metadata added 
to it.</a>
-<span class="sourceLineNo">053</span><a id="line.53">     */</a>
-<span class="sourceLineNo">054</span><a id="line.54">    
@Parameter(defaultValue = "${project}", readonly = true)</a>
-<span class="sourceLineNo">055</span><a id="line.55">    private MavenProject 
project;</a>
-<span class="sourceLineNo">056</span><a id="line.56"></a>
-<span class="sourceLineNo">057</span><a id="line.57">    /**</a>
-<span class="sourceLineNo">058</span><a id="line.58">     * The prefix for the 
plugin goal.</a>
-<span class="sourceLineNo">059</span><a id="line.59">     */</a>
-<span class="sourceLineNo">060</span><a id="line.60">    @Parameter</a>
-<span class="sourceLineNo">061</span><a id="line.61">    private String 
goalPrefix;</a>
-<span class="sourceLineNo">062</span><a id="line.62"></a>
-<span class="sourceLineNo">063</span><a id="line.63">    /**</a>
-<span class="sourceLineNo">064</span><a id="line.64">     * Set this to "true" 
to skip invoking any goals or reports of the plugin.</a>
-<span class="sourceLineNo">065</span><a id="line.65">     *</a>
-<span class="sourceLineNo">066</span><a id="line.66">     * @since 2.8</a>
-<span class="sourceLineNo">067</span><a id="line.67">     */</a>
-<span class="sourceLineNo">068</span><a id="line.68">    
@Parameter(defaultValue = "false", property = "maven.plugin.skip")</a>
-<span class="sourceLineNo">069</span><a id="line.69">    private boolean 
skip;</a>
-<span class="sourceLineNo">070</span><a id="line.70"></a>
-<span class="sourceLineNo">071</span><a id="line.71">    /** {@inheritDoc} 
*/</a>
-<span class="sourceLineNo">072</span><a id="line.72">    @Override</a>
-<span class="sourceLineNo">073</span><a id="line.73">    public void execute() 
throws MojoExecutionException {</a>
-<span class="sourceLineNo">074</span><a id="line.74">        if (skip) {</a>
-<span class="sourceLineNo">075</span><a id="line.75">            
getLog().warn("Execution skipped");</a>
-<span class="sourceLineNo">076</span><a id="line.76">            return;</a>
-<span class="sourceLineNo">077</span><a id="line.77">        }</a>
-<span class="sourceLineNo">078</span><a id="line.78">        Artifact 
projectArtifact = project.getArtifact();</a>
-<span class="sourceLineNo">079</span><a id="line.79"></a>
-<span class="sourceLineNo">080</span><a id="line.80">        Versioning 
versioning = new Versioning();</a>
-<span class="sourceLineNo">081</span><a id="line.81">        
versioning.setLatest(projectArtifact.getVersion());</a>
-<span class="sourceLineNo">082</span><a id="line.82">        
versioning.updateTimestamp();</a>
-<span class="sourceLineNo">083</span><a id="line.83">        
ArtifactRepositoryMetadata metadata = new 
ArtifactRepositoryMetadata(projectArtifact, versioning);</a>
-<span class="sourceLineNo">084</span><a id="line.84">        
projectArtifact.addMetadata(metadata);</a>
-<span class="sourceLineNo">085</span><a id="line.85"></a>
-<span class="sourceLineNo">086</span><a id="line.86">        
GroupRepositoryMetadata groupMetadata = new 
GroupRepositoryMetadata(project.getGroupId());</a>
-<span class="sourceLineNo">087</span><a id="line.87">        
groupMetadata.addPluginMapping(getGoalPrefix(), project.getArtifactId(), 
project.getName());</a>
-<span class="sourceLineNo">088</span><a id="line.88"></a>
-<span class="sourceLineNo">089</span><a id="line.89">        
projectArtifact.addMetadata(groupMetadata);</a>
-<span class="sourceLineNo">090</span><a id="line.90">    }</a>
-<span class="sourceLineNo">091</span><a id="line.91"></a>
-<span class="sourceLineNo">092</span><a id="line.92">    /**</a>
-<span class="sourceLineNo">093</span><a id="line.93">     * @return the goal 
prefix parameter or the goal prefix from the Plugin artifactId.</a>
-<span class="sourceLineNo">094</span><a id="line.94">     */</a>
-<span class="sourceLineNo">095</span><a id="line.95">    private String 
getGoalPrefix() {</a>
-<span class="sourceLineNo">096</span><a id="line.96">        if (goalPrefix == 
null) {</a>
-<span class="sourceLineNo">097</span><a id="line.97">            goalPrefix = 
PluginDescriptor.getGoalPrefixFromArtifactId(project.getArtifactId());</a>
-<span class="sourceLineNo">098</span><a id="line.98">        }</a>
-<span class="sourceLineNo">099</span><a id="line.99"></a>
-<span class="sourceLineNo">100</span><a id="line.100">        return 
goalPrefix;</a>
-<span class="sourceLineNo">101</span><a id="line.101">    }</a>
-<span class="sourceLineNo">102</span><a id="line.102">}</a>
+<span class="sourceLineNo">028</span><a id="line.28">import 
org.apache.maven.plugins.annotations.Component;</a>
+<span class="sourceLineNo">029</span><a id="line.29">import 
org.apache.maven.plugins.annotations.LifecyclePhase;</a>
+<span class="sourceLineNo">030</span><a id="line.30">import 
org.apache.maven.plugins.annotations.Mojo;</a>
+<span class="sourceLineNo">031</span><a id="line.31">import 
org.apache.maven.plugins.annotations.Parameter;</a>
+<span class="sourceLineNo">032</span><a id="line.32">import 
org.apache.maven.project.MavenProject;</a>
+<span class="sourceLineNo">033</span><a id="line.33"></a>
+<span class="sourceLineNo">034</span><a id="line.34">/**</a>
+<span class="sourceLineNo">035</span><a id="line.35"> * Inject any 
plugin-specific</a>
+<span class="sourceLineNo">036</span><a id="line.36"> * &lt;a 
href="/ref/current/maven-repository-metadata/repository-metadata.html"&gt;artifact
 metadata&lt;/a&gt; to the project's</a>
+<span class="sourceLineNo">037</span><a id="line.37"> * artifact, for 
subsequent installation and deployment.</a>
+<span class="sourceLineNo">038</span><a id="line.38"> * It is used:</a>
+<span class="sourceLineNo">039</span><a id="line.39"> * &lt;ol&gt;</a>
+<span class="sourceLineNo">040</span><a id="line.40"> * &lt;li&gt;to add the 
&lt;code&gt;latest&lt;/code&gt; metadata (which is plugin-specific) for 
shipping alongside the plugin's</a>
+<span class="sourceLineNo">041</span><a id="line.41"> *     
artifact&lt;/li&gt;</a>
+<span class="sourceLineNo">042</span><a id="line.42"> * &lt;li&gt;to define 
plugin mapping in the group&lt;/li&gt;</a>
+<span class="sourceLineNo">043</span><a id="line.43"> * &lt;/ol&gt;</a>
+<span class="sourceLineNo">044</span><a id="line.44"> *</a>
+<span class="sourceLineNo">045</span><a id="line.45"> * @see 
ArtifactRepositoryMetadata</a>
+<span class="sourceLineNo">046</span><a id="line.46"> * @see 
GroupRepositoryMetadata</a>
+<span class="sourceLineNo">047</span><a id="line.47"> *</a>
+<span class="sourceLineNo">048</span><a id="line.48"> * @since 2.0</a>
+<span class="sourceLineNo">049</span><a id="line.49"> */</a>
+<span class="sourceLineNo">050</span><a id="line.50">@Mojo(name = 
"addPluginArtifactMetadata", defaultPhase = LifecyclePhase.PACKAGE, threadSafe 
= true)</a>
+<span class="sourceLineNo">051</span><a id="line.51">public class 
AddPluginArtifactMetadataMojo extends AbstractMojo {</a>
+<span class="sourceLineNo">052</span><a id="line.52">    /**</a>
+<span class="sourceLineNo">053</span><a id="line.53">     * The project 
artifact, which should have the &lt;code&gt;latest&lt;/code&gt; metadata added 
to it.</a>
+<span class="sourceLineNo">054</span><a id="line.54">     */</a>
+<span class="sourceLineNo">055</span><a id="line.55">    @Component</a>
+<span class="sourceLineNo">056</span><a id="line.56">    private MavenProject 
project;</a>
+<span class="sourceLineNo">057</span><a id="line.57"></a>
+<span class="sourceLineNo">058</span><a id="line.58">    /**</a>
+<span class="sourceLineNo">059</span><a id="line.59">     * The prefix for the 
plugin goal.</a>
+<span class="sourceLineNo">060</span><a id="line.60">     */</a>
+<span class="sourceLineNo">061</span><a id="line.61">    @Parameter</a>
+<span class="sourceLineNo">062</span><a id="line.62">    private String 
goalPrefix;</a>
+<span class="sourceLineNo">063</span><a id="line.63"></a>
+<span class="sourceLineNo">064</span><a id="line.64">    /**</a>
+<span class="sourceLineNo">065</span><a id="line.65">     * Set this to "true" 
to skip invoking any goals or reports of the plugin.</a>
+<span class="sourceLineNo">066</span><a id="line.66">     *</a>
+<span class="sourceLineNo">067</span><a id="line.67">     * @since 2.8</a>
+<span class="sourceLineNo">068</span><a id="line.68">     */</a>
+<span class="sourceLineNo">069</span><a id="line.69">    
@Parameter(defaultValue = "false", property = "maven.plugin.skip")</a>
+<span class="sourceLineNo">070</span><a id="line.70">    private boolean 
skip;</a>
+<span class="sourceLineNo">071</span><a id="line.71"></a>
+<span class="sourceLineNo">072</span><a id="line.72">    /** {@inheritDoc} 
*/</a>
+<span class="sourceLineNo">073</span><a id="line.73">    @Override</a>
+<span class="sourceLineNo">074</span><a id="line.74">    public void execute() 
throws MojoExecutionException {</a>
+<span class="sourceLineNo">075</span><a id="line.75">        if (skip) {</a>
+<span class="sourceLineNo">076</span><a id="line.76">            
getLog().warn("Execution skipped");</a>
+<span class="sourceLineNo">077</span><a id="line.77">            return;</a>
+<span class="sourceLineNo">078</span><a id="line.78">        }</a>
+<span class="sourceLineNo">079</span><a id="line.79">        Artifact 
projectArtifact = project.getArtifact();</a>
+<span class="sourceLineNo">080</span><a id="line.80"></a>
+<span class="sourceLineNo">081</span><a id="line.81">        Versioning 
versioning = new Versioning();</a>
+<span class="sourceLineNo">082</span><a id="line.82">        
versioning.setLatest(projectArtifact.getVersion());</a>
+<span class="sourceLineNo">083</span><a id="line.83">        
versioning.updateTimestamp();</a>
+<span class="sourceLineNo">084</span><a id="line.84">        
ArtifactRepositoryMetadata metadata = new 
ArtifactRepositoryMetadata(projectArtifact, versioning);</a>
+<span class="sourceLineNo">085</span><a id="line.85">        
projectArtifact.addMetadata(metadata);</a>
+<span class="sourceLineNo">086</span><a id="line.86"></a>
+<span class="sourceLineNo">087</span><a id="line.87">        
GroupRepositoryMetadata groupMetadata = new 
GroupRepositoryMetadata(project.getGroupId());</a>
+<span class="sourceLineNo">088</span><a id="line.88">        
groupMetadata.addPluginMapping(getGoalPrefix(), project.getArtifactId(), 
project.getName());</a>
+<span class="sourceLineNo">089</span><a id="line.89"></a>
+<span class="sourceLineNo">090</span><a id="line.90">        
projectArtifact.addMetadata(groupMetadata);</a>
+<span class="sourceLineNo">091</span><a id="line.91">    }</a>
+<span class="sourceLineNo">092</span><a id="line.92"></a>
+<span class="sourceLineNo">093</span><a id="line.93">    /**</a>
+<span class="sourceLineNo">094</span><a id="line.94">     * @return the goal 
prefix parameter or the goal prefix from the Plugin artifactId.</a>
+<span class="sourceLineNo">095</span><a id="line.95">     */</a>
+<span class="sourceLineNo">096</span><a id="line.96">    private String 
getGoalPrefix() {</a>
+<span class="sourceLineNo">097</span><a id="line.97">        if (goalPrefix == 
null) {</a>
+<span class="sourceLineNo">098</span><a id="line.98">            goalPrefix = 
PluginDescriptor.getGoalPrefixFromArtifactId(project.getArtifactId());</a>
+<span class="sourceLineNo">099</span><a id="line.99">        }</a>
+<span class="sourceLineNo">100</span><a id="line.100"></a>
+<span class="sourceLineNo">101</span><a id="line.101">        return 
goalPrefix;</a>
+<span class="sourceLineNo">102</span><a id="line.102">    }</a>
+<span class="sourceLineNo">103</span><a id="line.103">}</a>
 
 
 

Modified: 
maven/website/components/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-plugin/apidocs/type-search-index.zip
==============================================================================
Binary files - no diff available.

Modified: 
maven/website/components/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-plugin/checkstyle.html
==============================================================================
--- 
maven/website/components/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-plugin/checkstyle.html
 (original)
+++ 
maven/website/components/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-plugin/checkstyle.html
 Sat Mar 30 02:00:43 2024
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.11.1 from 
org.apache.maven.plugins:maven-checkstyle-plugin:3.3.1:checkstyle at 2024-03-21
+ | Generated by Apache Maven Doxia Site Renderer 1.11.1 from 
org.apache.maven.plugins:maven-checkstyle-plugin:3.3.1:checkstyle at 2024-03-30
  | Rendered using Apache Maven Fluido Skin 1.11.2
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
@@ -49,7 +49,7 @@
       <li><a href="../index.html" title="Plugin Tools">Plugin Tools</a><span 
class="divider">/</span></li>
       <li><a href="index.html" title="Maven Plugin Plugin">Maven Plugin 
Plugin</a><span class="divider">/</span></li>
     <li class="active ">Checkstyle Results</li>
-        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2024-03-21</li>
+        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2024-03-30</li>
           <li id="projectVersion" class="pull-right">Version: 
3.11.1-SNAPSHOT</li>
           </ul>
         </div>
@@ -85,6 +85,7 @@
       <li><a href="taglist.html" title="Tag List"><span 
class="none"></span>Tag List</a></li>
       <li><a href="apidocs/index.html" title="Javadoc"><span 
class="none"></span>Javadoc</a></li>
       <li><a href="plugin-info.html" title="Plugin Documentation"><span 
class="none"></span>Plugin Documentation</a></li>
+      <li><a href="invoker-report.html" title="Invoker"><span 
class="none"></span>Invoker</a></li>
      </ul></li>
    <li class="nav-header">Maven Projects</li>
     <li><a href="../../ref/current" title="Maven"><span 
class="none"></span>Maven</a></li>
@@ -189,13 +190,13 @@
 <td>javadoc</td>
 <td>JavadocVariable</td>
 <td>Missing a Javadoc comment.</td>
-<td><a 
href="./xref/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.html#L276">276</a></td></tr>
+<td><a 
href="./xref/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.html#L277">277</a></td></tr>
 <tr class="a">
 <td align="left"><img src="images/icon_warning_sml.gif" alt="" 
/>&#160;Warning</td>
 <td>coding</td>
 <td>HiddenField</td>
 <td>'requiredMavenVersion' hides a field.</td>
-<td><a 
href="./xref/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.html#L390">390</a></td></tr></table></section></section></section>
+<td><a 
href="./xref/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.html#L391">391</a></td></tr></table></section></section></section>
         </main>
       </div>
     </div>

Modified: 
maven/website/components/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-plugin/ci-management.html
==============================================================================
--- 
maven/website/components/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-plugin/ci-management.html
 (original)
+++ 
maven/website/components/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-plugin/ci-management.html
 Sat Mar 30 02:00:43 2024
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.11.1 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.4.5:ci-management 
at 2024-03-21
+ | Generated by Apache Maven Doxia Site Renderer 1.11.1 from 
org.apache.maven.plugins:maven-project-info-reports-plugin:3.4.5:ci-management 
at 2024-03-30
  | Rendered using Apache Maven Fluido Skin 1.11.2
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
@@ -49,7 +49,7 @@
       <li><a href="../index.html" title="Plugin Tools">Plugin Tools</a><span 
class="divider">/</span></li>
       <li><a href="index.html" title="Maven Plugin Plugin">Maven Plugin 
Plugin</a><span class="divider">/</span></li>
     <li class="active ">CI Management</li>
-        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2024-03-21</li>
+        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2024-03-30</li>
           <li id="projectVersion" class="pull-right">Version: 
3.11.1-SNAPSHOT</li>
           </ul>
         </div>

Modified: 
maven/website/components/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-plugin/cpd.html
==============================================================================
--- 
maven/website/components/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-plugin/cpd.html
 (original)
+++ 
maven/website/components/plugin-tools-archives/plugin-tools-LATEST/maven-plugin-plugin/cpd.html
 Sat Mar 30 02:00:43 2024
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 1.11.1 from 
org.apache.maven.plugins:maven-pmd-plugin:3.21.2:cpd at 2024-03-21
+ | Generated by Apache Maven Doxia Site Renderer 1.11.1 from 
org.apache.maven.plugins:maven-pmd-plugin:3.21.2:cpd at 2024-03-30
  | Rendered using Apache Maven Fluido Skin 1.11.2
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="en">
@@ -49,7 +49,7 @@
       <li><a href="../index.html" title="Plugin Tools">Plugin Tools</a><span 
class="divider">/</span></li>
       <li><a href="index.html" title="Maven Plugin Plugin">Maven Plugin 
Plugin</a><span class="divider">/</span></li>
     <li class="active ">CPD Results</li>
-        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2024-03-21</li>
+        <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2024-03-30</li>
           <li id="projectVersion" class="pull-right">Version: 
3.11.1-SNAPSHOT</li>
           </ul>
         </div>
@@ -85,6 +85,7 @@
       <li><a href="taglist.html" title="Tag List"><span 
class="none"></span>Tag List</a></li>
       <li><a href="apidocs/index.html" title="Javadoc"><span 
class="none"></span>Javadoc</a></li>
       <li><a href="plugin-info.html" title="Plugin Documentation"><span 
class="none"></span>Plugin Documentation</a></li>
+      <li><a href="invoker-report.html" title="Invoker"><span 
class="none"></span>Invoker</a></li>
      </ul></li>
    <li class="nav-header">Maven Projects</li>
     <li><a href="../../ref/current" title="Maven"><span 
class="none"></span>Maven</a></li>


Reply via email to