You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/10/17 11:48:00 UTC

[jira] [Commented] (MPLUGIN-417) report and descriptor goal need to evaluate Javadoc comments differently

    [ https://issues.apache.org/jira/browse/MPLUGIN-417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17618848#comment-17618848 ] 

ASF GitHub Bot commented on MPLUGIN-417:
----------------------------------------

kwin commented on code in PR #139:
URL: https://github.com/apache/maven-plugin-tools/pull/139#discussion_r996961032


##########
maven-script/maven-plugin-tools-beanshell/src/main/java/org/apache/maven/tools/plugin/extractor/beanshell/BeanshellMojoDescriptorExtractor.java:
##########
@@ -131,6 +131,7 @@ private MojoDescriptor createMojoDescriptor( String basedir, String resource, Pl
             throw new InvalidPluginDescriptorException( "Error scanning beanshell script", evalError );
         }
 
+        // FIXME: convert javadocs

Review Comment:
   I left the legacy handling in place, i.e. convert inline javadoc tags afterwards to HTML (but only for legacy extractors).





> report and descriptor goal need to evaluate Javadoc comments differently
> ------------------------------------------------------------------------
>
>                 Key: MPLUGIN-417
>                 URL: https://issues.apache.org/jira/browse/MPLUGIN-417
>             Project: Maven Plugin Tools
>          Issue Type: Improvement
>          Components: Plugin Plugin
>            Reporter: Konrad Windszus
>            Assignee: Konrad Windszus
>            Priority: Major
>
> Currently it is not explicitly specified in [https://maven.apache.org/ref/3.8.4/maven-plugin-api/plugin.html] which format the {{description}} field on plugin, mojo and parameter level should have.
> It partially contains HTML tags (also from converted inline javadoc taglets) which is problematic for [https://maven.apache.org/plugins/maven-help-plugin/describe-mojo.html] (which expects plain text).
> On the other hand, the same plugin descriptor is currently leveraged for goal {{report}} which should include all those HTML details from the source comment.
> Therefore both goals need to extract metadata from source files differently and {{report}} can no longer rely on the previously generated plugin descriptor file.
> In addition even the plain text descriptor should contain as many details as possible, i.e. it should be converted javadoc taglets -> html -> plain text to no loose any detail.
> Currently the plugin descriptor is written with {{{}GeneratorUtils.toText(){}}}at [https://github.com/apache/maven-plugin-tools/blob/706b1d0b6730d028350f18d8459eee8b123e2f67/maven-plugin-tools-generators/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java#L186] which has the following flaws
>  # Still emits {{<a href=}} links
>  # Does not resolve all javadoc tags
>  # Does never emit a proper link for link javadoc taglets
>  
> The proposal is that
>  # goal {{descriptor}} generates three different descriptor serializations (based on the same in-memory HTML descriptor):
>  ## one with plain text according to [https://maven.apache.org/ref/3.8.4/maven-plugin-api/plugin.html]
>  ## one with plain text and additional attributes for {{helpmojo}}
>  ## another temporary one to be used from {{report}} containing HTML values 
>  # goal {{helpmojo}} evaluates the deserialized descriptor from 2 at execution time of the resulting "help" mojo
>  # goal {{report}} evaluates the deserialized enhanced descriptor from 3. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)