mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 06:50:54 +07:00
[maven] IDEA-359629 resolve plugins in projects with packaging "bundle"
(cherry picked from commit b87ec212d34e5692b633906ca64c28019c1d59df) IJ-CR-146858 GitOrigin-RevId: c62e999305f5d6b03e9e60c9452a1826abcabd69
This commit is contained in:
committed by
intellij-monorepo-bot
parent
0980804342
commit
a842928a94
@@ -31,9 +31,6 @@ public class Maven3ModelConverter {
|
||||
return convertModel(model,
|
||||
asSourcesList(build.getSourceDirectory()),
|
||||
asSourcesList(build.getTestSourceDirectory()),
|
||||
Collections.emptyList(),
|
||||
Collections.emptyList(),
|
||||
Collections.emptyList(),
|
||||
localRepository);
|
||||
}
|
||||
|
||||
@@ -45,9 +42,6 @@ public class Maven3ModelConverter {
|
||||
public static MavenModel convertModel(Model model,
|
||||
List<String> sources,
|
||||
List<String> testSources,
|
||||
Collection<? extends Artifact> dependencies,
|
||||
Collection<? extends DependencyNode> dependencyTree,
|
||||
Collection<? extends Artifact> extensions,
|
||||
File localRepository) {
|
||||
MavenModel result = new MavenModel();
|
||||
result.setMavenId(new MavenId(model.getGroupId(), model.getArtifactId(), model.getVersion()));
|
||||
@@ -60,12 +54,12 @@ public class Maven3ModelConverter {
|
||||
result.setPackaging(model.getPackaging());
|
||||
result.setName(model.getName());
|
||||
result.setProperties(model.getProperties() == null ? new Properties() : model.getProperties());
|
||||
result.setPlugins(convertPlugins(model));
|
||||
result.setPlugins(convertPlugins(model, Collections.emptyList()));
|
||||
|
||||
Map<Artifact, MavenArtifact> convertedArtifacts = new HashMap<Artifact, MavenArtifact>();
|
||||
result.setExtensions(convertArtifacts(extensions, convertedArtifacts, localRepository));
|
||||
result.setDependencies(convertArtifacts(dependencies, convertedArtifacts, localRepository));
|
||||
result.setDependencyTree(convertDependencyNodes(null, dependencyTree, convertedArtifacts, localRepository));
|
||||
result.setExtensions(convertArtifacts(Collections.emptyList(), convertedArtifacts, localRepository));
|
||||
result.setDependencies(convertArtifacts(Collections.emptyList(), convertedArtifacts, localRepository));
|
||||
result.setDependencyTree(convertDependencyNodes(null, Collections.emptyList(), convertedArtifacts, localRepository));
|
||||
|
||||
result.setRemoteRepositories(convertRepositories(model.getRepositories()));
|
||||
result.setRemotePluginRepositories(convertRepositories(model.getPluginRepositories()));
|
||||
@@ -247,7 +241,7 @@ public class Maven3ModelConverter {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<MavenPlugin> convertPlugins(Model mavenModel) {
|
||||
protected static List<MavenPlugin> convertPlugins(Model mavenModel, Collection<? extends Artifact> pluginArtifacts) {
|
||||
List<MavenPlugin> result = new ArrayList<MavenPlugin>();
|
||||
Build build = mavenModel.getBuild();
|
||||
|
||||
@@ -255,7 +249,7 @@ public class Maven3ModelConverter {
|
||||
List<Plugin> plugins = build.getPlugins();
|
||||
if (plugins != null) {
|
||||
for (Plugin each : plugins) {
|
||||
result.add(convertPlugin(false, each));
|
||||
result.add(convertPlugin(false, each, pluginArtifacts));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -263,7 +257,7 @@ public class Maven3ModelConverter {
|
||||
return result;
|
||||
}
|
||||
|
||||
private static MavenPlugin convertPlugin(boolean isDefault, Plugin plugin) {
|
||||
private static MavenPlugin convertPlugin(boolean isDefault, Plugin plugin, Collection<? extends Artifact> pluginArtifacts) {
|
||||
List<MavenPlugin.Execution> executions = new ArrayList<MavenPlugin.Execution>(plugin.getExecutions().size());
|
||||
for (PluginExecution each : plugin.getExecutions()) {
|
||||
executions.add(convertExecution(each));
|
||||
@@ -274,15 +268,28 @@ public class Maven3ModelConverter {
|
||||
deps.add(new MavenId(each.getGroupId(), each.getArtifactId(), each.getVersion()));
|
||||
}
|
||||
|
||||
String pluginVersion = getPluginVersion(plugin, pluginArtifacts);
|
||||
return new MavenPlugin(plugin.getGroupId(),
|
||||
plugin.getArtifactId(),
|
||||
plugin.getVersion(),
|
||||
pluginVersion,
|
||||
isDefault,
|
||||
"true".equals(plugin.getExtensions()),
|
||||
convertConfiguration(plugin.getConfiguration()),
|
||||
executions, deps);
|
||||
}
|
||||
|
||||
private static String getPluginVersion(Plugin plugin, Collection<? extends Artifact> pluginArtifacts) {
|
||||
String pluginVersion = plugin.getVersion();
|
||||
if (null != pluginVersion) return pluginVersion;
|
||||
if (null == plugin.getGroupId() || null == plugin.getArtifactId()) return null;
|
||||
for (Artifact each : pluginArtifacts) {
|
||||
if (plugin.getGroupId().equals(each.getGroupId()) && plugin.getArtifactId().equals(each.getArtifactId())) {
|
||||
return each.getVersion();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static MavenPlugin.Execution convertExecution(PluginExecution execution) {
|
||||
return new MavenPlugin.Execution(execution.getId(), execution.getPhase(), execution.getGoals(), convertConfiguration(execution.getConfiguration()));
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ public final class Maven3AetherModelConverter extends Maven3ModelConverter {
|
||||
List<String> testSources,
|
||||
Collection<? extends Artifact> dependencies,
|
||||
Collection<? extends DependencyNode> dependencyTree,
|
||||
Collection<? extends Artifact> pluginArtifacts,
|
||||
Collection<? extends Artifact> extensions,
|
||||
File localRepository) throws RemoteException {
|
||||
MavenModel result = new MavenModel();
|
||||
@@ -42,7 +43,7 @@ public final class Maven3AetherModelConverter extends Maven3ModelConverter {
|
||||
result.setPackaging(model.getPackaging());
|
||||
result.setName(model.getName());
|
||||
result.setProperties(model.getProperties() == null ? new Properties() : model.getProperties());
|
||||
result.setPlugins(convertPlugins(model));
|
||||
result.setPlugins(convertPlugins(model, pluginArtifacts));
|
||||
|
||||
Map<Artifact, MavenArtifact> convertedArtifacts = new HashMap<Artifact, MavenArtifact>();
|
||||
result.setExtensions(convertArtifacts(extensions, convertedArtifacts, localRepository));
|
||||
|
||||
@@ -328,8 +328,14 @@ public class Maven3XProjectResolver {
|
||||
List<DependencyNode> dependencyNodes =
|
||||
dependencyGraph != null ? dependencyGraph.getChildren() : Collections.emptyList();
|
||||
model = Maven3AetherModelConverter.convertModelWithAetherDependencyTree(
|
||||
mavenProject.getModel(), mavenProject.getCompileSourceRoots(), mavenProject.getTestCompileSourceRoots(),
|
||||
mavenProject.getArtifacts(), dependencyNodes, mavenProject.getExtensionArtifacts(), myEmbedder.getLocalRepositoryFile());
|
||||
mavenProject.getModel(),
|
||||
mavenProject.getCompileSourceRoots(),
|
||||
mavenProject.getTestCompileSourceRoots(),
|
||||
mavenProject.getArtifacts(),
|
||||
dependencyNodes,
|
||||
mavenProject.getPluginArtifacts(),
|
||||
mavenProject.getExtensionArtifacts(),
|
||||
myEmbedder.getLocalRepositoryFile());
|
||||
}
|
||||
catch (Exception e) {
|
||||
problems.addAll(myEmbedder.collectProblems(mavenProject.getFile(), Collections.singleton(e), modelProblems));
|
||||
|
||||
@@ -39,7 +39,7 @@ public final class Maven40AetherModelConverter extends Maven40ModelConverter {
|
||||
result.setName(mavenProject.getName());
|
||||
result.setProperties(mavenProject.getProperties() == null ? new Properties() : mavenProject.getProperties());
|
||||
//noinspection SSBasedInspection
|
||||
result.setPlugins(convertPlugins(mavenProject.getModel()));
|
||||
result.setPlugins(convertPlugins(mavenProject.getModel(), mavenProject.getPluginArtifacts()));
|
||||
|
||||
Map<Artifact, MavenArtifact> convertedArtifacts = new HashMap<>();
|
||||
result.setExtensions(convertArtifacts(mavenProject.getExtensionArtifacts(), convertedArtifacts, localRepository));
|
||||
|
||||
@@ -46,7 +46,7 @@ public class Maven40ModelConverter {
|
||||
result.setPackaging(model.getPackaging());
|
||||
result.setName(model.getName());
|
||||
result.setProperties(model.getProperties() == null ? new Properties() : model.getProperties());
|
||||
result.setPlugins(convertPlugins(model));
|
||||
result.setPlugins(convertPlugins(model, Collections.emptyList()));
|
||||
|
||||
result.setRemoteRepositories(convertRepositories(model.getRepositories()));
|
||||
result.setRemotePluginRepositories(convertRepositories(model.getPluginRepositories()));
|
||||
@@ -57,7 +57,7 @@ public class Maven40ModelConverter {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<MavenPlugin> convertPlugins(Model mavenModel) {
|
||||
protected static List<MavenPlugin> convertPlugins(Model mavenModel, Collection<? extends Artifact> pluginArtifacts) {
|
||||
List<MavenPlugin> result = new ArrayList<>();
|
||||
Build build = mavenModel.getBuild();
|
||||
|
||||
@@ -65,7 +65,7 @@ public class Maven40ModelConverter {
|
||||
List<Plugin> plugins = build.getPlugins();
|
||||
if (plugins != null) {
|
||||
for (Plugin each : plugins) {
|
||||
result.add(convertPlugin(each));
|
||||
result.add(convertPlugin(each, pluginArtifacts));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -73,7 +73,7 @@ public class Maven40ModelConverter {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static MavenPlugin convertPlugin(Plugin plugin) {
|
||||
private static MavenPlugin convertPlugin(Plugin plugin, Collection<? extends Artifact> pluginArtifacts) {
|
||||
List<MavenPlugin.Execution> executions = new ArrayList<>(plugin.getExecutions().size());
|
||||
for (PluginExecution each : plugin.getExecutions()) {
|
||||
executions.add(convertExecution(each));
|
||||
@@ -84,15 +84,28 @@ public class Maven40ModelConverter {
|
||||
deps.add(new MavenId(each.getGroupId(), each.getArtifactId(), each.getVersion()));
|
||||
}
|
||||
|
||||
String pluginVersion = getPluginVersion(plugin, pluginArtifacts);
|
||||
return new MavenPlugin(plugin.getGroupId(),
|
||||
plugin.getArtifactId(),
|
||||
plugin.getVersion(),
|
||||
pluginVersion,
|
||||
false,
|
||||
"true".equals(plugin.getExtensions()),
|
||||
convertConfiguration(plugin.getConfiguration()),
|
||||
executions, deps);
|
||||
}
|
||||
|
||||
private static String getPluginVersion(Plugin plugin, Collection<? extends Artifact> pluginArtifacts) {
|
||||
String pluginVersion = plugin.getVersion();
|
||||
if (null != pluginVersion) return pluginVersion;
|
||||
if (null == plugin.getGroupId() || null == plugin.getArtifactId()) return null;
|
||||
for (Artifact each : pluginArtifacts) {
|
||||
if (plugin.getGroupId().equals(each.getGroupId()) && plugin.getArtifactId().equals(each.getArtifactId())) {
|
||||
return each.getVersion();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static MavenPlugin.Execution convertExecution(PluginExecution execution) {
|
||||
return new MavenPlugin.Execution(execution.getId(), execution.getPhase(), execution.getGoals(),
|
||||
convertConfiguration(execution.getConfiguration()));
|
||||
|
||||
Reference in New Issue
Block a user