mirror of https://github.com/apache/maven.git
[MNG-5561] Plugin relocation loses configuration
Previously, to locate plugin configuration in the project the plugin descriptor was read and the GA were extracted. This always worked because the GA from the model and the GA from plugin descriptor (plugin.xml) were identical. When a plugin is relocated the target artifact is read, thus its plugin descriptor as well. Naturally, the GA of new (relocated) does not correspond to the old (static) one in the model. Therefore, the configuration is not found. New approach is to use the original plugin GA to locate the configuration in the model regardless of relocation.
This commit is contained in:
parent
ef74a62451
commit
05b748ff6a
|
@ -41,9 +41,9 @@ public class DefaultMojoExecutionConfigurator
|
|||
@Override
|
||||
public void configure( MavenProject project, MojoExecution mojoExecution, boolean allowPluginLevelConfig )
|
||||
{
|
||||
String g = mojoExecution.getGroupId();
|
||||
String g = mojoExecution.getPlugin().getGroupId();
|
||||
|
||||
String a = mojoExecution.getArtifactId();
|
||||
String a = mojoExecution.getPlugin().getArtifactId();
|
||||
|
||||
Plugin plugin = findPlugin( g, a, project.getBuildPlugins() );
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ public class BuildPluginManagerStub
|
|||
public MojoDescriptor getMojoDescriptor( Plugin plugin, String goal, List<RemoteRepository> repositories,
|
||||
RepositorySystemSession session )
|
||||
{
|
||||
return MojoExecutorStub.createMojoDescriptor( plugin.getKey() );
|
||||
return MojoExecutorStub.createMojoDescriptor( plugin );
|
||||
}
|
||||
|
||||
public ClassRealm getPluginRealm( MavenSession session, PluginDescriptor pluginDescriptor )
|
||||
|
|
|
@ -21,6 +21,7 @@ import org.apache.maven.lifecycle.internal.DependencyContext;
|
|||
import org.apache.maven.lifecycle.internal.MojoExecutor;
|
||||
import org.apache.maven.lifecycle.internal.PhaseRecorder;
|
||||
import org.apache.maven.lifecycle.internal.ProjectIndex;
|
||||
import org.apache.maven.model.Plugin;
|
||||
import org.apache.maven.plugin.MojoExecution;
|
||||
import org.apache.maven.plugin.descriptor.MojoDescriptor;
|
||||
import org.apache.maven.plugin.descriptor.PluginDescriptor;
|
||||
|
@ -54,12 +55,14 @@ public class MojoExecutorStub
|
|||
}
|
||||
|
||||
|
||||
public static MojoDescriptor createMojoDescriptor( String mojoDescription )
|
||||
public static MojoDescriptor createMojoDescriptor( Plugin plugin )
|
||||
{
|
||||
final PluginDescriptor descriptor = new PluginDescriptor();
|
||||
descriptor.setArtifactId( mojoDescription );
|
||||
descriptor.setGroupId( plugin.getGroupId() );
|
||||
descriptor.setArtifactId( plugin.getArtifactId() );
|
||||
descriptor.setPlugin( plugin );
|
||||
descriptor.setVersion( plugin.getVersion() );
|
||||
final MojoDescriptor mojoDescriptor = new MojoDescriptor();
|
||||
mojoDescriptor.setDescription( mojoDescription );
|
||||
mojoDescriptor.setPluginDescriptor( descriptor );
|
||||
return mojoDescriptor;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue