diff --git a/java/idea-ui/src/com/intellij/internal/DumpIndexStarter.kt b/java/idea-ui/src/com/intellij/internal/DumpIndexStarter.kt index f7319083de13..69aadf6246dd 100644 --- a/java/idea-ui/src/com/intellij/internal/DumpIndexStarter.kt +++ b/java/idea-ui/src/com/intellij/internal/DumpIndexStarter.kt @@ -19,6 +19,7 @@ import com.intellij.openapi.roots.OrderRootType import com.intellij.openapi.roots.ProjectRootManager import com.intellij.openapi.util.io.FileUtil import com.intellij.openapi.util.text.StringUtil +import com.intellij.util.indexing.hash.DumpIndexAction import com.intellij.util.io.* import com.intellij.util.lang.JavaVersion import java.io.File diff --git a/java/java-tests/testSrc/com/intellij/util/indexing/SharedIndexesTest.kt b/java/java-tests/testSrc/com/intellij/util/indexing/SharedIndexesTest.kt index b34b34588e79..4f791018f884 100644 --- a/java/java-tests/testSrc/com/intellij/util/indexing/SharedIndexesTest.kt +++ b/java/java-tests/testSrc/com/intellij/util/indexing/SharedIndexesTest.kt @@ -1,7 +1,7 @@ // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.util.indexing -import com.intellij.internal.DumpIndexAction +import com.intellij.util.indexing.hash.DumpIndexAction import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.application.PathManager import com.intellij.openapi.progress.EmptyProgressIndicator diff --git a/java/java-impl/src/com/intellij/internal/DumpIndexAction.java b/platform/lang-impl/src/com/intellij/util/indexing/hash/DumpIndexAction.java similarity index 82% rename from java/java-impl/src/com/intellij/internal/DumpIndexAction.java rename to platform/lang-impl/src/com/intellij/util/indexing/hash/DumpIndexAction.java index 9025e66f4044..b8fcf912cc8e 100644 --- a/java/java-impl/src/com/intellij/internal/DumpIndexAction.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/hash/DumpIndexAction.java @@ -1,9 +1,7 @@ -// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package com.intellij.internal; +// Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package com.intellij.util.indexing.hash; -import com.intellij.codeInspection.bytecodeAnalysis.BytecodeAnalysisIndex; import com.intellij.concurrency.JobLauncher; -import com.intellij.find.ngrams.TrigramIndex; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.application.ReadAction; @@ -24,21 +22,11 @@ import com.intellij.openapi.vfs.VfsUtilCore; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFileVisitor; import com.intellij.psi.SingleRootFileViewProvider; -import com.intellij.psi.impl.JavaSimplePropertyIndex; -import com.intellij.psi.impl.cache.impl.id.IdIndex; -import com.intellij.psi.impl.cache.impl.todo.TodoIndex; -import com.intellij.psi.impl.java.JavaBinaryPlusExpressionIndex; -import com.intellij.psi.impl.java.JavaFunctionalExpressionIndex; -import com.intellij.psi.impl.java.stubs.index.JavaAutoModuleNameIndex; -import com.intellij.psi.impl.search.JavaNullMethodArgumentIndex; import com.intellij.psi.stubs.StubUpdatingIndex; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.hash.ContentHashEnumerator; import com.intellij.util.indexing.FileBasedIndexExtension; -import com.intellij.util.indexing.ID; import com.intellij.util.indexing.IndexableSetContributor; -import com.intellij.util.indexing.hash.HashBasedIndexGenerator; -import com.intellij.util.indexing.hash.StubHashBasedIndexGenerator; import com.intellij.util.io.PathKt; import com.intellij.util.io.zip.JBZipEntry; import com.intellij.util.io.zip.JBZipFile; @@ -135,7 +123,11 @@ public class DumpIndexAction extends AnAction { indicator.setText("Indexing chunk " + chunk.getName()); Path chunkRoot = indexRoot.resolve(chunk.getName()); ReadAction.run(() -> { - List> fileBasedGenerators = getExportableIndices(true) + List> fileBasedGenerators = FileBasedIndexExtension + .EXTENSION_POINT_NAME + .extensions() + .filter(ex -> ex.dependsOnFileContent()) + .filter(ex -> !(ex instanceof StubUpdatingIndex)) .map(extension -> getGenerator(chunkRoot, extension)) .collect(Collectors.toList()); @@ -290,60 +282,6 @@ public class DumpIndexAction extends AnAction { stringBuilder.append("\n"); } - @NotNull - private static Stream> getExportableIndices(boolean all) { - if (all) { - return FileBasedIndexExtension - .EXTENSION_POINT_NAME - .extensions() - .filter(ex -> ex.dependsOnFileContent()) - .filter(ex -> !(ex instanceof StubUpdatingIndex)); - } - - //kt - Stream> ktIndices = - FileBasedIndexExtension - .EXTENSION_POINT_NAME - .extensions() - .filter(id -> id.getName().getName().contains("kotlin")); - - Set> xmlIndexIds = ContainerUtil.set(ID.findByName("XmlTagNames"), - ID.findByName("XmlNamespaces"), - ID.findByName("SchemaTypeInheritance"), - ID.findByName("DomFileIndex"), - ID.findByName("xmlProperties")); - //xml - Stream> xmlIndices = - FileBasedIndexExtension - .EXTENSION_POINT_NAME - .extensions() - .filter(id -> xmlIndexIds.contains(id.getName())); - - //base - Stream> coreIndices = - FileBasedIndexExtension - .EXTENSION_POINT_NAME - .extensions() - .filter(ex -> ex.getName().equals(TrigramIndex.INDEX_ID) || - ex.getName().equals(TodoIndex.NAME) || - ex.getName().equals(IdIndex.NAME) || - ex.getName().getName().equals("HashFragmentIndex")); - - //java - Stream> javaIndices = - FileBasedIndexExtension - .EXTENSION_POINT_NAME - .extensions() - .filter(ex -> ex instanceof BytecodeAnalysisIndex || - ex instanceof JavaAutoModuleNameIndex || - ex instanceof JavaFunctionalExpressionIndex || - ex instanceof JavaSimplePropertyIndex || - ex instanceof JavaNullMethodArgumentIndex || - ex instanceof JavaBinaryPlusExpressionIndex); - - return Stream.concat(Stream.concat(Stream.concat(coreIndices, javaIndices), xmlIndices), ktIndices); - } - public static final class IndexChunk { private final Set myRoots; private final String myName; diff --git a/platform/platform-resources-en/src/messages/ActionsBundle.properties b/platform/platform-resources-en/src/messages/ActionsBundle.properties index 37510b3acf1c..83456e841ae1 100644 --- a/platform/platform-resources-en/src/messages/ActionsBundle.properties +++ b/platform/platform-resources-en/src/messages/ActionsBundle.properties @@ -2319,7 +2319,8 @@ action.SendEventLogStatistics.text=Send Feature Usage Event Log action.SendEventLogStatistics.description=Sends event log files to qa server group.FeatureUsage.Internal.text=Feature Usages Statistics action.InspectStubIndex.text=Inspect Stub Index -action.DumpIndex.text=Dump Index +group.Internal.SharedIndexes.text=Shared Indexes +action.SharedIndexes.DumpIndex.text=Dump Index action.StaticIconFields.text=List Static Field Initializers action.ExpressionStatistics.text=Collect Java Expression Statistics action.UsedIconsListing.text=List Used Icons diff --git a/platform/platform-resources/src/idea/LangActions.xml b/platform/platform-resources/src/idea/LangActions.xml index 76d6df40cfa9..22ad16447675 100644 --- a/platform/platform-resources/src/idea/LangActions.xml +++ b/platform/platform-resources/src/idea/LangActions.xml @@ -21,6 +21,12 @@ + + + + + + diff --git a/resources/src/idea/JavaActions.xml b/resources/src/idea/JavaActions.xml index e715baecb8d8..212067511492 100644 --- a/resources/src/idea/JavaActions.xml +++ b/resources/src/idea/JavaActions.xml @@ -435,8 +435,6 @@ - -