mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[devkit] No need for "manual" skipping xi:include elements during plugin descriptor indexing
com.intellij.xml.util.InclusionProvider.shouldProcessIncludesNow is responsible for that GitOrigin-RevId: eb6023983d0a01b90d1babdf148bb9b3823f44f3
This commit is contained in:
committed by
intellij-monorepo-bot
parent
7c6d9ab4cf
commit
b5fd0cccff
@@ -27,6 +27,7 @@ import com.intellij.util.xml.DomManager;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.idea.devkit.dom.ExtensionPoint;
|
||||
import org.jetbrains.idea.devkit.dom.ExtensionPoints;
|
||||
import org.jetbrains.idea.devkit.dom.IdeaPlugin;
|
||||
|
||||
import java.util.*;
|
||||
@@ -135,9 +136,8 @@ public final class ExtensionPointIndex extends PluginXmlIndexBase<String, Intege
|
||||
}
|
||||
|
||||
static void indexExtensionPoints(IdeaPlugin plugin, Consumer<? super ExtensionPoint> consumer) {
|
||||
for (DomElement points : getChildrenWithoutIncludes(plugin, "extensionPoints")) {
|
||||
for (DomElement point : getChildrenWithoutIncludes(points, "extensionPoint")) {
|
||||
ExtensionPoint extensionPoint = (ExtensionPoint)point;
|
||||
for (ExtensionPoints extensionPoints : plugin.getExtensionPoints()) {
|
||||
for (ExtensionPoint extensionPoint : extensionPoints.getExtensionPoints()) {
|
||||
consumer.accept(extensionPoint);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,9 +60,7 @@ public final class PluginIdDependenciesIndex extends PluginXmlIndexBase<String,
|
||||
ids.add(PLUGIN_ID_KEY_PREFIX + pluginId);
|
||||
}
|
||||
|
||||
//noinspection unchecked
|
||||
final List<Dependency> dependencies = (List<Dependency>)getChildrenWithoutIncludes(plugin, "depends");
|
||||
for (Dependency dependency : dependencies) {
|
||||
for (Dependency dependency : plugin.getDepends()) {
|
||||
ContainerUtil.addIfNotNull(ids, dependency.getStringValue());
|
||||
|
||||
final String configFile = dependency.getConfigFile().getStringValue();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package org.jetbrains.idea.devkit.dom.index;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -46,8 +46,8 @@ public final class PluginIdModuleIndex extends PluginXmlIndexBase<String, Void>
|
||||
protected Map<String, Void> performIndexing(IdeaPlugin plugin) {
|
||||
List<String> ids = new ArrayList<>();
|
||||
ids.add(StringUtil.notNullize(plugin.getPluginId()));
|
||||
for (DomElement module : getChildrenWithoutIncludes(plugin, "module")) {
|
||||
ContainerUtil.addIfNotNull(ids, ((PluginModule)module).getValue().getStringValue());
|
||||
for (PluginModule module : plugin.getModules()) {
|
||||
ContainerUtil.addIfNotNull(ids, module.getValue().getStringValue());
|
||||
}
|
||||
return ContainerUtil.newHashMap(ids, Collections.nCopies(ids.size(), null));
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package org.jetbrains.idea.devkit.dom.index;
|
||||
|
||||
import com.intellij.ide.highlighter.XmlFileType;
|
||||
@@ -6,25 +6,19 @@ import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.xml.XmlFile;
|
||||
import com.intellij.util.indexing.*;
|
||||
import com.intellij.util.text.CharArrayUtil;
|
||||
import com.intellij.util.xml.DomElement;
|
||||
import com.intellij.util.xml.impl.AbstractCollectionChildDescription;
|
||||
import com.intellij.util.xml.impl.DomInvocationHandler;
|
||||
import com.intellij.util.xml.impl.DomManagerImpl;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.idea.devkit.dom.IdeaPlugin;
|
||||
import org.jetbrains.idea.devkit.util.DescriptorUtil;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@ApiStatus.Internal
|
||||
public abstract class PluginXmlIndexBase<K, V> extends FileBasedIndexExtension<K, V> {
|
||||
|
||||
protected static final int BASE_INDEX_VERSION = 10;
|
||||
protected static final int BASE_INDEX_VERSION = 11;
|
||||
|
||||
protected abstract Map<K, V> performIndexing(IdeaPlugin plugin);
|
||||
|
||||
@@ -51,15 +45,6 @@ public abstract class PluginXmlIndexBase<K, V> extends FileBasedIndexExtension<K
|
||||
};
|
||||
}
|
||||
|
||||
// skip any xi:include
|
||||
protected static List<? extends DomElement> getChildrenWithoutIncludes(DomElement parent, @NonNls String tagName) {
|
||||
AbstractCollectionChildDescription collectionChildDescription =
|
||||
(AbstractCollectionChildDescription)parent.getGenericInfo().getCollectionChildDescription(tagName);
|
||||
DomInvocationHandler handler = DomManagerImpl.getDomInvocationHandler(parent);
|
||||
assert handler != null : parent;
|
||||
return handler.getCollectionChildren(collectionChildDescription, false);
|
||||
}
|
||||
|
||||
private static @Nullable IdeaPlugin obtainIdeaPlugin(@NotNull FileContent content) {
|
||||
if (!looksLikeIdeaPluginXml(content)) return null;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user