[
http://jira.codehaus.org/browse/MNG-5030?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=258043#action_258043
]
Evgeny Goldin edited comment on MNG-5030 at 2/28/11 6:20 PM:
-------------------------------------------------------------
Sure. In my plugins I [don't
like|http://evgeny-goldin.com/wiki/Maven-copy-plugin#.3Cconfiguration.3E]
wrapping single tag with a plural option:
{code}
<configuration>
<tags>
<tag>data</tag>
</tags>
</configuration>
{code}
When there is a single tag, one can specify it:
{code}
<configuration>
<tag>data</tag>
</configuration>
{code}
I achieve this by
[having|https://github.com/evgeny-goldin/maven-plugins/blob/0.2.1/maven-copy-plugin/src/main/groovy/com/goldin/plugins/copy/CopyMojo.groovy#L83]
{code}
String tag
String[] tags
{code}
in my POJO and then
[analyze|https://github.com/evgeny-goldin/maven-plugins/blob/0.2.1/maven-copy-plugin/src/main/groovy/com/goldin/plugins/copy/CopyMojo.groovy#L88]
what was actually set. The problem begins when a user does a mistake and
forgets to wrap multiple tags:
{code}
<configuration>
<tag>data1</tag>
<tag>data2/tag>
<tag>data3</tag>
</configuration>
{code}
In this case Maven overrides each previous *{{<tag>}}* with the following one
so in the end when *{{execute()}}* fires only *{{<tag>data3</tag>}}* is
actually set while *{{<tag>data1</tag>}}* and *{{<tag>data2</tag>}}* are
silently ignored.
If I had *{{<configuration>}}* XML I could check this case and throw an error.
In general, having _some_ way of injection control could be very helpful.
was (Author: evgeny.goldin):
Sure. In my plugins I
[http://evgeny-goldin.com/wiki/Maven-copy-plugin#.3Cconfiguration.3E don't
like] wrapping single tag with a plural option:
{code}
<configuration>
<tags>
<tag>data</tag>
</tags>
</configuration>
{code}
When there is a single tag, one can specify it:
{code}
<configuration>
<tag>data</tag>
</configuration>
{code}
I achieve this by
[https://github.com/evgeny-goldin/maven-plugins/blob/0.2.1/maven-copy-plugin/src/main/groovy/com/goldin/plugins/copy/CopyMojo.groovy#L83
having]
{code}
String tag
String[] tags
{code}
in my POJO and then
[https://github.com/evgeny-goldin/maven-plugins/blob/0.2.1/maven-copy-plugin/src/main/groovy/com/goldin/plugins/copy/CopyMojo.groovy#L88
analyze] what was actually set. The problem begins when a user does a mistake
and forgets to wrap multiple tags:
{code}
<configuration>
<tag>data1</tag>
<tag>data2/tag>
<tag>data3</tag>
</configuration>
{code}
In this case Maven overrides each previous *{{<tag>}}* with the following one
so in the end when *{{execute()}}* fires only *{{<tag>data3</tag>}}* is
actually set while *{{<tag>data1</tag>}}* and *{{<tag>data2</tag>}}* are
silently ignored.
If I had *{{<configuration>}}* XML I could check this case and throw an error.
In general, having _some_ way of injection control could be very helpful.
> Provide a way to get a raw <configuration> XML for plugin to read
> -----------------------------------------------------------------
>
> Key: MNG-5030
> URL: http://jira.codehaus.org/browse/MNG-5030
> Project: Maven 2 & 3
> Issue Type: New Feature
> Components: Plugin API
> Affects Versions: 3.0.2
> Reporter: Evgeny Goldin
>
> As a plugin author I may need to read its *{{<configuration>}}* slightly
> different than Maven does it. It would be very nice to get a raw XML as an
> alternative to standard fields injection.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira