[ 
https://issues.apache.org/jira/browse/MPLUGIN-417?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Konrad Windszus updated MPLUGIN-417:
------------------------------------
    Description: 
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 two 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]  and
 ## another temporary one to be used from both {{report}} and {{helpmojo}} 
(replacing the currently generated plugin-help.xml) contains HTML and some 
additional attributes (necessary for helpmojo). For that 
{{PluginDescriptorGenerator}} must be enhanced to do another html -> plaintext 
conversion.
 # goal {{helpmojo}} evaluates the deserialized enhanced descriptor
 # goal {{report}} evaluates the deserialized enhanced descriptor

  was:
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


> report/helpmojo 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
>            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 two 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]  and
>  ## another temporary one to be used from both {{report}} and {{helpmojo}} 
> (replacing the currently generated plugin-help.xml) contains HTML and some 
> additional attributes (necessary for helpmojo). For that 
> {{PluginDescriptorGenerator}} must be enhanced to do another html -> 
> plaintext conversion.
>  # goal {{helpmojo}} evaluates the deserialized enhanced descriptor
>  # goal {{report}} evaluates the deserialized enhanced descriptor



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

Reply via email to