Fix #326: resolve a described plugin against plugin repositories AbstractHelpMojo.resolveArtifact() always resolved against project.getRemoteProjectRepositories(). DescribeMojo calls it to resolve a plugin's own jar/pom in two places: the fallback name lookup when a plugin descriptor has no name, and isReportGoal()'s check for whether a goal implements MavenReport. Both are resolving the plugin itself, so a plugin published only to a <pluginRepository> and not also declared as a project <repository> failed to resolve there even though Maven resolved and ran the plugin fine during a normal build. Added a resolveArtifact(artifact, repositories) overload taking an explicit repository list, with the existing resolveArtifact(artifact) delegating to it with project repositories unchanged for its other callers (getMavenProject, EvaluateMojo). DescribeMojo's three plugin-resolution call sites now pass project.getRemotePluginRepositories().
You have found a bug, or you have an idea for a cool new feature? Contributing code is a great way to give something back to the open source community. Before you dig right into the code, there are a few guidelines that we need contributors to follow so that we can have a chance of keeping on top of things.
We accept Pull Requests via GitHub. The developer mailing list is the main channel of communication for contributors.
There are some guidelines which will make applying PRs easier for us:
git diff --check before committing.mvn -Prun-its verify to assure nothing else was accidentally broken.If you plan to contribute on a regular basis, please consider filing a contributor license agreement.