I agree, the way that I have to enter the pom under 2.0.9 is now correctly
reflected by 3.x.

However, the second part of the issue that I found is that the @required is
beting totally ignored! 2.x enforces it, 3.x does not, it should.

That I believe does need to be fixed, and that should be the simplest of
test cases.

-Chris



On Tue, May 7, 2013 at 10:17 PM, Stuart McCulloch <mccu...@gmail.com> wrote:

> On 6 May 2013, at 23:49, Chris Graham wrote:
>
> > Looking at that issue, if the issue was meant to deal with the example
> > given, ie, and array of strings, then the issue is most certainly not
> > fixed, as it is my exact case.
>
> The issue addressed making the behaviour more consistent, which it does -
> iirc the same XML configuration injected into a list would give a list with
> one element, so for the array case I'd expect a one element array.
>
> > Either way, as that behaviour is in published versions, my plugin needs
> to
> > be able to deal with both cases.
> >
> > From my example,
> >                    <msgSets>
> >                        <msgSet />
> >                    </msgSets>
> >
> >
> > It is giving me precisely what the pom says. An arrary, of one null
> element.
> >
> > It just surprised me that the behaviour changed when compared to 2.x.
> Were
> > I got a null array.
>
> Various undefined or inconsistent behaviour was cleaned up and made
> consistent rather than carry-over broken/odd behaviour.
>
> > it's really up to you guys to decide if it's a) worth 'fixing' or if that
> > is indeed the desired behaviour.
>
> I don't mind fixing bugs as long as there a clear testcase, but I think it
> would be a mistake to start special-casing injected arrays vs collections.
>
> > I'll see if I can get <msgSets/> to pass parsing, as that should also
> work.
> >
> > -Chris
> >
> >
> >
> > On Tue, May 7, 2013 at 1:25 PM, Stuart McCulloch <mccu...@gmail.com>
> wrote:
> >
> >> Actually I think it might be a side-effect of the following
> >> feature/improvement made for M3:
> >>
> >>        https://issues.sonatype.org/browse/SISU-58
> >>
> >> where the code to handle arrays was made more consistent wrt. the
> handling
> >> of collections.
> >>
> >> On 6 May 2013, at 12:35, Hervé BOUTEMY wrote:
> >>
> >>> looks like a subtle change in injection when moving from Plexus to
> Guice
> >>>
> >>> Regards,
> >>>
> >>> Hervé
> >>>
> >>> Le lundi 6 mai 2013 23:06:49 Chris Graham a écrit :
> >>>> Hey All.
> >>>>
> >>>> I'm not sure if I've found a regression issue with Maven 3.0.x (tried
> >> with
> >>>> all versions beta-1 onwards to 3.0.5) or not. V3.x behaves differently
> >> to
> >>>> 2.09, 2.0.11 and 2.2.1.
> >>>>
> >>>> I've written a plugin for WebSphere Message Broker; basically it's a
> >>>> wrapper for the underlying mqsicreatebar tool.
> >>>>
> >>>> Amongst other things, it takes zero or more message sets and message
> >> flows.
> >>>> To handle this, I defined the parameters as an array.
> >>>>
> >>>> Here is the snippet from the plugin's source:
> >>>>   /**
> >>>>    * The message flows to be added to the bar file.
> >>>>    * @parameter expression="${msgFlows}"
> >>>>    * @required
> >>>>    */
> >>>>   private String[] msgFlows;
> >>>>
> >>>>   /**
> >>>>    * The message sets to be added to the bar file.
> >>>>    * @parameter expression="${msgSets}"
> >>>>    * @required
> >>>>    */
> >>>>   private String[] msgSets;
> >>>>
> >>>> and here is an example configuration section from a pom that uses the
> >>>> plugin:
> >>>>
> >>>>               <configuration>
> >>>>                   <skipApplyOverrides>false</skipApplyOverrides>
> >>>>                   <isV60>true</isV60>
> >>>>                   <workspace>${wmbtk.workspace.root}/24a</workspace>
> >>>>                   <msgFlows>
> >>>>
> >>>> <msgFlow>MFP_Project/com/blah/MFL_DiagFlow.msgflow</msgFlow>
> >>>>                   </msgFlows>
> >>>>                   <msgSets>
> >>>>                       <msgSet />
> >>>>                   </msgSets>
> >>>>               </configuration>
> >>>>
> >>>> So we have one message flow, but no message sets.
> >>>>
> >>>> Here is where the differences are seen.
> >>>>
> >>>> Maven 2.0.9, 2.0.11 and 2.2.1 will initialise the msgSets as null.
> >>>>
> >>>> Maven 3.0 (beta-1 to 3.0.5) will initialise msgSets as a single
> element
> >> of
> >>>> null.
> >>>>
> >>>> My question boils down to: is this the desired behaviour?
> >>>>
> >>>> I've had to adjust my code to work under Maven 3.x (which I didn't
> think
> >>>> that I had too).
> >>>>
> >>>> From memory, I can not supply an empty <msgSets/> element (but I need
> to
> >>>> check that).
> >>>>
> >>>> -Chris
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> >>> For additional commands, e-mail: dev-h...@maven.apache.org
> >>>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> >> For additional commands, e-mail: dev-h...@maven.apache.org
> >>
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
>
>

Reply via email to