images module as implementation-detail plugin

GitOrigin-RevId: e5f6b4687c72d7697354bb635d40cb0eb0ce65e9
This commit is contained in:
Vladimir Krivosheev
2020-02-18 07:32:43 +00:00
committed by intellij-monorepo-bot
parent 3f57f4d016
commit 5f21c9013f
12 changed files with 38 additions and 27 deletions
@@ -1,8 +1,9 @@
<idea-plugin>
<idea-plugin implementation-detail="true">
<vendor>JetBrains</vendor>
<id>com.intellij.platform.images</id>
<extensionPoints>
<extensionPoint name="images.themeFilter" interface="org.intellij.images.thumbnail.actions.ThemeFilter"/>
<extensionPoint qualifiedName="com.intellij.images.themeFilter" interface="org.intellij.images.thumbnail.actions.ThemeFilter"/>
</extensionPoints>
<extensions defaultExtensionNs="com.intellij">
@@ -37,6 +37,7 @@
<orderEntry type="library" name="jb-jdi" level="project" />
<orderEntry type="library" name="StreamEx" level="project" />
<orderEntry type="module" module-name="intellij.platform.statistics" />
<orderEntry type="module" module-name="intellij.platform.images" />
</component>
<component name="copyright">
<Base>
@@ -32,9 +32,6 @@
<xi:include href="/META-INF/RegExpPlugin.xml" xpointer="xpointer(/idea-plugin/*)">
<xi:fallback/>
</xi:include>
<xi:include href="/META-INF/ImagesPlugin.xml" xpointer="xpointer(/idea-plugin/*)">
<xi:fallback/>
</xi:include>
<xi:include href="/META-INF/SpellCheckerPlugin.xml" xpointer="xpointer(/idea-plugin/*)">
<xi:fallback/>
</xi:include>
+3 -1
View File
@@ -16,6 +16,8 @@
<idea-plugin xmlns:xi="http://www.w3.org/2001/XInclude">
<module value="com.intellij.modules.java"/>
<depends>com.intellij.platform.images</depends>
<xi:include href="/idea/JavaActions.xml" xpointer="xpointer(/idea-plugin/*)"/>
<xi:include href="/META-INF/JavaAnalysisPlugin.xml" xpointer="xpointer(/idea-plugin/*)"/>
@@ -1419,7 +1421,7 @@
implementationClass="com.intellij.codeInspection.RedundantStreamOptionalCallInspection"
displayName="Redundant step in Stream or Optional call chain"/>
<localInspection groupPath="Java" language="JAVA" shortName="RedundantRecordConstructor" enabledByDefault="true" level="WARNING"
groupBundle="messages.InspectionsBundle" groupKey="group.names.declaration.redundancy"
groupBundle="messages.InspectionsBundle" groupKey="group.names.declaration.redundancy"
bundle="messages.JavaBundle" key="inspection.redundant.record.constructor.description"
implementationClass="com.intellij.codeInspection.RedundantRecordConstructorInspection"/>
<localInspection groupPath="Java" language="JAVA" shortName="EndlessStream"
@@ -1,4 +1,4 @@
// 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.
// 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 org.jetbrains.intellij.build
import groovy.transform.CompileStatic
@@ -11,6 +11,7 @@ abstract class JetBrainsProductProperties extends ProductProperties {
{
scrambleMainJar = true
productLayout.bundledPluginModules = [
"intellij.platform.images",
"intellij.laf.macos",
"intellij.laf.win10",
]
@@ -1,4 +1,4 @@
// Copyright 2000-2018 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.
// 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 org.jetbrains.intellij.build
import com.intellij.openapi.util.MultiValuesMap
@@ -32,7 +32,7 @@ class ProductModulesLayout {
* from these plugins which need to be included into the plugin distribution for this product. Layouts of the bundled plugins are specified
* in {@link #allNonTrivialPlugins} list.
*/
List<String> bundledPluginModules = []
List<String> bundledPluginModules = ["com.intellij.platform.images"]
/**
* @deprecated use {@link #bundledPluginModules} directly instead
@@ -53,7 +53,7 @@ class ProductModulesLayout {
}
/**
* @see #setPluginModulesToPublish
* @see #setPluginModulesToPublish
*/
List<String> getPluginModulesToPublish() {
return pluginsToPublish.toList()
@@ -105,7 +105,7 @@ class ProductModulesLayout {
* @see #setPluginModulesToPublish
*/
boolean prepareCustomPluginRepositoryForPublishedPlugins = true
/**
* If {@code true} then all plugins that compatible with an IDE will be built. By default these plugins will be placed to "auto-uploading"
* subdirectory and may be automatically uploaded to plugins.jetbrains.com.
@@ -121,7 +121,7 @@ class ProductModulesLayout {
/**
* @deprecated we generate the order file automatically based on the application startup statistics
*
*
* Specifies path to a text file containing list of classes in order they are loaded by the product. Entries in the produces *.jar files
* will be reordered accordingly to reduct IDE startup time. If {@code null} no reordering will be performed.
*/
@@ -1,4 +1,4 @@
// 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.
// 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 org.jetbrains.intellij.build.impl
import com.intellij.openapi.util.MultiValuesMap
@@ -142,7 +142,6 @@ class DistributionJARsBuilder {
withModule("intellij.platform.credentialStore")
withModule("intellij.json")
withModule("intellij.spellchecker")
withModule("intellij.platform.images")
withModule("intellij.platform.statistics")
withModule("intellij.platform.statistics.uploader")
withModule("intellij.platform.statistics.devkit")
@@ -767,12 +766,13 @@ class DistributionJARsBuilder {
* directory name return the old module name to temporary keep layout of plugins unchanged.
*/
static String getActualPluginDirectoryName(PluginLayout plugin, BuildContext context) {
if (!plugin.directoryNameSetExplicitly && plugin.directoryName == BaseLayout.convertModuleNameToFileName(plugin.mainModule)
// do not use old name for intellij.platform. modules
if (!plugin.directoryNameSetExplicitly && !plugin.mainModule.startsWith("intellij.platform.") && plugin.directoryName == BaseLayout.convertModuleNameToFileName(plugin.mainModule)
&& context.getOldModuleName(plugin.mainModule) != null) {
context.getOldModuleName(plugin.mainModule)
}
else {
plugin.directoryName
return plugin.directoryName
}
}
@@ -786,7 +786,7 @@ class DistributionJARsBuilder {
private void buildPlugins(LayoutBuilder layoutBuilder, List<PluginLayout> pluginsToInclude, String targetDirectory) {
addSearchableOptions(layoutBuilder)
def enabledModulesSet = enabledPluginModules
pluginsToInclude.each { plugin ->
(buildContext.options.runBuildStepsInParallel ? pluginsToInclude.parallelStream() : pluginsToInclude.stream()).each { plugin ->
def actualModuleJars = plugin.getActualModules(enabledModulesSet)
checkOutputOfPluginModules(plugin.mainModule, actualModuleJars.values(), plugin.moduleExcludes)
List<Pair<File, String>> generatedResources = plugin.resourceGenerators.collectMany {
@@ -632,8 +632,7 @@ public final class PluginManagerCore {
}
}
@NotNull
private static URL localFileToUrl(@NotNull Path file, IdeaPluginDescriptor descriptor) {
private static @NotNull URL localFileToUrl(@NotNull Path file, @NotNull IdeaPluginDescriptor descriptor) {
try {
// it is important not to have traversal elements in classpath
return new URL("file", "", file.normalize().toUri().getRawPath());
@@ -1692,10 +1691,23 @@ public final class PluginManagerCore {
}
}
private static IdeaPluginDescriptorImpl @NotNull [] getTopologicallySorted(@NotNull CachingSemiGraph<IdeaPluginDescriptorImpl> graph) {
private static @NotNull IdeaPluginDescriptorImpl @NotNull [] getTopologicallySorted(@NotNull CachingSemiGraph<IdeaPluginDescriptorImpl> graph) {
DFSTBuilder<IdeaPluginDescriptorImpl> requiredOnlyGraph = new DFSTBuilder<>(GraphGenerator.generate(graph));
IdeaPluginDescriptorImpl[] sortedRequired = graph.getNodes().toArray(IdeaPluginDescriptorImpl.EMPTY_ARRAY);
Arrays.sort(sortedRequired, requiredOnlyGraph.comparator());
Comparator<IdeaPluginDescriptorImpl> comparator = requiredOnlyGraph.comparator();
// there is circular reference between core and implementation-detail plugin, as not all such plugins extracted from core,
// so, ensure that core plugin is always first (otherwise not possible to register actions - parent group not defined)
Arrays.sort(sortedRequired, (o1, o2) -> {
if (o1.getPluginId() == CORE_ID) {
return -1;
}
else if (o2.getPluginId() == CORE_ID) {
return 1;
}
else {
return comparator.compare(o1, o2);
}
});
return sortedRequired;
}
@@ -1,9 +1,6 @@
<idea-plugin xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:include href="/META-INF/PlatformLangPlugin.xml" xpointer="xpointer(/idea-plugin/*)"/>
<xi:include href="/META-INF/XmlPlugin.xml" xpointer="xpointer(/idea-plugin/*)"/>
<xi:include href="/META-INF/ImagesPlugin.xml" xpointer="xpointer(/idea-plugin/*)">
<xi:fallback/>
</xi:include>
<xi:include href="/META-INF/RegExpPlugin.xml" xpointer="xpointer(/idea-plugin/*)">
<xi:fallback/>
</xi:include>
@@ -1,5 +1,5 @@
-org-jetbrains-python-concurrency-visualiser-
+ com.intellij
-org-jetbrains-python-concurrency-visualiser-
+ -HtmlTools-
+ -PerforceDirectPlugin-
+ -Refactor-X-
@@ -15,6 +15,7 @@
<depends>com.intellij.properties</depends>
<depends>com.intellij.modules.java</depends>
<depends>com.intellij.modules.json</depends>
<depends>com.intellij.platform.images</depends>
<depends config-file="gradle-devkit.xml" optional="true">org.jetbrains.plugins.gradle</depends>
<depends config-file="groovy-devkit.xml" optional="true">org.intellij.groovy</depends>
<depends config-file="uidesigner-devkit.xml" optional="true">com.intellij.uiDesigner</depends>
-1
View File
@@ -9,7 +9,6 @@
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="intellij.platform.resources" />
<orderEntry type="module" module-name="intellij.regexp" exported="" scope="RUNTIME" />
<orderEntry type="module" module-name="intellij.platform.images" exported="" />
<orderEntry type="module" module-name="intellij.idea.community.resources" exported="" />
<orderEntry type="module" module-name="intellij.platform.util" />
<orderEntry type="module" module-name="intellij.platform.resources.en" />