We are not changing the public api signature, and the keys were undocumented previously, so this does not need a bump to 4.0 IMHO (even if that would get modelVersion 5.0 aligned with the Maven version)
On Wednesday, 12 February 2014, Mirko Friedenhagen <mfriedenha...@gmail.com> wrote: > Hello Igor, > > so you consider this a bug? While I agree with your xkcd (and may > easily work around the issue in the jacoco-maven-plugin) I do not see > any documentation on what artifactMap should hold, the String key is > not documented[0]. I see why you do not want to update the Major > version of Maven. > > [0] > https://github.com/apache/maven/blob/master/maven-core/src/main/java/org/apache/maven/project/MavenProject.java#L1142 > Regards Mirko > -- > http://illegalstateexception.blogspot.com/ > https://github.com/mfriedenhagen/ (http://osrc.dfm.io/mfriedenhagen) > https://bitbucket.org/mfriedenhagen/ > > > On Wed, Feb 12, 2014 at 3:05 PM, Igor Fedorenko <i...@ifedorenko.com> > wrote: > > I lean towards keeping the current implementation as-is. Jococo maven > > plugin relies on a bug in Maven core, there are at least two ways the > > problem can be addressed by the plugin in a way compatible with 3.2.x > > and earlier versions of Maven, and I think maintaining both the old > > buggy code path and the new correct code path will introduce unnecessary > > support burden on Maven core developers and confusion to Maven API users. > > > > http://xkcd.com/1172/ > > > > -- > > Regards, > > Igor > > > > > > On 2/11/2014, 17:40, Igor Fedorenko wrote: > >> > >> This is kinda tricky. We have three cases to consider > >> > >> 1. Plugin depends on main artifact only. For such dependency both 3.1.1 > >> and 3.2.0 use G:A key, so there is no problem there > >> 2. Plugin depends on main and classified artifacts of the same GA. In > >> this case 3.1.1 picked the last artifact and used it with G:A key, > >> while 3.2.0 uses G:A for the main artifact and G:A:C for classified > >> artifacts. > >> 3. Plugin depends on classified artifact only. In this case 3.1.1 uses > >> G:A key and 3.2.0 uses G:A:C > >> > >> And I really need to support case #2 ;-) > >> > >> The only 100% backwards compatible solution seems to keep the original > >> MavenProject#pluginArtifactMap and MavenProject#artifactMap as is, but > >> deprecate them and introduce new behaviour as new #pluginArtifactMapC > >> and #artifactMap members. > >> > >> Does anyone see other options? > >> > >> > >> -- > >> Regards, > >> Igor > >> > >> On 2/11/2014, 16:39, Mirko Friedenhagen wrote: > >>> > >>> Hello, > >>> > >>> I probably found the culprit for my issue > >>> https://jira.codehaus.org/browse/MNG-5552: > >>> - This introduces the option to use a classifier when looking up stuff > >>> from the ${plugin.artifactMap} > >>> - Now the jacoco-maven-plugin uses an agent > >>> (GAVC="org.jacoco:org.jacoco.agent:VERSION:runtime") which has a > >>> classifier "runtime". > >>> - With Maven < 3.2.0 the agent could be looked up (artifactMap.get) > >>> with "org.jacoco:org.jacoco.agent", the key in the map was GA. > >>> - With Maven 3.2.0 the key is now GAC > >>> ("org.jacoco:org.jacoco.agent:runtime") > >>> - So now you are forced to give the classifier as well for the lookup, > >>> when doing this it will break backwards compatibility. > >>> Regards Mirko > >>> -- > >>> http://illegalstateexception.blogspot.com/ > >>> https://github.com/mfriedenhagen/ (http://osrc.dfm.io/mfriedenhagen) > >>> https://bitbucket.org/mfriedenhagen/ > >>> > >>> > >>> On Tue, Feb 11, 2014 at 4:42 PM, Mirko Friedenhagen > >>> <mfriedenha...@gmail.com> wrote: > >>>> > >>>> Hello, > >>>> > >>>> not sure what's happening here. There seems to be a regression with > >>>> the jacoco-maven-plugin (works fine with Maven 3.0.2 and Maven 3.1.1). > >>>> What I did: > >>>> - Checked out https://github.com/1and1/testlink-junit > >>>> - Now running mvn320 -V -e clean verify gives the following: > >>>> > >>>> 12670 [ERROR] Failed to execute goal > >>>> org.jacoco:jacoco-maven-plugin:0.6.4.201312101107:prepare-agent > >>>> (default-prepare-agent) on project tljunit-surefire: Execution > >>>> default-prepare-agent of goal > >>>> org.jacoco:jacoco-maven-plugin:0.6.4.201312101107:prepare-agent > >>>> failed -- Sent from my phone