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. NullPointerException -> [Help 1] >>>> org.apache.maven.lifecycle.LifecycleExecutionException: 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. >>>> at >>>> >>>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:224) >>>> >>>> at >>>> >>>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) >>>> >>>> at >>>> >>>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) >>>> >>>> at >>>> >>>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108) >>>> >>>> at >>>> >>>> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76) >>>> >>>> at >>>> >>>> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) >>>> >>>> at >>>> >>>> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116) >>>> >>>> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361) >>>> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) >>>> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584) >>>> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213) >>>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:157) >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>>> at >>>> >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>>> >>>> at >>>> >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>> >>>> at java.lang.reflect.Method.invoke(Method.java:606) >>>> at >>>> >>>> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) >>>> >>>> at >>>> >>>> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) >>>> >>>> at >>>> >>>> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) >>>> >>>> at >>>> >>>> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) >>>> >>>> Caused by: org.apache.maven.plugin.PluginExecutionException: Execution >>>> default-prepare-agent of goal >>>> org.jacoco:jacoco-maven-plugin:0.6.4.201312101107:prepare-agent >>>> failed. >>>> at >>>> >>>> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:144) >>>> >>>> at >>>> >>>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) >>>> >>>> ... 19 more >>>> Caused by: java.lang.NullPointerException >>>> at >>>> >>>> org.jacoco.maven.AbstractAgentMojo.getAgentJarFile(AbstractAgentMojo.java:151) >>>> >>>> at >>>> >>>> org.jacoco.maven.AbstractAgentMojo.executeMojo(AbstractAgentMojo.java:142) >>>> >>>> at >>>> org.jacoco.maven.AbstractJacocoMojo.execute(AbstractJacocoMojo.java:72) >>>> at >>>> >>>> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133) >>>> >>>> ... 20 more >>>> >>>> >>>> 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 9:55 AM, Tamás Cservenák >>>> <ta...@cservenak.net> wrote: >>>>> >>>>> +1 >>>>> >>>>> >>>>> On Tue, Feb 11, 2014 at 3:22 AM, Jason van Zyl <ja...@takari.io> wrote: >>>>> >>>>>> +1 >>>>>> >>>>>> --- >>>>>> >>>>>> Analyzer... >>>>>> >>>>>> stagingUrl: >>>>>> https://repository.apache.org/content/repositories/maven-1005 >>>>>> groupId: org.apache.maven >>>>>> artifactId: apache-maven >>>>>> version: 3.2.0 >>>>>> >>>>>> Source ZIP url exists. >>>>>> >>>>>> >>>>>> https://repository.apache.org/content/repositories/maven-1005/org/apache/maven/apache-maven/3.2.0/apache-maven-3.2.0-src.zip >>>>>> >>>>>> >>>>>> Source ZIP SHA1 url exists. >>>>>> >>>>>> >>>>>> https://repository.apache.org/content/repositories/maven-1005/org/apache/maven/apache-maven/3.2.0/apache-maven-3.2.0-src.zip.sha1 >>>>>> >>>>>> >>>>>> Binary ZIP url exists. >>>>>> >>>>>> >>>>>> https://repository.apache.org/content/repositories/maven-1005/org/apache/maven/apache-maven/3.2.0/apache-maven-3.2.0-bin.zip >>>>>> >>>>>> >>>>>> Binary ZIP SHA1 url exists. >>>>>> >>>>>> >>>>>> https://repository.apache.org/content/repositories/maven-1005/org/apache/maven/apache-maven/3.2.0/apache-maven-3.2.0-bin.zip.sha1 >>>>>> >>>>>> >>>>>> Calculated SHA1 of source ZIP matches published SHA1 of source ZIP. >>>>>> 4bc1ad352c07eef6e6b92c4923d1578d813bc57b >>>>>> >>>>>> Calculated SHA1 of binary ZIP matches published SHA1 of binary ZIP. >>>>>> ff47b35b6d715dcdb3483ab9cf62178392850c19 >>>>>> >>>>>> Git revision of release as determined from >>>>>> >>>>>> maven-core-3.2.0.jar:org/apache/maven/messages/build.properties(buildNumber): >>>>>> >>>>>> 9f109b60472979a5865e9d93b72db5c0e2c37232 >>>>>> >>>>>> Files that are present in the source distribution but not in the >>>>>> source >>>>>> revision: >>>>>> DEPENDENCIES >>>>>> >>>>>> On Feb 10, 2014, at 9:18 PM, Jason van Zyl <ja...@takari.io> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> Time to release Maven 3.2.0! >>>>>>> >>>>>>> Here is a link to Jira with 33 issues resolved: >>>>>>> >>>>>> >>>>>> https://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10500&version=15565 >>>>>> >>>>>>> >>>>>>> Staging repo: >>>>>>> https://repository.apache.org/content/repositories/maven-1005/ >>>>>>> >>>>>>> The distributable binaries and sources for testing can be found here: >>>>>>> >>>>>> >>>>>> https://repository.apache.org/content/repositories/maven-1005/org/apache/maven/apache-maven/3.2.0/ >>>>>> >>>>>>> >>>>>>> Specifically the zip, tarball, and source archives can be found here: >>>>>>> >>>>>> >>>>>> https://repository.apache.org/content/repositories/maven-1005/org/apache/maven/apache-maven/3.2.0/apache-maven-3.2.0-bin.zip >>>>>> >>>>>>> >>>>>> >>>>>> https://repository.apache.org/content/repositories/maven-1005/org/apache/maven/apache-maven/3.2.0/apache-maven-3.2.0-bin.tar.gz >>>>>> >>>>>>> >>>>>> >>>>>> https://repository.apache.org/content/repositories/maven-1005/org/apache/maven/apache-maven/3.2.0/apache-maven-3.2.0-src.zip >>>>>> >>>>>>> >>>>>> >>>>>> https://repository.apache.org/content/repositories/maven-1005/org/apache/maven/apache-maven/3.2.0/apache-maven-3.2.0-src.tar.gz >>>>>> >>>>>>> >>>>>>> Source release checksum(s): >>>>>>> apache-maven-3.2.0-src.zip sha1: >>>>>>> 4bc1ad352c07eef6e6b92c4923d1578d813bc57b >>>>>>> >>>>>>> Staging site: >>>>>>> http://people.apache.org/~jvanzyl/maven-3.2.0/ >>>>>>> >>>>>>> Vote open for 72 hours. >>>>>>> >>>>>>> [ ] +1 >>>>>>> [ ] +0 >>>>>>> [ ] -1 >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> The Maven Team >>>>>>> Thanks, >>>>>>> --------------------------------------------------------------------- >>>>>>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org >>>>>>> For additional commands, e-mail: dev-h...@maven.apache.org >>>>>>> >>>>>> >>>>>> Thanks, >>>>>> >>>>>> Jason >>>>>> >>>>>> ---------------------------------------------------------- >>>>>> Jason van Zyl >>>>>> Founder, Apache Maven >>>>>> http://twitter.com/jvanzyl >>>>>> http://twitter.com/takari_io >>>>>> --------------------------------------------------------- >>>>>> >>>>>> What matters is not ideas, but the people who have them. Good >>>>>> people can >>>>>> fix bad ideas, but good ideas can't save bad people. >>>>>> >>>>>> -- Paul Graham >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>> >>> --------------------------------------------------------------------- >>> 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 > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org