Greetings. I have written a notification plugin that sends events to Amazon Kinesis. Unfortunately, if I run this plugin in a job using Maven 3.0.3 the plugin works but the job crashes at the end:
Caused by: java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:926) at java.util.HashMap$EntryIterator.next(HashMap.java:966) at java.util.HashMap$EntryIterator.next(HashMap.java:964) at com.thoughtworks.xstream.converters.collections.MapConverter.marshal(MapConverter.java:55) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69) at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58) at com.thoughtworks.xstream.core.AbstractReferenceMarshaller$1.convertAnother(AbstractReferenceMarshaller.java:84) at hudson.util.RobustReflectionConverter.marshallField(RobustReflectionConverter.java:217) at hudson.util.RobustReflectionConverter$2.writeField(RobustReflectionConverter.java:204) ... 425 more[ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/InternalErrorExceptionchannel stopped Archiving artifacts Finished: FAILURE I searched around and found several bug reports on similar issues, indicating that fixes had been submitted, so I tried with Maven 3.2.2 and everything works fine. What I want to do is have my plugin detect which version of Maven is being used and disable itself if an unsafe version has been selected. I've not had any luck figuring out how to do that: - I tried extending MavenReporter, so I could get a MavenBiuldProxy in preBuild() or preExecute(), and call getMavenBuildInformation().getVersion(), but neither would ever fire. Not sure this is the right version to check anyway. - I tried using Jenkins.getInstance().getPlugin("maven-plugin") to work my way towards calling hudson.MavenInformation.getVersion(), but couldn't figure out how to get a useful object to make a call on. Not sure this is the right version to check anyway. Any advice would be much appreciated. Thanks, - Jeff -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.