diff --git a/images/resources/META-INF/plugin.xml b/images/resources/META-INF/plugin.xml
index 7801b010ae64..820bfedfdd0d 100644
--- a/images/resources/META-INF/plugin.xml
+++ b/images/resources/META-INF/plugin.xml
@@ -43,7 +43,6 @@
-
diff --git a/images/resources/org/intellij/images/icons/expui/icon-robots.txt b/images/resources/org/intellij/images/icons/expui/icon-robots.txt
index f21601437b7f..53c8664db3f1 100644
--- a/images/resources/org/intellij/images/icons/expui/icon-robots.txt
+++ b/images/resources/org/intellij/images/icons/expui/icon-robots.txt
@@ -1 +1 @@
-skip: *
\ No newline at end of file
+merge
\ No newline at end of file
diff --git a/images/src/org/intellij/images/ImagesIcons.java b/images/src/org/intellij/images/ImagesIcons.java
index 48ed81e9119f..96496dea27bb 100644
--- a/images/src/org/intellij/images/ImagesIcons.java
+++ b/images/src/org/intellij/images/ImagesIcons.java
@@ -14,8 +14,11 @@ public final class ImagesIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, ImagesIcons.class.getClassLoader(), cacheKey, flags);
}
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, ImagesIcons.class.getClassLoader(), cacheKey, flags);
+ }
/** 75x86 */ public static final @NotNull Icon ThumbnailBlank = load("org/intellij/images/icons/ThumbnailBlank.png", 0, 2);
/** 75x82 */ public static final @NotNull Icon ThumbnailDirectory = load("org/intellij/images/icons/ThumbnailDirectory.png", 0, 0);
/** 13x13 */ public static final @NotNull Icon ThumbnailToolWindow = load("org/intellij/images/icons/ThumbnailToolWindow.svg", 32430216, 2);
- /** 16x16 */ public static final @NotNull Icon ToggleTransparencyChessboard = load("org/intellij/images/icons/ToggleTransparencyChessboard.svg", -1782881253, 2);
+ /** 16x16 */ public static final @NotNull Icon ToggleTransparencyChessboard = load("org/intellij/images/icons/ToggleTransparencyChessboard.svg", "org/intellij/images/icons/expui/chessboard.svg", -1782881253, 2);
}
diff --git a/java/idea-ui/gen/com/intellij/java/ui/icons/JavaUIIcons.java b/java/idea-ui/gen/com/intellij/java/ui/icons/JavaUIIcons.java
index 0370971956d8..b4da18ff9e87 100644
--- a/java/idea-ui/gen/com/intellij/java/ui/icons/JavaUIIcons.java
+++ b/java/idea-ui/gen/com/intellij/java/ui/icons/JavaUIIcons.java
@@ -14,6 +14,9 @@ public final class JavaUIIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, JavaUIIcons.class.getClassLoader(), cacheKey, flags);
}
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, JavaUIIcons.class.getClassLoader(), cacheKey, flags);
+ }
/** 40x40 */ public static final @NotNull Icon IdeaUltimatePromo = load("icons/idea-ultimate-promo.svg", 597316087, 0);
- /** 16x16 */ public static final @NotNull Icon SpringPromo = load("icons/spring-promo.svg", -1690195316, 0);
+ /** 16x16 */ public static final @NotNull Icon SpringPromo = load("icons/spring-promo.svg", "icons/newui/spring-promo.svg", -1690195316, 0);
}
diff --git a/java/idea-ui/resources/icons/newui/icon-robots.txt b/java/idea-ui/resources/icons/newui/icon-robots.txt
index f21601437b7f..53c8664db3f1 100644
--- a/java/idea-ui/resources/icons/newui/icon-robots.txt
+++ b/java/idea-ui/resources/icons/newui/icon-robots.txt
@@ -1 +1 @@
-skip: *
\ No newline at end of file
+merge
\ No newline at end of file
diff --git a/java/java-impl/src/META-INF/JavaPlugin.xml b/java/java-impl/src/META-INF/JavaPlugin.xml
index 00422c580196..7e07e6a29ce4 100644
--- a/java/java-impl/src/META-INF/JavaPlugin.xml
+++ b/java/java-impl/src/META-INF/JavaPlugin.xml
@@ -2794,7 +2794,6 @@
-
diff --git a/java/openapi/resources/icons/expui/icon-robots.txt b/java/openapi/resources/icons/expui/icon-robots.txt
index f21601437b7f..53c8664db3f1 100644
--- a/java/openapi/resources/icons/expui/icon-robots.txt
+++ b/java/openapi/resources/icons/expui/icon-robots.txt
@@ -1 +1 @@
-skip: *
\ No newline at end of file
+merge
\ No newline at end of file
diff --git a/java/openapi/src/icons/OpenapiIcons.java b/java/openapi/src/icons/OpenapiIcons.java
index d0e1c286ad85..7b2d1c895ae5 100644
--- a/java/openapi/src/icons/OpenapiIcons.java
+++ b/java/openapi/src/icons/OpenapiIcons.java
@@ -11,11 +11,11 @@ import javax.swing.*;
* DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead
*/
public final class OpenapiIcons {
- private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
- return IconManager.getInstance().loadRasterizedIcon(path, OpenapiIcons.class.getClassLoader(), cacheKey, flags);
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, OpenapiIcons.class.getClassLoader(), cacheKey, flags);
}
- /** 16x16 */ public static final @NotNull Icon MavenBind = load("icons/mavenBind.svg", 788091473, 0);
- /** 16x16 */ public static final @NotNull Icon MavenBindChecksum = load("icons/mavenBindChecksum.svg", -1392642240, 0);
- /** 16x16 */ public static final @NotNull Icon MavenChecksum = load("icons/mavenChecksum.svg", 1918529723, 0);
- /** 16x16 */ public static final @NotNull Icon RepositoryLibraryLogo = load("icons/repositoryLibraryLogo.svg", -1087643985, 0);
+ /** 16x16 */ public static final @NotNull Icon MavenBind = load("icons/mavenBind.svg", "icons/expui/mavenBind.svg", 788091473, 0);
+ /** 16x16 */ public static final @NotNull Icon MavenBindChecksum = load("icons/mavenBindChecksum.svg", "icons/expui/mavenBindChecksum.svg", -1392642240, 0);
+ /** 16x16 */ public static final @NotNull Icon MavenChecksum = load("icons/mavenChecksum.svg", "icons/expui/mavenChecksum.svg", 1918529723, 0);
+ /** 16x16 */ public static final @NotNull Icon RepositoryLibraryLogo = load("icons/repositoryLibraryLogo.svg", "icons/expui/maven.svg", -1087643985, 0);
}
diff --git a/java/plugin/resources/META-INF/plugin.xml b/java/plugin/resources/META-INF/plugin.xml
index f0c10587b229..a4d7e4cd9c34 100644
--- a/java/plugin/resources/META-INF/plugin.xml
+++ b/java/plugin/resources/META-INF/plugin.xml
@@ -45,6 +45,5 @@
-
\ No newline at end of file
diff --git a/jupyter/gen/com/intellij/jupyter/core/icons/JupyterCoreIcons.java b/jupyter/gen/com/intellij/jupyter/core/icons/JupyterCoreIcons.java
index 72a9c375e5df..6ea8a535d7b9 100644
--- a/jupyter/gen/com/intellij/jupyter/core/icons/JupyterCoreIcons.java
+++ b/jupyter/gen/com/intellij/jupyter/core/icons/JupyterCoreIcons.java
@@ -10,9 +10,9 @@ import javax.swing.*;
* DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead
*/
public final class JupyterCoreIcons {
- private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
- return IconManager.getInstance().loadRasterizedIcon(path, JupyterCoreIcons.class.getClassLoader(), cacheKey, flags);
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, JupyterCoreIcons.class.getClassLoader(), cacheKey, flags);
}
- /** 16x16 */ public static final @NotNull Icon JupyterNotebook = load("icons/org.jetbrains.plugins.notebooks.jupyter/jupyterNotebook.svg", 1303434450, 0);
- /** 16x16 */ public static final @NotNull Icon ResultIncorrect = load("icons/org.jetbrains.plugins.notebooks.jupyter/resultIncorrect.svg", 1020334393, 2);
+ /** 16x16 */ public static final @NotNull Icon JupyterNotebook = load("icons/org.jetbrains.plugins.notebooks.jupyter/jupyterNotebook.svg", "icons/org.jetbrains.plugins.notebooks.jupyter/expui/jupyterNotebook.svg", 1303434450, 0);
+ /** 16x16 */ public static final @NotNull Icon ResultIncorrect = load("icons/org.jetbrains.plugins.notebooks.jupyter/resultIncorrect.svg", "icons/org.jetbrains.plugins.notebooks.jupyter/expui/resultIncorrect.svg", 1020334393, 2);
}
diff --git a/jupyter/resources/META-INF/jupyter-core.xml b/jupyter/resources/META-INF/jupyter-core.xml
index f4e330fb925b..0f1875b1064d 100644
--- a/jupyter/resources/META-INF/jupyter-core.xml
+++ b/jupyter/resources/META-INF/jupyter-core.xml
@@ -6,6 +6,5 @@
extensions="ipynb"
implementationClass="com.intellij.jupyter.core.jupyter.JupyterFileType"
fieldName="INSTANCE"/>
-
diff --git a/jupyter/resources/icons/org.jetbrains.plugins.notebooks.jupyter/expui/icon-robots.txt b/jupyter/resources/icons/org.jetbrains.plugins.notebooks.jupyter/expui/icon-robots.txt
index f21601437b7f..53c8664db3f1 100644
--- a/jupyter/resources/icons/org.jetbrains.plugins.notebooks.jupyter/expui/icon-robots.txt
+++ b/jupyter/resources/icons/org.jetbrains.plugins.notebooks.jupyter/expui/icon-robots.txt
@@ -1 +1 @@
-skip: *
\ No newline at end of file
+merge
\ No newline at end of file
diff --git a/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/IconsClassGenerator.kt b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/IconsClassGenerator.kt
index 2c887c1e68d0..eef1141adc59 100644
--- a/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/IconsClassGenerator.kt
+++ b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/IconsClassGenerator.kt
@@ -12,7 +12,6 @@ import com.intellij.util.io.directoryStreamIfExists
import com.intellij.util.xml.dom.readXmlAsModel
import it.unimi.dsi.fastutil.ints.IntOpenHashSet
import org.jetbrains.intellij.build.images.sync.dotnet.DotnetIconClasses
-import org.jetbrains.jps.model.JpsSimpleElement
import org.jetbrains.jps.model.java.JavaResourceRootType
import org.jetbrains.jps.model.java.JavaSourceRootProperties
import org.jetbrains.jps.model.java.JavaSourceRootType
@@ -30,7 +29,6 @@ import java.util.concurrent.CopyOnWriteArrayList
import java.util.concurrent.atomic.AtomicInteger
import javax.xml.stream.XMLStreamException
import kotlin.io.path.exists
-import kotlin.io.path.invariantSeparatorsPathString
@JvmRecord
internal data class ModifiedClass(
@@ -45,6 +43,7 @@ internal data class IconClassInfo(
@JvmField val className: String,
@JvmField val outFile: Path,
@JvmField val images: Collection,
+ @JvmField val mappings: Map? = null,
@JvmField val isInternal: Boolean = false,
)
@@ -106,17 +105,8 @@ internal open class IconsClassGenerator(
val images = imageCollector.collect(module = module, includePhantom = true)
imageCollector.printUsedIconRobots()
- val (expUi, others) = images.partition { it.id.startsWith("/expui/") }
- return listOf(
- IconClassInfo(packageName = packageName, className = className, outFile = outFile, images = others),
- IconClassInfo(
- packageName = packageName,
- className = "ExpUiIcons",
- outFile = dir.resolve("ExpUiIcons.java"),
- images = expUi.map { it.trimPrefix("/expui") },
- isInternal = true,
- ),
- )
+ val (allImages, mappings) = imageCollector.mergeImages(images, module)
+ return listOf(IconClassInfo(packageName = packageName, className = className, outFile = outFile, images = allImages, mappings = mappings))
}
"intellij.android.artwork" -> {
val packageName = "icons"
@@ -171,7 +161,8 @@ internal open class IconsClassGenerator(
?: existingIconsClass?.className
?: "${directoryName(module).removeSuffix("Icons")}Icons"
val outFile = targetRoot.resolve("$className.java")
- val info = IconClassInfo(packageName = packageName, className = className, outFile = outFile, images = images, isInternal = className.contains("Impl"))
+ val (allImages, mappings) = imageCollector.mergeImages(images, module)
+ val info = IconClassInfo(packageName = packageName, className = className, outFile = outFile, images = allImages, mappings = mappings, isInternal = className.contains("Impl"))
return transformIconClassInfo(info, module)
}
}
@@ -344,9 +335,18 @@ internal open class IconsClassGenerator(
result.append(" final")
}
result.append(" class ").append(info.className).append(" {\n")
- append(result, "private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {", 1)
- append(result, "return $ICON_MANAGER_CODE.loadRasterizedIcon(path, ${info.className}.class.getClassLoader(), cacheKey, flags);", 2)
- append(result, "}", 1)
+
+ if (info.mappings.isNullOrEmpty() || info.images.find { !info.mappings.containsKey(it.sourceCodeParameterName) } != null) {
+ append(result, "private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {", 1)
+ append(result, "return $ICON_MANAGER_CODE.loadRasterizedIcon(path, ${info.className}.class.getClassLoader(), cacheKey, flags);", 2)
+ append(result, "}", 1)
+ }
+
+ if (!info.mappings.isNullOrEmpty() && info.images.find { info.mappings.containsKey(it.sourceCodeParameterName) } != null) {
+ append(result, "private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {", 1)
+ append(result, "return $ICON_MANAGER_CODE.loadRasterizedIcon(path, expUIPath, ${info.className}.class.getClassLoader(), cacheKey, flags);", 2)
+ append(result, "}", 1)
+ }
val customExternalLoad = images.any { it.deprecation?.replacementContextClazz != null }
if (customExternalLoad) {
@@ -357,7 +357,7 @@ internal open class IconsClassGenerator(
}
val inners = StringBuilder()
- processIcons(images, inners, depth = 0)
+ processIcons(images, info.mappings, inners, depth = 0)
if (inners.isEmpty()) {
return null
}
@@ -367,7 +367,7 @@ internal open class IconsClassGenerator(
return result
}
- private fun processIcons(images: Collection, result: StringBuilder, depth: Int) {
+ private fun processIcons(images: Collection, mappings: Map?, result: StringBuilder, depth: Int) {
val level = depth + 1
val nodeMap = HashMap>(images.size / 2)
@@ -402,7 +402,7 @@ internal open class IconsClassGenerator(
val oldLength = result.length
val className = className(key)
if (isInlineClass(className)) {
- processIcons(group, result, depth + 1)
+ processIcons(group, mappings, result, depth + 1)
}
else {
// if first in block, do not add yet another extra newline
@@ -411,7 +411,7 @@ internal open class IconsClassGenerator(
}
append(result, "public static final class $className {", level)
val lengthBeforeBody = result.length
- processIcons(group, result, depth + 1)
+ processIcons(group, mappings, result, depth + 1)
if (lengthBeforeBody == result.length) {
result.setLength(oldLength)
}
@@ -428,7 +428,7 @@ internal open class IconsClassGenerator(
innerClassWasBefore = false
result.append('\n')
}
- appendImage(image, result, level, hasher)
+ appendImage(image, mappings, result, level, hasher)
}
}
}
@@ -436,7 +436,7 @@ internal open class IconsClassGenerator(
protected open fun isInlineClass(name: CharSequence): Boolean =
DotnetIconClasses.isInlineClass(name)
- private fun appendImage(image: ImageInfo, result: StringBuilder, level: Int, hasher: IconHasher) {
+ private fun appendImage(image: ImageInfo, mappings: Map?, result: StringBuilder, level: Int, hasher: IconHasher) {
val file = image.basicFile ?: return
if (!image.phantom && !isIcon(file)) {
return
@@ -465,16 +465,6 @@ internal open class IconsClassGenerator(
append(result, "@ScheduledForRemoval", level)
}
- val sourceRoot = image.sourceRoot
- var rootPrefix = "/"
- if (sourceRoot.rootType == JavaSourceRootType.SOURCE) {
- @Suppress("UNCHECKED_CAST")
- val packagePrefix = (sourceRoot.properties as JpsSimpleElement).data.packagePrefix
- if (packagePrefix.isNotEmpty()) {
- rootPrefix += packagePrefix.replace('.', '/') + "/"
- }
- }
-
// backward compatibility - use a streaming camel case for StudioIcons
val iconName = generateIconFieldName(file)
val deprecation = image.deprecation
@@ -489,7 +479,7 @@ internal open class IconsClassGenerator(
return
}
- val rootDir = Path.of(JpsPathUtil.urlToPath(sourceRoot.url))
+ val rootDir = Path.of(JpsPathUtil.urlToPath(image.sourceRoot.url))
val imageFile: Path
if (deprecation?.replacement == null) {
imageFile = file
@@ -526,10 +516,9 @@ internal open class IconsClassGenerator(
key = 0
}
- val relativePath = rootPrefix + rootDir.relativize(imageFile).invariantSeparatorsPathString
- assert(relativePath.startsWith("/"))
+ val imagePathCodeParameter = image.sourceCodeParameterName
append(result, "${javaDoc}public static final @NotNull Icon $iconName = " +
- "load(\"${relativePath.removePrefix("/")}\", $key, ${image.getFlags()});", level)
+ "load(\"$imagePathCodeParameter\", ${appendExpUIPath(imagePathCodeParameter, mappings)}$key, ${image.getFlags()});", level)
val oldName = deprecatedIconFieldNameMap[iconName]
if (oldName != null) {
@@ -537,6 +526,19 @@ internal open class IconsClassGenerator(
}
}
+ private fun appendExpUIPath(imagePathCodeParameter: String, mappings: Map?): String {
+ if (mappings != null) {
+ val expUIPath = mappings[imagePathCodeParameter]
+ if (expUIPath != null) {
+ if (expUIPath.endsWith("/$imagePathCodeParameter")) {
+ return "\"${expUIPath.substring(0, expUIPath.length - imagePathCodeParameter.length)}\", "
+ }
+ return "\"$expUIPath\", "
+ }
+ }
+ return ""
+ }
+
private fun append(result: StringBuilder, text: String, level: Int) {
if (text.isNotBlank()) {
repeat(level) {
@@ -749,7 +751,7 @@ private class IconHasher(expectedSize: Int) {
// so, add filename to image id to support such a scenario
fun hash(data: ByteArray, fileName: String): Int {
val hash = hashStream.reset().putByteArray(data).putString(fileName).asInt
- check(uniqueGuard.add(hash))
+ check(uniqueGuard.add(hash)) { "uniqueGuard check failed: $fileName | $hash" }
return hash
}
}
diff --git a/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/ImageCollector.kt b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/ImageCollector.kt
index 60a95d44341b..8d0abec531e8 100644
--- a/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/ImageCollector.kt
+++ b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/ImageCollector.kt
@@ -1,20 +1,26 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.intellij.build.images
+import com.google.gson.GsonBuilder
+import com.google.gson.JsonObject
import com.intellij.openapi.util.io.FileUtil
import com.intellij.ui.icons.ImageDescriptor
import com.intellij.util.containers.ContainerUtil
+import org.jetbrains.jps.model.JpsSimpleElement
import org.jetbrains.jps.model.java.JavaResourceRootType
+import org.jetbrains.jps.model.java.JavaSourceRootProperties
+import org.jetbrains.jps.model.java.JavaSourceRootType
import org.jetbrains.jps.model.module.JpsModule
import org.jetbrains.jps.model.module.JpsModuleSourceRoot
+import org.jetbrains.jps.util.JpsPathUtil
import java.io.File
import java.nio.file.Files
import java.nio.file.NoSuchFileException
import java.nio.file.Path
import java.nio.file.attribute.BasicFileAttributes
-import java.util.*
import java.util.concurrent.ConcurrentHashMap
import java.util.regex.Pattern
+import kotlin.io.path.invariantSeparatorsPathString
import kotlin.io.path.listDirectoryEntries
internal const val ROBOTS_FILE_NAME = "icon-robots.txt"
@@ -85,6 +91,34 @@ internal class ImageInfo(
val scheduledForRemoval: Boolean by lazy {
flags.deprecation?.comment?.contains("to be removed") == true
}
+
+ val sourceCodeParameterName: String by lazy {
+ var rootPrefix = "/"
+ if (sourceRoot.rootType == JavaSourceRootType.SOURCE) {
+ @Suppress("UNCHECKED_CAST")
+ val packagePrefix = (sourceRoot.properties as JpsSimpleElement).data.packagePrefix
+ if (packagePrefix.isNotEmpty()) {
+ rootPrefix += packagePrefix.replace('.', '/') + "/"
+ }
+ }
+
+ val rootDir = Path.of(JpsPathUtil.urlToPath(sourceRoot.url))
+ val deprecation = this.deprecation
+ val imageFile: Path
+ if (deprecation?.replacement == null) {
+ imageFile = basicFile!!
+ }
+ else {
+ imageFile = rootDir.resolve(deprecation.replacement.removePrefix("/").removePrefix(File.separator))
+ assert(isIcon(imageFile)) {
+ "Invalid deprecation replacement '${deprecation.replacement}': $imageFile is not an icon"
+ }
+ }
+
+ val relativePath = rootPrefix + rootDir.relativize(imageFile).invariantSeparatorsPathString
+ assert(relativePath.startsWith("/"))
+ relativePath.removePrefix("/")
+ }
}
internal data class ImageFlags(@JvmField val used: Boolean, @JvmField val deprecation: DeprecationData?)
@@ -107,7 +141,9 @@ internal class ImageCollector(
// files processed in parallel, so, concurrent data structures must be used
private val icons = ConcurrentHashMap()
private val phantomIcons = ConcurrentHashMap()
+ private val mergeRoots: MutableSet = ContainerUtil.newConcurrentSet()
private val usedIconRobots: MutableSet = ContainerUtil.newConcurrentSet()
+ private var mappingFile: Path? = null
fun collect(module: JpsModule, includePhantom: Boolean = false): Collection {
for (sourceRoot in module.sourceRoots) {
@@ -116,6 +152,7 @@ internal class ImageCollector(
}
val rootDir = sourceRoot.path
+ collectMappingFile(rootDir)
val iconDirectory = moduleConfig?.iconDirectory
if (iconDirectory != null) {
@@ -200,6 +237,10 @@ internal class ImageCollector(
if (Files.isDirectory(file)) {
val childRobotData = robotData.fork(file, rootDir)
val childPrefix = "$prefix/${file.fileName}"
+ if (childRobotData.mergeToRoot) {
+ childRobotData.mergeToRoot = false
+ mergeRoots.add(childPrefix)
+ }
processDirectory(file, rootDir, sourceRoot, childRobotData, childPrefix, level + 1)
if (childRobotData != robotData) {
@@ -242,7 +283,7 @@ internal class ImageCollector(
}
private fun downToRoot(root: Path, file: Path, isDirectory: Boolean, common: Path?, robotData: IconRobotsData, level: Int): Path? {
- if (robotData.isSkipped(file)) {
+ if (robotData.isSkipped(file) || robotData.mergeToRoot) {
return common
}
else if (isDirectory) {
@@ -281,6 +322,100 @@ internal class ImageCollector(
private fun isBlacklistedTopDirectory(name: String): Boolean =
name == "META-INF" || name == "intentionDescriptions" || name == "inspectionDescriptions" || name == "fileTemplates"
+
+ private fun collectMappingFile(rootDir: Path) {
+ if (mappingFile == null) {
+ val mappings = rootDir.listDirectoryEntries("*Mapping*.json")
+ if (mappings.size == 1) {
+ mappings.isNotEmpty()
+ mappingFile = mappings[0]
+ }
+ }
+ }
+
+ fun mergeImages(images: Collection, module: JpsModule): Pair, Map> {
+ val mappings = getMappings()
+
+ if (mappings.isEmpty() && mergeRoots.isNotEmpty()) {
+ println("*** Module: ${module.name} contains rule for merge new icons but icon mapping file not found ***")
+ }
+ else if (mappings.isNotEmpty() && mergeRoots.isEmpty()) {
+ println("*** Module: ${module.name} contains icon mapping file but rule for merge new icons not found ***")
+ }
+
+ if (mergeRoots.isNotEmpty()) {
+ val allImages = ArrayList()
+
+ mainLoop@for (image in images) {
+ val root = mergeRoots.find { image.id.startsWith("$it/") }
+ if (root == null) {
+ allImages.add(image)
+ }
+ else {
+ for (entry in mappings.entries) {
+ if (image.sourceCodeParameterName == entry.value && images.find { it.sourceCodeParameterName == entry.key } != null) {
+ continue@mainLoop
+ }
+ }
+ val equalOldName = image.id.substring(root.length)
+ val equalOldImage = images.find { it.id == equalOldName }
+ if (equalOldImage != null) {
+ mappings[equalOldImage.sourceCodeParameterName] = image.sourceCodeParameterName
+ continue@mainLoop
+ }
+
+ allImages.add(image.trimPrefix(root))
+ }
+ }
+
+ return allImages to mappings
+ }
+ return images to mappings
+ }
+
+ private fun getMappings(): HashMap {
+ val mappings = HashMap()
+ val file = mappingFile
+
+ if (file != null && Files.exists(file)) {
+ val json = GsonBuilder().create().fromJson(Files.readString(file), JsonObject::class.java)
+
+ for (key in json.keySet()) {
+ val element = json.get(key)
+ if (element.isJsonPrimitive) {
+ mappings[element.asString] = key
+ }
+ else if (element.isJsonArray) {
+ for (childElement in element.asJsonArray) {
+ mappings[childElement.asString] = key
+ }
+ }
+ else {
+ parseMappings(element.asJsonObject, mappings, key)
+ }
+ }
+ }
+ return mappings
+ }
+
+ private fun parseMappings(json: JsonObject, mappings: HashMap, path: String) {
+ for (key in json.keySet()) {
+ val subPath = "$path/$key"
+ val element = json.get(key)
+
+ if (element.isJsonObject) {
+ parseMappings(element.asJsonObject, mappings, subPath)
+ }
+ else if (element.isJsonArray) {
+ for (childElement in element.asJsonArray) {
+ mappings[childElement.asString] = subPath
+ }
+ }
+ else {
+ mappings[element.asString] = subPath
+ }
+ }
+ }
}
private data class DeprecatedEntry(val matcher: Pattern, val data: DeprecationData)
@@ -297,6 +432,8 @@ internal class IconRobotsData(
private val skipSync = ArrayList()
private val forceSync = ArrayList()
+ var mergeToRoot = false
+
private val ownDeprecatedIcons = ArrayList()
fun getImageFlags(file: Path): ImageFlags {
@@ -334,6 +471,7 @@ internal class IconRobotsData(
parse(robots,
RobotFileHandler("skip:") { value -> answer.skip.add(compilePattern(dir, root, value)) },
RobotFileHandler("used:") { value -> answer.used.add(compilePattern(dir, root, value)) },
+ RobotFileHandler("merge") { answer.mergeToRoot = true },
RobotFileHandler("deprecated:") { value ->
val comment = value.substringAfter(";", "").trim().takeIf { it.isNotEmpty() }
val valueWithoutComment = value.substringBefore(";")
diff --git a/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/ImageSanityChecker.kt b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/ImageSanityChecker.kt
index 24b2363a33bb..0692449156cf 100644
--- a/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/ImageSanityChecker.kt
+++ b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/ImageSanityChecker.kt
@@ -53,6 +53,12 @@ abstract class ImageSanityCheckerBase(private val projectHome: Path, private val
}
private val excludedFromSizeCheck = setOf(
+ "/cdi/newui/cdi@14x14",
+ "/cdi/newui/event@14x14",
+ "/javaee/newui/jpaFacet@14x14",
+ "/javaee/newui/persistenceId@14x14",
+ "/javaee/newui/persistenceRelationship@14x14",
+ "/newui/renderKit",
"/expui/run/rerun",
"/expui/toolbar/unknown@20x20",
"/expui/welcome/open",
diff --git a/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/sync/dotnet/DotnetIconClasses.kt b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/sync/dotnet/DotnetIconClasses.kt
index 10977ea9ce32..e6d1506c2841 100644
--- a/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/sync/dotnet/DotnetIconClasses.kt
+++ b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/sync/dotnet/DotnetIconClasses.kt
@@ -6,7 +6,7 @@ import org.jetbrains.intellij.build.images.IconClassInfo
internal object DotnetIconClasses {
fun transformIconClassInfo(riderIconClassInfo: IconClassInfo): List =
- splitRiderAndReSharper(riderIconClassInfo).removeExpUi()
+ splitRiderAndReSharper(riderIconClassInfo)
fun isInlineClass(name: CharSequence): Boolean =
// inline redundant classes ReSharperIcons.Resharper and RiderIcons.Rider
@@ -23,8 +23,4 @@ internal object DotnetIconClasses {
className = className,
outFile = info.outFile.parent.resolve("${className}.java"),
images = info.images.filter { it.id.startsWith(imageIdPrefix) })
-
- private fun Iterable.removeExpUi() = map { info ->
- info.copy(images = info.images.filterNot { it.id.contains("/expui/", true) || it.id.contains("\\expui\\", true) })
- }
}
diff --git a/platform/collaboration-tools/gen/icons/CollaborationToolsIcons.java b/platform/collaboration-tools/gen/icons/CollaborationToolsIcons.java
index b925223c73df..91a0d7d60f28 100644
--- a/platform/collaboration-tools/gen/icons/CollaborationToolsIcons.java
+++ b/platform/collaboration-tools/gen/icons/CollaborationToolsIcons.java
@@ -14,9 +14,12 @@ public final class CollaborationToolsIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, CollaborationToolsIcons.class.getClassLoader(), cacheKey, flags);
}
- /** 16x16 */ public static final @NotNull Icon AddEmoji = load("icons/addEmoji.svg", -1387552992, 0);
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, CollaborationToolsIcons.class.getClassLoader(), cacheKey, flags);
+ }
+ /** 16x16 */ public static final @NotNull Icon AddEmoji = load("icons/addEmoji.svg", "icons/expui/addEmoji.svg", -1387552992, 0);
/** 16x16 */ public static final @NotNull Icon AddEmojiHovered = load("icons/addEmojiHovered.svg", 1679333898, 0);
- /** 16x16 */ public static final @NotNull Icon Comment = load("icons/comment.svg", 585242443, 0);
+ /** 16x16 */ public static final @NotNull Icon Comment = load("icons/comment.svg", "icons/expui/comment.svg", 585242443, 0);
/** 16x16 */ public static final @NotNull Icon Delete = load("icons/delete.svg", -26771446, 0);
/** 16x16 */ public static final @NotNull Icon DeleteHovered = load("icons/deleteHovered.svg", -505177250, 0);
/** 16x16 */ public static final @NotNull Icon PullRequestClosed = load("icons/pullRequestClosed.svg", 1915762689, 0);
@@ -26,11 +29,11 @@ public final class CollaborationToolsIcons {
/** 16x16 */ public static final @NotNull Icon BranchCurrent = load("icons/review/branchCurrent.svg", -1058941099, 0);
/** 16x16 */ public static final @NotNull Icon CommentHovered = load("icons/review/commentHovered.svg", 2035016330, 0);
/** 16x16 */ public static final @NotNull Icon CommentReadMany = load("icons/review/commentReadMany.svg", -653630789, 2);
- /** 16x16 */ public static final @NotNull Icon CommentUnread = load("icons/review/commentUnread.svg", 1972289510, 0);
+ /** 16x16 */ public static final @NotNull Icon CommentUnread = load("icons/review/commentUnread.svg", "icons/expui/review/commentUnread.svg", 1972289510, 0);
/** 16x16 */ public static final @NotNull Icon CommentUnreadMany = load("icons/review/commentUnreadMany.svg", 2062007617, 2);
- /** 16x16 */ public static final @NotNull Icon CommentUnresolved = load("icons/review/commentUnresolved.svg", 75435315, 0);
+ /** 16x16 */ public static final @NotNull Icon CommentUnresolved = load("icons/review/commentUnresolved.svg", "icons/expui/comment.svg", 75435315, 0);
/** 16x16 */ public static final @NotNull Icon DefaultAvatar = load("icons/review/defaultAvatar.svg", -5156320, 0);
- /** 16x16 */ public static final @NotNull Icon FileUnread = load("icons/review/fileUnread.svg", 776396787, 0);
+ /** 16x16 */ public static final @NotNull Icon FileUnread = load("icons/review/fileUnread.svg", "icons/expui/review/fileUnread.svg", 776396787, 0);
/** 16x16 */ public static final @NotNull Icon NonMergeable = load("icons/review/nonMergeable.svg", 717316511, 0);
/** @deprecated use DvcsImplIcons.BranchLabel instead */
diff --git a/platform/collaboration-tools/resources/icons/expui/icon-robots.txt b/platform/collaboration-tools/resources/icons/expui/icon-robots.txt
index f21601437b7f..53c8664db3f1 100644
--- a/platform/collaboration-tools/resources/icons/expui/icon-robots.txt
+++ b/platform/collaboration-tools/resources/icons/expui/icon-robots.txt
@@ -1 +1 @@
-skip: *
\ No newline at end of file
+merge
\ No newline at end of file
diff --git a/platform/collaboration-tools/resources/intellij.platform.collaborationTools.xml b/platform/collaboration-tools/resources/intellij.platform.collaborationTools.xml
index fed8090bb627..d0cbfdce3bf2 100644
--- a/platform/collaboration-tools/resources/intellij.platform.collaborationTools.xml
+++ b/platform/collaboration-tools/resources/intellij.platform.collaborationTools.xml
@@ -4,7 +4,6 @@
-
-
-
diff --git a/platform/dvcs-impl/src/icons/DvcsImplIcons.java b/platform/dvcs-impl/src/icons/DvcsImplIcons.java
index 6bd84bc38a7d..8540402c365d 100644
--- a/platform/dvcs-impl/src/icons/DvcsImplIcons.java
+++ b/platform/dvcs-impl/src/icons/DvcsImplIcons.java
@@ -15,28 +15,21 @@ public final class DvcsImplIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, DvcsImplIcons.class.getClassLoader(), cacheKey, flags);
}
- /** 16x16 */ public static final @NotNull Icon BranchLabel = load("icons/branchLabel.svg", -1698488445, 2);
- /** 16x16 */ public static final @NotNull Icon CherryPick = load("icons/cherryPick.svg", 1780252840, 2);
- /** 16x16 */ public static final @NotNull Icon CurrentBranchFavoriteLabel = load("icons/currentBranchFavoriteLabel.svg", -981571394, 0);
- /** 16x16 */ public static final @NotNull Icon CurrentBranchLabel = load("icons/currentBranchLabel.svg", -2118095280, 0);
- /** 16x16 */ public static final @NotNull Icon Incoming = load("icons/incoming.svg", 1815652245, 2);
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, DvcsImplIcons.class.getClassLoader(), cacheKey, flags);
+ }
+ /** 16x16 */ public static final @NotNull Icon BranchLabel = load("icons/branchLabel.svg", "icons/new/branchLabel.svg", -1698488445, 2);
+ /** 16x16 */ public static final @NotNull Icon CherryPick = load("icons/cherryPick.svg", "icons/new/cherryPick.svg", 1780252840, 2);
+ /** 16x16 */ public static final @NotNull Icon CurrentBranchFavoriteLabel = load("icons/currentBranchFavoriteLabel.svg", "icons/new/currentBranchFavoriteLabel.svg", -981571394, 0);
+ /** 16x16 */ public static final @NotNull Icon CurrentBranchLabel = load("icons/currentBranchLabel.svg", "icons/new/currentBranchLabel.svg", -2118095280, 0);
+ /** 16x16 */ public static final @NotNull Icon Incoming = load("icons/incoming.svg", "icons/new/changesUpdate@12x12.svg", 1815652245, 2);
/** 16x16 */ public static final @NotNull Icon IncomingLayer = load("icons/incomingLayer.svg", -1820973940, 2);
/** 16x16 */ public static final @NotNull Icon IncomingOutgoing = load("icons/incomingOutgoing.svg", -418121726, 2);
/** 16x16 */ public static final @NotNull Icon IncomingOutgoingLayer = load("icons/incomingOutgoingLayer.svg", -948079475, 2);
-
- public static final class New {
- /** 16x16 */ public static final @NotNull Icon BranchLabel = load("icons/new/branchLabel.svg", 2143717139, 2);
- /** 12x12 */ public static final @NotNull Icon ChangesPush_12x12 = load("icons/new/changesPush@12x12.svg", -266337537, 2);
- /** 12x12 */ public static final @NotNull Icon ChangesUpdate_12x12 = load("icons/new/changesUpdate@12x12.svg", -149869512, 2);
- /** 16x16 */ public static final @NotNull Icon CherryPick = load("icons/new/cherryPick.svg", 1502403259, 2);
- /** 16x16 */ public static final @NotNull Icon CurrentBranchFavoriteLabel = load("icons/new/currentBranchFavoriteLabel.svg", -1372615443, 2);
- /** 16x16 */ public static final @NotNull Icon CurrentBranchLabel = load("icons/new/currentBranchLabel.svg", 1396233135, 2);
- /** 16x16 */ public static final @NotNull Icon IncomingUpdate = load("icons/new/incomingUpdate.svg", -1410651252, 2);
- /** 16x16 */ public static final @NotNull Icon OutgoingPush = load("icons/new/outgoingPush.svg", 1327071653, 2);
- /** 16x16 */ public static final @NotNull Icon ResolveContinue = load("icons/new/resolveContinue.svg", -2074983376, 10);
- /** 16x16 */ public static final @NotNull Icon SkipCommit = load("icons/new/skipCommit.svg", -560367291, 10);
- }
-
- /** 16x16 */ public static final @NotNull Icon Outgoing = load("icons/outgoing.svg", -1956407103, 2);
+ /** 16x16 */ public static final @NotNull Icon IncomingUpdate = load("icons/new/incomingUpdate.svg", -1410651252, 2);
+ /** 16x16 */ public static final @NotNull Icon Outgoing = load("icons/outgoing.svg", "icons/new/changesPush@12x12.svg", -1956407103, 2);
/** 16x16 */ public static final @NotNull Icon OutgoingLayer = load("icons/outgoingLayer.svg", -1345792370, 2);
+ /** 16x16 */ public static final @NotNull Icon OutgoingPush = load("icons/new/outgoingPush.svg", 1327071653, 2);
+ /** 16x16 */ public static final @NotNull Icon ResolveContinue = load("icons/new/resolveContinue.svg", -2074983376, 10);
+ /** 16x16 */ public static final @NotNull Icon SkipCommit = load("icons/new/skipCommit.svg", -560367291, 10);
}
diff --git a/platform/icons/src/CrossModuleIcons.json b/platform/icons/src/CrossModuleIcons.json
new file mode 100644
index 000000000000..1b92c3a267e9
--- /dev/null
+++ b/platform/icons/src/CrossModuleIcons.json
@@ -0,0 +1,29 @@
+{
+ "expui": {
+ "build": {
+ "task.svg": "icons/task.svg"
+ },
+ "fileTypes": {
+ "angularJS.svg": "icons/AngularJS.svg",
+ "cucumber.svg": "org/jetbrains/plugins/cucumber/icons/cucumber.svg",
+ "freemaker.svg": "icons/freemarker-icon.svg",
+ "jest.svg": "icons/fileTypes/jestSnapshot.svg",
+ "less.svg": "icons/less.svg",
+ "react.svg": "org/jetbrains/kotlin/idea/icons/wizard/react.svg",
+ "scala.svg": "org/jetbrains/plugins/scala/images/scala16.png",
+ "vueJs.svg": "icons/vue.svg",
+ "yarn.svg": "icons/nodejs/yarn.svg"
+ },
+ "run": {
+ "forceRunToCursor.svg": "icons/actions/force_run_to_cursor.svg",
+ "forceStepInto.svg": "icons/actions/force_step_into.svg",
+ "forceStepOver.svg": "icons/actions/force_step_over.svg"
+ },
+ "toolwindow": {
+ "dependencies.svg": [
+ "icons/artifact.svg",
+ "icons/artifactSmall.svg"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/platform/icons/src/expui/icon-robots.txt b/platform/icons/src/expui/icon-robots.txt
new file mode 100644
index 000000000000..6fb1aee091da
--- /dev/null
+++ b/platform/icons/src/expui/icon-robots.txt
@@ -0,0 +1,3 @@
+merge
+skip: /**/*20x20.svg
+skip: /**/*14x14.svg
\ No newline at end of file
diff --git a/platform/ide-core-impl/src/com/intellij/ui/icons/CoreIconManager.kt b/platform/ide-core-impl/src/com/intellij/ui/icons/CoreIconManager.kt
index 2b1f7af4d9c0..d7a0c3a7c85f 100644
--- a/platform/ide-core-impl/src/com/intellij/ui/icons/CoreIconManager.kt
+++ b/platform/ide-core-impl/src/com/intellij/ui/icons/CoreIconManager.kt
@@ -110,8 +110,13 @@ class CoreIconManager : IconManager, CoreAwareIconManager {
}
override fun loadRasterizedIcon(path: String, classLoader: ClassLoader, cacheKey: Int, flags: Int): Icon {
+ return loadRasterizedIcon(path, null, classLoader, cacheKey, flags)
+ }
+
+ override fun loadRasterizedIcon(path: String, expUIPath: String?, classLoader: ClassLoader, cacheKey: Int, flags: Int): Icon {
assert(!path.startsWith('/'))
return loadRasterizedIcon(path = path,
+ expUIPath = expUIPath,
classLoader = classLoader,
cacheKey = cacheKey,
flags = flags,
diff --git a/platform/lang-impl/src/com/intellij/ui/ExperimentalUIImpl.kt b/platform/lang-impl/src/com/intellij/ui/ExperimentalUIImpl.kt
index 068fa32d203e..7c9df48ed5ac 100644
--- a/platform/lang-impl/src/com/intellij/ui/ExperimentalUIImpl.kt
+++ b/platform/lang-impl/src/com/intellij/ui/ExperimentalUIImpl.kt
@@ -18,6 +18,7 @@ import com.intellij.openapi.diagnostic.Logger
import com.intellij.openapi.diagnostic.logger
import com.intellij.openapi.editor.colors.EditorColorsManager
import com.intellij.openapi.editor.colors.impl.EditorColorsManagerImpl
+import com.intellij.openapi.extensions.ExtensionPointName
import com.intellij.openapi.util.IconLoader
import com.intellij.openapi.util.IconPathPatcher
import com.intellij.openapi.util.SystemInfo
@@ -33,6 +34,7 @@ private val LOG: Logger
* @author Konstantin Bulenkov
*/
private class ExperimentalUIImpl : ExperimentalUI() {
+ private val epIconMapperSuppressor = ExtensionPointName("com.intellij.iconMapperSuppressor")
private var shouldUnsetNewUiSwitchKey: Boolean = true
private val isIconPatcherSet = AtomicBoolean()
private val isFirstCheck = AtomicBoolean(true)
@@ -40,7 +42,7 @@ private class ExperimentalUIImpl : ExperimentalUI() {
override fun earlyInitValue(): Boolean {
val prevNewUI = super.earlyInitValue() && !forcedSwitchedUi
- val newUi = !IconMapperBean.EP_NAME_REVERSE.hasAnyExtensions()
+ val newUi = !epIconMapperSuppressor.hasAnyExtensions()
if (isFirstCheck.compareAndSet(true, false)) {
changeValue(prevNewUI, newUi)
@@ -110,7 +112,7 @@ private class ExperimentalUIImpl : ExperimentalUI() {
installIconPatcher { createPathPatcher(it) }
}
else {
- installIconPatcher { createReversePathPatcher(it) }
+ service().loadIconMapping() // reset mappings
}
}
@@ -212,17 +214,7 @@ private fun patchUiDefaultsForNewUi() {
}
}
-private fun createReversePathPatcher(map: Map>): IconPathPatcher {
- return object : IconPathPatcher() {
- override fun patchPath(path: String, classLoader: ClassLoader?): String? {
- return map.get(classLoader)?.get(path)
- }
-
- override fun getContextClassLoader(path: String, originalClassLoader: ClassLoader?) = originalClassLoader
- }
-}
-
-private const val reflectivePathPrefix = "com.intellij.icons.ExpUiIcons."
+private const val reflectivePathPrefix = "com.intellij.icons.AllIcons."
private const val iconPathPrefix = "expui/"
private fun createPathPatcher(paths: Map>): IconPathPatcher {
diff --git a/platform/platform-impl/src/com/intellij/ide/ui/IconMapLoader.kt b/platform/platform-impl/src/com/intellij/ide/ui/IconMapLoader.kt
index 20eb1479dd31..e307a7475b20 100644
--- a/platform/platform-impl/src/com/intellij/ide/ui/IconMapLoader.kt
+++ b/platform/platform-impl/src/com/intellij/ide/ui/IconMapLoader.kt
@@ -23,7 +23,7 @@ class IconMapLoader {
private val cachedResult = AtomicReference
diff --git a/plugins/github/resources/org/jetbrains/plugins/github/expui/icon-robots.txt b/plugins/github/resources/org/jetbrains/plugins/github/expui/icon-robots.txt
index f21601437b7f..53c8664db3f1 100644
--- a/plugins/github/resources/org/jetbrains/plugins/github/expui/icon-robots.txt
+++ b/plugins/github/resources/org/jetbrains/plugins/github/expui/icon-robots.txt
@@ -1 +1 @@
-skip: *
\ No newline at end of file
+merge
\ No newline at end of file
diff --git a/plugins/gitlab/gen/org/jetbrains/plugins/gitlab/GitlabIcons.java b/plugins/gitlab/gen/org/jetbrains/plugins/gitlab/GitlabIcons.java
index bfa6762376f5..2e6f4f2bf813 100644
--- a/plugins/gitlab/gen/org/jetbrains/plugins/gitlab/GitlabIcons.java
+++ b/plugins/gitlab/gen/org/jetbrains/plugins/gitlab/GitlabIcons.java
@@ -14,7 +14,10 @@ public final class GitlabIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, GitlabIcons.class.getClassLoader(), cacheKey, flags);
}
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, GitlabIcons.class.getClassLoader(), cacheKey, flags);
+ }
/** 16x16 */ public static final @NotNull Icon GitLabLogo = load("org/jetbrains/plugins/gitlab/gitLabLogo.svg", -65367349, 0);
- /** 13x13 */ public static final @NotNull Icon GitLabToolWindow = load("org/jetbrains/plugins/gitlab/gitLabToolWindow.svg", 858067490, 2);
+ /** 13x13 */ public static final @NotNull Icon GitLabToolWindow = load("org/jetbrains/plugins/gitlab/gitLabToolWindow.svg", "org/jetbrains/plugins/gitlab/expui/gitLabToolWindow.svg", 858067490, 2);
/** 16x16 */ public static final @NotNull Icon GitLabWarning = load("org/jetbrains/plugins/gitlab/gitLabWarning.svg", -1126375822, 2);
}
diff --git a/plugins/gitlab/resources/META-INF/plugin.xml b/plugins/gitlab/resources/META-INF/plugin.xml
index 44b92a65f6d0..71f7ce207312 100644
--- a/plugins/gitlab/resources/META-INF/plugin.xml
+++ b/plugins/gitlab/resources/META-INF/plugin.xml
@@ -69,7 +69,6 @@
-
diff --git a/plugins/gitlab/resources/org/jetbrains/plugins/gitlab/expui/icon-robots.txt b/plugins/gitlab/resources/org/jetbrains/plugins/gitlab/expui/icon-robots.txt
index f21601437b7f..d62476739f9e 100644
--- a/plugins/gitlab/resources/org/jetbrains/plugins/gitlab/expui/icon-robots.txt
+++ b/plugins/gitlab/resources/org/jetbrains/plugins/gitlab/expui/icon-robots.txt
@@ -1 +1,2 @@
-skip: *
\ No newline at end of file
+merge
+skip: *20x20.svg
\ No newline at end of file
diff --git a/plugins/gradle/generated/icons/GradleIcons.java b/plugins/gradle/generated/icons/GradleIcons.java
index 03906309aa1c..7e9dea07c1d3 100644
--- a/plugins/gradle/generated/icons/GradleIcons.java
+++ b/plugins/gradle/generated/icons/GradleIcons.java
@@ -14,10 +14,13 @@ public final class GradleIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, GradleIcons.class.getClassLoader(), cacheKey, flags);
}
- /** 16x16 */ public static final @NotNull Icon Gradle = load("icons/gradle.svg", 1785193254, 2);
- /** 16x16 */ public static final @NotNull Icon GradleFile = load("icons/gradleFile.svg", -392919783, 0);
- /** 16x16 */ public static final @NotNull Icon GradleLoadChanges = load("icons/gradleLoadChanges.svg", -927115520, 2);
- /** 16x16 */ public static final @NotNull Icon GradleNavigate = load("icons/gradleNavigate.svg", 2045411481, 2);
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, GradleIcons.class.getClassLoader(), cacheKey, flags);
+ }
+ /** 16x16 */ public static final @NotNull Icon Gradle = load("icons/gradle.svg", "icons/expui/gradle.svg", 1785193254, 2);
+ /** 16x16 */ public static final @NotNull Icon GradleFile = load("icons/gradleFile.svg", "icons/expui/gradle.svg", -392919783, 0);
+ /** 16x16 */ public static final @NotNull Icon GradleLoadChanges = load("icons/gradleLoadChanges.svg", "icons/expui/gradleLoadChanges.svg", -927115520, 2);
+ /** 16x16 */ public static final @NotNull Icon GradleNavigate = load("icons/gradleNavigate.svg", "icons/expui/gradleNavigate.svg", 2045411481, 2);
/** 16x16 */ public static final @NotNull Icon GradleSubproject = load("icons/gradleSubproject.svg", -908281194, 2);
- /** 13x13 */ public static final @NotNull Icon ToolWindowGradle = load("icons/toolWindowGradle.svg", 661706798, 2);
+ /** 13x13 */ public static final @NotNull Icon ToolWindowGradle = load("icons/toolWindowGradle.svg", "icons/expui/gradle.svg", 661706798, 2);
}
diff --git a/plugins/gradle/plugin-resources/META-INF/plugin.xml b/plugins/gradle/plugin-resources/META-INF/plugin.xml
index 17ef611c77a1..75ec10737ce3 100644
--- a/plugins/gradle/plugin-resources/META-INF/plugin.xml
+++ b/plugins/gradle/plugin-resources/META-INF/plugin.xml
@@ -220,7 +220,6 @@
-
diff --git a/plugins/gradle/resources/icons/expui/icon-robots.txt b/plugins/gradle/resources/icons/expui/icon-robots.txt
index f21601437b7f..d62476739f9e 100644
--- a/plugins/gradle/resources/icons/expui/icon-robots.txt
+++ b/plugins/gradle/resources/icons/expui/icon-robots.txt
@@ -1 +1,2 @@
-skip: *
\ No newline at end of file
+merge
+skip: *20x20.svg
\ No newline at end of file
diff --git a/plugins/groovy/groovy-psi/gen/icons/JetgroovyIcons.java b/plugins/groovy/groovy-psi/gen/icons/JetgroovyIcons.java
index e0a48f31e296..2ae6542b83c3 100644
--- a/plugins/groovy/groovy-psi/gen/icons/JetgroovyIcons.java
+++ b/plugins/groovy/groovy-psi/gen/icons/JetgroovyIcons.java
@@ -14,29 +14,32 @@ public final class JetgroovyIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, JetgroovyIcons.class.getClassLoader(), cacheKey, flags);
}
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, JetgroovyIcons.class.getClassLoader(), cacheKey, flags);
+ }
public static final class Groovy {
- /** 16x16 */ public static final @NotNull Icon AbstractClass = load("icons/groovy/abstractClass.svg", -301657417, 0);
- /** 16x16 */ public static final @NotNull Icon AbstractField = load("icons/groovy/abstractField.svg", -1200808497, 0);
- /** 16x16 */ public static final @NotNull Icon AbstractMethod = load("icons/groovy/abstractMethod.svg", -260045576, 1);
- /** 16x16 */ public static final @NotNull Icon AbstractProperty = load("icons/groovy/abstractProperty.svg", -1328690153, 0);
- /** 16x16 */ public static final @NotNull Icon AnnotationType = load("icons/groovy/annotationType.svg", -1226391325, 0);
- /** 16x16 */ public static final @NotNull Icon Class = load("icons/groovy/class.svg", -800643239, 0);
- /** 16x16 */ public static final @NotNull Icon ClassInitializer = load("icons/groovy/classInitializer.svg", 2127832236, 0);
- /** 16x16 */ public static final @NotNull Icon Enum = load("icons/groovy/enum.svg", 1141726372, 1);
- /** 16x16 */ public static final @NotNull Icon Field = load("icons/groovy/field.svg", 1116773381, 0);
+ /** 16x16 */ public static final @NotNull Icon AbstractClass = load("icons/groovy/abstractClass.svg", "icons/groovy/newui/abstractClass.svg", -301657417, 0);
+ /** 16x16 */ public static final @NotNull Icon AbstractField = load("icons/groovy/abstractField.svg", "icons/groovy/newui/abstractField.svg", -1200808497, 0);
+ /** 16x16 */ public static final @NotNull Icon AbstractMethod = load("icons/groovy/abstractMethod.svg", "icons/groovy/newui/abstractMethod.svg", -260045576, 1);
+ /** 16x16 */ public static final @NotNull Icon AbstractProperty = load("icons/groovy/abstractProperty.svg", "icons/groovy/newui/abstractProperty.svg", -1328690153, 0);
+ /** 16x16 */ public static final @NotNull Icon AnnotationType = load("icons/groovy/annotationType.svg", "icons/groovy/newui/annotationType.svg", -1226391325, 0);
+ /** 16x16 */ public static final @NotNull Icon Class = load("icons/groovy/class.svg", "icons/groovy/newui/class.svg", -800643239, 0);
+ /** 16x16 */ public static final @NotNull Icon ClassInitializer = load("icons/groovy/classInitializer.svg", "icons/groovy/newui/classInitializer.svg", 2127832236, 0);
+ /** 16x16 */ public static final @NotNull Icon Enum = load("icons/groovy/enum.svg", "icons/groovy/newui/enum.svg", 1141726372, 1);
+ /** 16x16 */ public static final @NotNull Icon Field = load("icons/groovy/field.svg", "icons/groovy/newui/field.svg", 1116773381, 0);
/** 16x16 */ public static final @NotNull Icon Gant_16x16 = load("icons/groovy/gant_16x16.svg", 1111404670, 2);
/** 16x16 */ public static final @NotNull Icon Gant_sdk = load("icons/groovy/gant_sdk.svg", 235320671, 0);
/** 16x16 */ public static final @NotNull Icon Gant_target = load("icons/groovy/gant_target.svg", -1323048368, 0);
/** 13x13 */ public static final @NotNull Icon Groovy_13x13 = load("icons/groovy/groovy_13x13.svg", -17816213, 0);
- /** 16x16 */ public static final @NotNull Icon Groovy_16x16 = load("icons/groovy/groovy_16x16.svg", 1379649070, 0);
- /** 16x16 */ public static final @NotNull Icon Groovy_outsideSources = load("icons/groovy/groovy_outsideSources.svg", 156285681, 0);
- /** 16x16 */ public static final @NotNull Icon GroovyFile = load("icons/groovy/groovyFile.svg", -1207609712, 0);
- /** 16x16 */ public static final @NotNull Icon Interface = load("icons/groovy/interface.svg", 1051857627, 1);
- /** 16x16 */ public static final @NotNull Icon Method = load("icons/groovy/method.svg", -1356927261, 1);
- /** 16x16 */ public static final @NotNull Icon Property = load("icons/groovy/property.svg", -943164105, 0);
- /** 16x16 */ public static final @NotNull Icon Record = load("icons/groovy/record.svg", 670467351, 0);
- /** 16x16 */ public static final @NotNull Icon Trait = load("icons/groovy/trait.svg", -1834103852, 0);
- /** 16x16 */ public static final @NotNull Icon Variable = load("icons/groovy/variable.svg", -1232158411, 0);
+ /** 16x16 */ public static final @NotNull Icon Groovy_16x16 = load("icons/groovy/groovy_16x16.svg", "icons/groovy/newui/groovy.svg", 1379649070, 0);
+ /** 16x16 */ public static final @NotNull Icon Groovy_outsideSources = load("icons/groovy/groovy_outsideSources.svg", "icons/groovy/newui/groovy.svg", 156285681, 0);
+ /** 16x16 */ public static final @NotNull Icon GroovyFile = load("icons/groovy/groovyFile.svg", "icons/groovy/newui/groovy.svg", -1207609712, 0);
+ /** 16x16 */ public static final @NotNull Icon Interface = load("icons/groovy/interface.svg", "icons/groovy/newui/interface.svg", 1051857627, 1);
+ /** 16x16 */ public static final @NotNull Icon Method = load("icons/groovy/method.svg", "icons/groovy/newui/method.svg", -1356927261, 1);
+ /** 16x16 */ public static final @NotNull Icon Property = load("icons/groovy/property.svg", "icons/groovy/newui/property.svg", -943164105, 0);
+ /** 16x16 */ public static final @NotNull Icon Record = load("icons/groovy/record.svg", "icons/groovy/newui/record.svg", 670467351, 0);
+ /** 16x16 */ public static final @NotNull Icon Trait = load("icons/groovy/trait.svg", "icons/groovy/newui/trait.svg", -1834103852, 0);
+ /** 16x16 */ public static final @NotNull Icon Variable = load("icons/groovy/variable.svg", "icons/groovy/newui/variable.svg", -1232158411, 0);
}
}
diff --git a/plugins/groovy/groovy-psi/resources/icons/groovy/newui/icon-robots.txt b/plugins/groovy/groovy-psi/resources/icons/groovy/newui/icon-robots.txt
index f21601437b7f..53c8664db3f1 100644
--- a/plugins/groovy/groovy-psi/resources/icons/groovy/newui/icon-robots.txt
+++ b/plugins/groovy/groovy-psi/resources/icons/groovy/newui/icon-robots.txt
@@ -1 +1 @@
-skip: *
\ No newline at end of file
+merge
\ No newline at end of file
diff --git a/plugins/groovy/src/META-INF/plugin.xml b/plugins/groovy/src/META-INF/plugin.xml
index bc217ff863b4..246291e2066c 100644
--- a/plugins/groovy/src/META-INF/plugin.xml
+++ b/plugins/groovy/src/META-INF/plugin.xml
@@ -1355,7 +1355,6 @@
-
diff --git a/plugins/ide-features-trainer/res/META-INF/plugin.xml b/plugins/ide-features-trainer/res/META-INF/plugin.xml
index 2955ec90a3be..96ef24ee0856 100644
--- a/plugins/ide-features-trainer/res/META-INF/plugin.xml
+++ b/plugins/ide-features-trainer/res/META-INF/plugin.xml
@@ -209,7 +209,6 @@
key="feature.suggester.enable.suggesters" restartRequired="true"/>
-
diff --git a/plugins/ide-features-trainer/res/img/expui/icon-robots.txt b/plugins/ide-features-trainer/res/img/expui/icon-robots.txt
index f21601437b7f..661aa4e83cd1 100644
--- a/plugins/ide-features-trainer/res/img/expui/icon-robots.txt
+++ b/plugins/ide-features-trainer/res/img/expui/icon-robots.txt
@@ -1 +1,2 @@
-skip: *
\ No newline at end of file
+merge
+skip: /**/*20x20.svg
\ No newline at end of file
diff --git a/plugins/ide-features-trainer/src/training/FeaturesTrainerIcons.java b/plugins/ide-features-trainer/src/training/FeaturesTrainerIcons.java
index b3f932228459..a37a900d1cf4 100644
--- a/plugins/ide-features-trainer/src/training/FeaturesTrainerIcons.java
+++ b/plugins/ide-features-trainer/src/training/FeaturesTrainerIcons.java
@@ -14,9 +14,12 @@ public final class FeaturesTrainerIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, FeaturesTrainerIcons.class.getClassLoader(), cacheKey, flags);
}
- /** 16x16 */ public static final @NotNull Icon Checkmark = load("img/checkmark.svg", 1210931315, 2);
- /** 16x16 */ public static final @NotNull Icon FeatureTrainer = load("img/featureTrainer.svg", 1806467053, 2);
- /** 13x13 */ public static final @NotNull Icon FeatureTrainerToolWindow = load("img/featureTrainerToolWindow.svg", -68627899, 2);
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, FeaturesTrainerIcons.class.getClassLoader(), cacheKey, flags);
+ }
+ /** 16x16 */ public static final @NotNull Icon Checkmark = load("img/checkmark.svg", "img/expui/checkmark.svg", 1210931315, 2);
+ /** 16x16 */ public static final @NotNull Icon FeatureTrainer = load("img/featureTrainer.svg", "img/expui/toolwindow/learn.svg", 1806467053, 2);
+ /** 13x13 */ public static final @NotNull Icon FeatureTrainerToolWindow = load("img/featureTrainerToolWindow.svg", "img/expui/toolwindow/learn.svg", -68627899, 2);
/** 16x16 */ public static final @NotNull Icon PluginIcon = load("img/pluginIcon.svg", -1574300806, 0);
- /** 16x16 */ public static final @NotNull Icon ResetLesson = load("img/resetLesson.svg", 1838614018, 2);
+ /** 16x16 */ public static final @NotNull Icon ResetLesson = load("img/resetLesson.svg", "img/expui/resetLesson.svg", 1838614018, 2);
}
diff --git a/plugins/kotlin/base/resources/resources/org/jetbrains/kotlin/idea/icons/expui/icon-robots.txt b/plugins/kotlin/base/resources/resources/org/jetbrains/kotlin/idea/icons/expui/icon-robots.txt
index f21601437b7f..661aa4e83cd1 100644
--- a/plugins/kotlin/base/resources/resources/org/jetbrains/kotlin/idea/icons/expui/icon-robots.txt
+++ b/plugins/kotlin/base/resources/resources/org/jetbrains/kotlin/idea/icons/expui/icon-robots.txt
@@ -1 +1,2 @@
-skip: *
\ No newline at end of file
+merge
+skip: /**/*20x20.svg
\ No newline at end of file
diff --git a/plugins/kotlin/base/resources/src/icons/KotlinBaseResourcesIcons.java b/plugins/kotlin/base/resources/src/icons/KotlinBaseResourcesIcons.java
index 915632c02294..03360555433a 100644
--- a/plugins/kotlin/base/resources/src/icons/KotlinBaseResourcesIcons.java
+++ b/plugins/kotlin/base/resources/src/icons/KotlinBaseResourcesIcons.java
@@ -14,52 +14,55 @@ public final class KotlinBaseResourcesIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, KotlinBaseResourcesIcons.class.getClassLoader(), cacheKey, flags);
}
- /** 16x16 */ public static final @NotNull Icon Abstract_extension_function = load("org/jetbrains/kotlin/idea/icons/abstract_extension_function.svg", -1910530652, 0);
- /** 16x16 */ public static final @NotNull Icon AbstractClassKotlin = load("org/jetbrains/kotlin/idea/icons/abstractClassKotlin.svg", 1508251405, 0);
- /** 16x16 */ public static final @NotNull Icon Actual = load("org/jetbrains/kotlin/idea/icons/actual.svg", 1960841178, 0);
- /** 16x16 */ public static final @NotNull Icon AnnotationKotlin = load("org/jetbrains/kotlin/idea/icons/annotationKotlin.svg", 489633918, 0);
- /** 16x16 */ public static final @NotNull Icon ClassInitializerKotlin = load("org/jetbrains/kotlin/idea/icons/classInitializerKotlin.svg", -1725872107, 0);
- /** 16x16 */ public static final @NotNull Icon ClassKotlin = load("org/jetbrains/kotlin/idea/icons/classKotlin.svg", 1177556502, 0);
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, KotlinBaseResourcesIcons.class.getClassLoader(), cacheKey, flags);
+ }
+ /** 16x16 */ public static final @NotNull Icon Abstract_extension_function = load("org/jetbrains/kotlin/idea/icons/abstract_extension_function.svg", "org/jetbrains/kotlin/idea/icons/expui/abstractExtensionFunction.svg", -1910530652, 0);
+ /** 16x16 */ public static final @NotNull Icon AbstractClassKotlin = load("org/jetbrains/kotlin/idea/icons/abstractClassKotlin.svg", "org/jetbrains/kotlin/idea/icons/expui/abstractClassKotlin.svg", 1508251405, 0);
+ /** 16x16 */ public static final @NotNull Icon Actual = load("org/jetbrains/kotlin/idea/icons/actual.svg", "org/jetbrains/kotlin/idea/icons/expui/actual.svg", 1960841178, 0);
+ /** 16x16 */ public static final @NotNull Icon AnnotationKotlin = load("org/jetbrains/kotlin/idea/icons/annotationKotlin.svg", "org/jetbrains/kotlin/idea/icons/expui/annotationKotlin.svg", 489633918, 0);
+ /** 16x16 */ public static final @NotNull Icon ClassInitializerKotlin = load("org/jetbrains/kotlin/idea/icons/classInitializerKotlin.svg", "org/jetbrains/kotlin/idea/icons/expui/classInitializerKotlin.svg", -1725872107, 0);
+ /** 16x16 */ public static final @NotNull Icon ClassKotlin = load("org/jetbrains/kotlin/idea/icons/classKotlin.svg", "org/jetbrains/kotlin/idea/icons/expui/classKotlin.svg", 1177556502, 0);
/** 12x12 */ public static final @NotNull Icon DslMarkerAnnotation = load("org/jetbrains/kotlin/idea/icons/dslMarkerAnnotation.svg", 1428361791, 2);
- /** 16x16 */ public static final @NotNull Icon EnumKotlin = load("org/jetbrains/kotlin/idea/icons/enumKotlin.svg", -520927741, 0);
- /** 16x16 */ public static final @NotNull Icon Expect = load("org/jetbrains/kotlin/idea/icons/expect.svg", 1991409675, 1);
- /** 16x16 */ public static final @NotNull Icon Field_value = load("org/jetbrains/kotlin/idea/icons/field_value.svg", 2009637888, 0);
- /** 16x16 */ public static final @NotNull Icon Field_variable = load("org/jetbrains/kotlin/idea/icons/field_variable.svg", 2129703570, 0);
+ /** 16x16 */ public static final @NotNull Icon EnumKotlin = load("org/jetbrains/kotlin/idea/icons/enumKotlin.svg", "org/jetbrains/kotlin/idea/icons/expui/enumKotlin.svg", -520927741, 0);
+ /** 16x16 */ public static final @NotNull Icon Expect = load("org/jetbrains/kotlin/idea/icons/expect.svg", "org/jetbrains/kotlin/idea/icons/expui/expect.svg", 1991409675, 1);
+ /** 16x16 */ public static final @NotNull Icon Field_value = load("org/jetbrains/kotlin/idea/icons/field_value.svg", "org/jetbrains/kotlin/idea/icons/expui/fieldValue.svg", 2009637888, 0);
+ /** 16x16 */ public static final @NotNull Icon Field_variable = load("org/jetbrains/kotlin/idea/icons/field_variable.svg", "org/jetbrains/kotlin/idea/icons/expui/fieldVariable.svg", 2129703570, 0);
/** 16x16 */ public static final @NotNull Icon Fir = load("org/jetbrains/kotlin/idea/icons/fir.svg", 352888378, 0);
/** 16x16 */ public static final @NotNull Icon Fir_xmas = load("org/jetbrains/kotlin/idea/icons/fir_xmas.svg", 833016773, 0);
- /** 16x16 */ public static final @NotNull Icon InterfaceKotlin = load("org/jetbrains/kotlin/idea/icons/interfaceKotlin.svg", -1253463148, 1);
- /** 16x16 */ public static final @NotNull Icon Kotlin = load("org/jetbrains/kotlin/idea/icons/kotlin.svg", 684582806, 0);
- /** 13x13 */ public static final @NotNull Icon Kotlin13 = load("org/jetbrains/kotlin/idea/icons/kotlin13.svg", -767022652, 0);
- /** 16x16 */ public static final @NotNull Icon Kotlin_file = load("org/jetbrains/kotlin/idea/icons/kotlin_file.svg", -235839515, 0);
- /** 16x16 */ public static final @NotNull Icon Kotlin_gradle_script = load("org/jetbrains/kotlin/idea/icons/kotlin_gradle_script.svg", 1067630729, 0);
- /** 16x16 */ public static final @NotNull Icon Kotlin_js = load("org/jetbrains/kotlin/idea/icons/kotlin_js.svg", -1870737901, 0);
- /** 16x16 */ public static final @NotNull Icon Kotlin_launch_configuration = load("org/jetbrains/kotlin/idea/icons/kotlin_launch_configuration.svg", -2053924550, 0);
+ /** 16x16 */ public static final @NotNull Icon InterfaceKotlin = load("org/jetbrains/kotlin/idea/icons/interfaceKotlin.svg", "org/jetbrains/kotlin/idea/icons/expui/interfaceKotlin.svg", -1253463148, 1);
+ /** 16x16 */ public static final @NotNull Icon Kotlin = load("org/jetbrains/kotlin/idea/icons/kotlin.svg", "org/jetbrains/kotlin/idea/icons/expui/kotlin.svg", 684582806, 0);
+ /** 13x13 */ public static final @NotNull Icon Kotlin13 = load("org/jetbrains/kotlin/idea/icons/kotlin13.svg", "org/jetbrains/kotlin/idea/icons/expui/kotlinToolWindow.svg", -767022652, 0);
+ /** 16x16 */ public static final @NotNull Icon Kotlin_file = load("org/jetbrains/kotlin/idea/icons/kotlin_file.svg", "org/jetbrains/kotlin/idea/icons/expui/kotlin.svg", -235839515, 0);
+ /** 16x16 */ public static final @NotNull Icon Kotlin_gradle_script = load("org/jetbrains/kotlin/idea/icons/kotlin_gradle_script.svg", "org/jetbrains/kotlin/idea/icons/expui/kotlinGradleScript.svg", 1067630729, 0);
+ /** 16x16 */ public static final @NotNull Icon Kotlin_js = load("org/jetbrains/kotlin/idea/icons/kotlin_js.svg", "org/jetbrains/kotlin/idea/icons/expui/kotlinJs.svg", -1870737901, 0);
+ /** 16x16 */ public static final @NotNull Icon Kotlin_launch_configuration = load("org/jetbrains/kotlin/idea/icons/kotlin_launch_configuration.svg", "org/jetbrains/kotlin/idea/icons/expui/kotlin.svg", -2053924550, 0);
/** 16x16 */ public static final @NotNull Icon Kotlin_multiplatform_project = load("org/jetbrains/kotlin/idea/icons/kotlin_multiplatform_project.svg", 559610482, 0);
/** 16x16 */ public static final @NotNull Icon Kotlin_native = load("org/jetbrains/kotlin/idea/icons/kotlin_native.svg", 1061636937, 0);
- /** 16x16 */ public static final @NotNull Icon Kotlin_script = load("org/jetbrains/kotlin/idea/icons/kotlin_script.svg", -562591727, 0);
- /** 16x16 */ public static final @NotNull Icon Lambda = load("org/jetbrains/kotlin/idea/icons/lambda.svg", 831186306, 0);
+ /** 16x16 */ public static final @NotNull Icon Kotlin_script = load("org/jetbrains/kotlin/idea/icons/kotlin_script.svg", "org/jetbrains/kotlin/idea/icons/expui/kotlinScript.svg", -562591727, 0);
+ /** 16x16 */ public static final @NotNull Icon Lambda = load("org/jetbrains/kotlin/idea/icons/lambda.svg", "org/jetbrains/kotlin/idea/icons/expui/lambda.svg", 831186306, 0);
/** 16x16 */ public static final @NotNull Icon LoadScriptConfiguration = load("org/jetbrains/kotlin/idea/icons/loadScriptConfiguration.svg", 1127384104, 2);
- /** 16x16 */ public static final @NotNull Icon ObjectKotlin = load("org/jetbrains/kotlin/idea/icons/objectKotlin.svg", -379018474, 0);
- /** 12x12 */ public static final @NotNull Icon SuspendCall = load("org/jetbrains/kotlin/idea/icons/suspendCall.svg", -306297354, 2);
- /** 16x16 */ public static final @NotNull Icon TypeAlias = load("org/jetbrains/kotlin/idea/icons/typeAlias.svg", 755828205, 0);
- /** 16x16 */ public static final @NotNull Icon Value = load("org/jetbrains/kotlin/idea/icons/value.svg", -1592522359, 0);
+ /** 16x16 */ public static final @NotNull Icon ObjectKotlin = load("org/jetbrains/kotlin/idea/icons/objectKotlin.svg", "org/jetbrains/kotlin/idea/icons/expui/objectKotlin.svg", -379018474, 0);
+ /** 12x12 */ public static final @NotNull Icon SuspendCall = load("org/jetbrains/kotlin/idea/icons/suspendCall.svg", "org/jetbrains/kotlin/idea/icons/expui/suspendCall@14x14.svg", -306297354, 2);
+ /** 16x16 */ public static final @NotNull Icon TypeAlias = load("org/jetbrains/kotlin/idea/icons/typeAlias.svg", "org/jetbrains/kotlin/idea/icons/expui/typeAlias.svg", 755828205, 0);
+ /** 16x16 */ public static final @NotNull Icon Value = load("org/jetbrains/kotlin/idea/icons/value.svg", "org/jetbrains/kotlin/idea/icons/expui/value.svg", -1592522359, 0);
public static final class Wizard {
- /** 16x16 */ public static final @NotNull Icon Android = load("org/jetbrains/kotlin/idea/icons/wizard/android.svg", -874848589, 0);
+ /** 16x16 */ public static final @NotNull Icon Android = load("org/jetbrains/kotlin/idea/icons/wizard/android.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/android.svg", -874848589, 0);
/** 16x16 */ public static final @NotNull Icon Compose = load("org/jetbrains/kotlin/idea/icons/wizard/compose.svg", 1503909269, 0);
- /** 16x16 */ public static final @NotNull Icon Console = load("org/jetbrains/kotlin/idea/icons/wizard/console.svg", -1956068639, 0);
+ /** 16x16 */ public static final @NotNull Icon Console = load("org/jetbrains/kotlin/idea/icons/wizard/console.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/console.svg", -1956068639, 0);
/** 16x16 */ public static final @NotNull Icon Ios = load("org/jetbrains/kotlin/idea/icons/wizard/ios.svg", 10617527, 0);
- /** 16x16 */ public static final @NotNull Icon JS = load("org/jetbrains/kotlin/idea/icons/wizard/js.svg", -1870738420, 0);
- /** 16x16 */ public static final @NotNull Icon Jvm = load("org/jetbrains/kotlin/idea/icons/wizard/jvm.svg", 313494095, 0);
- /** 16x16 */ public static final @NotNull Icon Linux = load("org/jetbrains/kotlin/idea/icons/wizard/linux.svg", 2111726531, 0);
+ /** 16x16 */ public static final @NotNull Icon JS = load("org/jetbrains/kotlin/idea/icons/wizard/js.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/js.svg", -1870738420, 0);
+ /** 16x16 */ public static final @NotNull Icon Jvm = load("org/jetbrains/kotlin/idea/icons/wizard/jvm.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/jvm.svg", 313494095, 0);
+ /** 16x16 */ public static final @NotNull Icon Linux = load("org/jetbrains/kotlin/idea/icons/wizard/linux.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/linux.svg", 2111726531, 0);
/** 16x16 */ public static final @NotNull Icon MacOS = load("org/jetbrains/kotlin/idea/icons/wizard/macOS.svg", 187037767, 0);
- /** 16x16 */ public static final @NotNull Icon Multiplatform = load("org/jetbrains/kotlin/idea/icons/wizard/multiplatform.svg", 313067932, 0);
- /** 16x16 */ public static final @NotNull Icon MultiplatformLibrary = load("org/jetbrains/kotlin/idea/icons/wizard/multiplatformLibrary.svg", 1284998225, 0);
- /** 16x16 */ public static final @NotNull Icon MultiplatformMobile = load("org/jetbrains/kotlin/idea/icons/wizard/multiplatformMobile.svg", 1619387367, 0);
- /** 16x16 */ public static final @NotNull Icon MultiplatformMobileLibrary = load("org/jetbrains/kotlin/idea/icons/wizard/multiplatformMobileLibrary.svg", -1108066251, 0);
- /** 16x16 */ public static final @NotNull Icon Native = load("org/jetbrains/kotlin/idea/icons/wizard/native.svg", 1401630099, 0);
- /** 16x16 */ public static final @NotNull Icon Nodejs = load("org/jetbrains/kotlin/idea/icons/wizard/nodejs.svg", 1707175375, 2);
- /** 16x16 */ public static final @NotNull Icon PpWeb = load("org/jetbrains/kotlin/idea/icons/wizard/ppWeb.svg", 1025138221, 0);
+ /** 16x16 */ public static final @NotNull Icon Multiplatform = load("org/jetbrains/kotlin/idea/icons/wizard/multiplatform.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/multiplatform.svg", 313067932, 0);
+ /** 16x16 */ public static final @NotNull Icon MultiplatformLibrary = load("org/jetbrains/kotlin/idea/icons/wizard/multiplatformLibrary.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/multiplatformLibrary.svg", 1284998225, 0);
+ /** 16x16 */ public static final @NotNull Icon MultiplatformMobile = load("org/jetbrains/kotlin/idea/icons/wizard/multiplatformMobile.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/multiplatformMobile.svg", 1619387367, 0);
+ /** 16x16 */ public static final @NotNull Icon MultiplatformMobileLibrary = load("org/jetbrains/kotlin/idea/icons/wizard/multiplatformMobileLibrary.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/multiplatformMobileLibrary.svg", -1108066251, 0);
+ /** 16x16 */ public static final @NotNull Icon Native = load("org/jetbrains/kotlin/idea/icons/wizard/native.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/native.svg", 1401630099, 0);
+ /** 16x16 */ public static final @NotNull Icon Nodejs = load("org/jetbrains/kotlin/idea/icons/wizard/nodejs.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/nodejs.svg", 1707175375, 2);
+ /** 16x16 */ public static final @NotNull Icon PpWeb = load("org/jetbrains/kotlin/idea/icons/wizard/ppWeb.svg", "org/jetbrains/kotlin/idea/icons/expui/wizard/ppWeb.svg", 1025138221, 0);
/** 16x16 */ public static final @NotNull Icon React = load("org/jetbrains/kotlin/idea/icons/wizard/react.svg", -2298240, 0);
/** 16x16 */ public static final @NotNull Icon Windows = load("org/jetbrains/kotlin/idea/icons/wizard/windows.svg", 767860923, 0);
}
diff --git a/plugins/kotlin/plugin/common/resources/META-INF/kotlin-core.xml b/plugins/kotlin/plugin/common/resources/META-INF/kotlin-core.xml
index 11808838f4e2..3b0f6fb6c584 100644
--- a/plugins/kotlin/plugin/common/resources/META-INF/kotlin-core.xml
+++ b/plugins/kotlin/plugin/common/resources/META-INF/kotlin-core.xml
@@ -263,8 +263,6 @@
id="kotlinSkipAutopopupInStrings"
order="after propertyKeys"/>
-
-
diff --git a/plugins/lombok/lang/src/icons/LombokIcons.java b/plugins/lombok/lang/src/icons/LombokIcons.java
index 8dc9fa7fb8e4..3440828dd42b 100644
--- a/plugins/lombok/lang/src/icons/LombokIcons.java
+++ b/plugins/lombok/lang/src/icons/LombokIcons.java
@@ -10,15 +10,15 @@ import javax.swing.*;
* DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead
*/
public final class LombokIcons {
- private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
- return IconManager.getInstance().loadRasterizedIcon(path, LombokIcons.class.getClassLoader(), cacheKey, flags);
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, LombokIcons.class.getClassLoader(), cacheKey, flags);
}
- /** 16x16 */ public static final @NotNull Icon Config = load("icons/config.svg", -951082075, 0);
- /** 16x16 */ public static final @NotNull Icon Lombok = load("icons/lombok.svg", 1713619590, 0);
+ /** 16x16 */ public static final @NotNull Icon Config = load("icons/config.svg", "icons/expui/config.svg", -951082075, 0);
+ /** 16x16 */ public static final @NotNull Icon Lombok = load("icons/lombok.svg", "icons/expui/lombok.svg", 1713619590, 0);
public static final class Nodes {
- /** 16x16 */ public static final @NotNull Icon LombokClass = load("icons/nodes/lombokClass.svg", 192706796, 0);
- /** 16x16 */ public static final @NotNull Icon LombokField = load("icons/nodes/lombokField.svg", -2139677246, 0);
- /** 16x16 */ public static final @NotNull Icon LombokMethod = load("icons/nodes/lombokMethod.svg", 646423920, 1);
+ /** 16x16 */ public static final @NotNull Icon LombokClass = load("icons/nodes/lombokClass.svg", "icons/expui/nodes/lombokClass.svg", 192706796, 0);
+ /** 16x16 */ public static final @NotNull Icon LombokField = load("icons/nodes/lombokField.svg", "icons/expui/nodes/lombokField.svg", -2139677246, 0);
+ /** 16x16 */ public static final @NotNull Icon LombokMethod = load("icons/nodes/lombokMethod.svg", "icons/expui/nodes/lombokMethod.svg", 646423920, 1);
}
}
diff --git a/plugins/lombok/src/main/resources/META-INF/plugin.xml b/plugins/lombok/src/main/resources/META-INF/plugin.xml
index 38d1137a1039..73ac3fd38f99 100644
--- a/plugins/lombok/src/main/resources/META-INF/plugin.xml
+++ b/plugins/lombok/src/main/resources/META-INF/plugin.xml
@@ -244,8 +244,6 @@
-
-
diff --git a/plugins/lombok/src/main/resources/icons/expui/icon-robots.txt b/plugins/lombok/src/main/resources/icons/expui/icon-robots.txt
index f21601437b7f..53c8664db3f1 100644
--- a/plugins/lombok/src/main/resources/icons/expui/icon-robots.txt
+++ b/plugins/lombok/src/main/resources/icons/expui/icon-robots.txt
@@ -1 +1 @@
-skip: *
\ No newline at end of file
+merge
\ No newline at end of file
diff --git a/plugins/markdown/core/gen/org/intellij/plugins/markdown/MarkdownIcons.java b/plugins/markdown/core/gen/org/intellij/plugins/markdown/MarkdownIcons.java
index 9398460d5132..585598f93eaf 100644
--- a/plugins/markdown/core/gen/org/intellij/plugins/markdown/MarkdownIcons.java
+++ b/plugins/markdown/core/gen/org/intellij/plugins/markdown/MarkdownIcons.java
@@ -14,28 +14,31 @@ public final class MarkdownIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, MarkdownIcons.class.getClassLoader(), cacheKey, flags);
}
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, MarkdownIcons.class.getClassLoader(), cacheKey, flags);
+ }
public static final class EditorActions {
- /** 16x16 */ public static final @NotNull Icon AddColumnLeft = load("icons/editor_actions/addColumnLeft.svg", 1600544429, 2);
- /** 16x16 */ public static final @NotNull Icon AddColumnRight = load("icons/editor_actions/addColumnRight.svg", -928503198, 2);
- /** 16x16 */ public static final @NotNull Icon AddRowAbove = load("icons/editor_actions/addRowAbove.svg", -1135327274, 2);
- /** 16x16 */ public static final @NotNull Icon AddRowBelow = load("icons/editor_actions/addRowBelow.svg", -144109156, 2);
- /** 16x16 */ public static final @NotNull Icon Bold = load("icons/editor_actions/Bold.svg", 1113796502, 2);
- /** 16x16 */ public static final @NotNull Icon BulletList = load("icons/editor_actions/bulletList.svg", -237954291, 2);
- /** 16x16 */ public static final @NotNull Icon CenterAlign = load("icons/editor_actions/centerAlign.svg", 669294033, 2);
- /** 16x16 */ public static final @NotNull Icon CheckmarkList = load("icons/editor_actions/checkmarkList.svg", 470139305, 2);
- /** 16x16 */ public static final @NotNull Icon Code_span = load("icons/editor_actions/Code_span.svg", 368492179, 2);
- /** 16x16 */ public static final @NotNull Icon Header_level_down = load("icons/editor_actions/Header_level_down.svg", -1433728030, 2);
- /** 16x16 */ public static final @NotNull Icon Header_level_up = load("icons/editor_actions/Header_level_up.svg", -524853215, 2);
- /** 16x16 */ public static final @NotNull Icon Italic = load("icons/editor_actions/Italic.svg", -1040589874, 2);
- /** 16x16 */ public static final @NotNull Icon LeftAlign = load("icons/editor_actions/leftAlign.svg", -194323511, 2);
- /** 16x16 */ public static final @NotNull Icon Link = load("icons/editor_actions/Link.svg", -861207690, 2);
- /** 16x16 */ public static final @NotNull Icon NumberedList = load("icons/editor_actions/numberedList.svg", -311192714, 2);
- /** 16x16 */ public static final @NotNull Icon RightAlign = load("icons/editor_actions/rightAlign.svg", 884734930, 2);
- /** 16x16 */ public static final @NotNull Icon Strike_through = load("icons/editor_actions/Strike_through.svg", 438972438, 2);
- /** 16x16 */ public static final @NotNull Icon Table = load("icons/editor_actions/table.svg", -231839910, 2);
+ /** 16x16 */ public static final @NotNull Icon AddColumnLeft = load("icons/editor_actions/addColumnLeft.svg", "icons/expui/editorActions/addColumnLeft.svg", 1600544429, 2);
+ /** 16x16 */ public static final @NotNull Icon AddColumnRight = load("icons/editor_actions/addColumnRight.svg", "icons/expui/editorActions/addColumnRight.svg", -928503198, 2);
+ /** 16x16 */ public static final @NotNull Icon AddRowAbove = load("icons/editor_actions/addRowAbove.svg", "icons/expui/editorActions/addRowAbove.svg", -1135327274, 2);
+ /** 16x16 */ public static final @NotNull Icon AddRowBelow = load("icons/editor_actions/addRowBelow.svg", "icons/expui/editorActions/addRowBelow.svg", -144109156, 2);
+ /** 16x16 */ public static final @NotNull Icon Bold = load("icons/editor_actions/Bold.svg", "icons/expui/editorActions/bold.svg", 1113796502, 2);
+ /** 16x16 */ public static final @NotNull Icon BulletList = load("icons/editor_actions/bulletList.svg", "icons/expui/editorActions/bulletList.svg", -237954291, 2);
+ /** 16x16 */ public static final @NotNull Icon CenterAlign = load("icons/editor_actions/centerAlign.svg", "icons/expui/editorActions/centerAlign.svg", 669294033, 2);
+ /** 16x16 */ public static final @NotNull Icon CheckmarkList = load("icons/editor_actions/checkmarkList.svg", "icons/expui/editorActions/checkmarkList.svg", 470139305, 2);
+ /** 16x16 */ public static final @NotNull Icon Code_span = load("icons/editor_actions/Code_span.svg", "icons/expui/editorActions/codeSpan.svg", 368492179, 2);
+ /** 16x16 */ public static final @NotNull Icon Header_level_down = load("icons/editor_actions/Header_level_down.svg", "icons/expui/editorActions/headerLevelDown.svg", -1433728030, 2);
+ /** 16x16 */ public static final @NotNull Icon Header_level_up = load("icons/editor_actions/Header_level_up.svg", "icons/expui/editorActions/headerLevelUp.svg", -524853215, 2);
+ /** 16x16 */ public static final @NotNull Icon Italic = load("icons/editor_actions/Italic.svg", "icons/expui/editorActions/italic.svg", -1040589874, 2);
+ /** 16x16 */ public static final @NotNull Icon LeftAlign = load("icons/editor_actions/leftAlign.svg", "icons/expui/editorActions/leftAlign.svg", -194323511, 2);
+ /** 16x16 */ public static final @NotNull Icon Link = load("icons/editor_actions/Link.svg", "icons/expui/editorActions/link.svg", -861207690, 2);
+ /** 16x16 */ public static final @NotNull Icon NumberedList = load("icons/editor_actions/numberedList.svg", "icons/expui/editorActions/numberedList.svg", -311192714, 2);
+ /** 16x16 */ public static final @NotNull Icon RightAlign = load("icons/editor_actions/rightAlign.svg", "icons/expui/editorActions/rightAlign.svg", 884734930, 2);
+ /** 16x16 */ public static final @NotNull Icon Strike_through = load("icons/editor_actions/Strike_through.svg", "icons/expui/editorActions/strikeThrough.svg", 438972438, 2);
+ /** 16x16 */ public static final @NotNull Icon Table = load("icons/editor_actions/table.svg", "icons/expui/editorActions/table.svg", -231839910, 2);
}
/** 12x12 */ public static final @NotNull Icon ImageGutter = load("icons/imageGutter.svg", 2010654469, 2);
- /** 16x16 */ public static final @NotNull Icon MarkdownPlugin = load("icons/MarkdownPlugin.svg", -1740905249, 0);
+ /** 16x16 */ public static final @NotNull Icon MarkdownPlugin = load("icons/MarkdownPlugin.svg", "icons/expui/markdown.svg", -1740905249, 0);
}
diff --git a/plugins/markdown/core/resources/META-INF/plugin.xml b/plugins/markdown/core/resources/META-INF/plugin.xml
index f0a47898dc2c..415f9143caa1 100644
--- a/plugins/markdown/core/resources/META-INF/plugin.xml
+++ b/plugins/markdown/core/resources/META-INF/plugin.xml
@@ -356,7 +356,6 @@
-
diff --git a/plugins/markdown/core/resources/icons/expui/icon-robots.txt b/plugins/markdown/core/resources/icons/expui/icon-robots.txt
index f21601437b7f..53c8664db3f1 100644
--- a/plugins/markdown/core/resources/icons/expui/icon-robots.txt
+++ b/plugins/markdown/core/resources/icons/expui/icon-robots.txt
@@ -1 +1 @@
-skip: *
\ No newline at end of file
+merge
\ No newline at end of file
diff --git a/plugins/maven/src/main/gen/icons/MavenIcons.java b/plugins/maven/src/main/gen/icons/MavenIcons.java
index 74884a38759c..645aac978a9c 100644
--- a/plugins/maven/src/main/gen/icons/MavenIcons.java
+++ b/plugins/maven/src/main/gen/icons/MavenIcons.java
@@ -14,20 +14,23 @@ public final class MavenIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, MavenIcons.class.getClassLoader(), cacheKey, flags);
}
- /** 16x16 */ public static final @NotNull Icon ChildrenProjects = load("images/childrenProjects.svg", 399507071, 2);
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, MavenIcons.class.getClassLoader(), cacheKey, flags);
+ }
+ /** 16x16 */ public static final @NotNull Icon ChildrenProjects = load("images/childrenProjects.svg", "images/expui/build/mavenChildrenProjects.svg", 399507071, 2);
/** 16x16 */ public static final @NotNull Icon ExecuteMavenGoal = load("images/executeMavenGoal.svg", 1709385426, 2);
- /** 16x16 */ public static final @NotNull Icon MavenIgnored = load("images/mavenIgnored.svg", -1578112873, 2);
- /** 16x16 */ public static final @NotNull Icon MavenLoadChanges = load("images/mavenLoadChanges.svg", 15449020, 2);
+ /** 16x16 */ public static final @NotNull Icon MavenIgnored = load("images/mavenIgnored.svg", "images/expui/fileTypes/mavenIgnored.svg", -1578112873, 2);
+ /** 16x16 */ public static final @NotNull Icon MavenLoadChanges = load("images/mavenLoadChanges.svg", "images/expui/build/mavenLoadChanges.svg", 15449020, 2);
/** 16x16 */ public static final @NotNull Icon MavenModule = load("images/mavenModule.svg", -1526380836, 2);
- /** 16x16 */ public static final @NotNull Icon MavenPlugin = load("images/mavenPlugin.svg", 660249577, 0);
- /** 16x16 */ public static final @NotNull Icon MavenProject = load("images/mavenProject.svg", -1399986903, 0);
- /** 16x16 */ public static final @NotNull Icon MavenRepoFolder = load("images/mavenRepoFolder.svg", 205206251, 0);
- /** 16x16 */ public static final @NotNull Icon MavenRepoLocal = load("images/mavenRepoLocal.svg", -1519797757, 0);
+ /** 16x16 */ public static final @NotNull Icon MavenPlugin = load("images/mavenPlugin.svg", "images/expui/build/mavenPlugin.svg", 660249577, 0);
+ /** 16x16 */ public static final @NotNull Icon MavenProject = load("images/mavenProject.svg", "images/expui/build/mavenProject.svg", -1399986903, 0);
+ /** 16x16 */ public static final @NotNull Icon MavenRepoFolder = load("images/mavenRepoFolder.svg", "images/expui/build/mavenProfiles.svg", 205206251, 0);
+ /** 16x16 */ public static final @NotNull Icon MavenRepoLocal = load("images/mavenRepoLocal.svg", "images/expui/build/mavenProject.svg", -1519797757, 0);
/** 16x16 */ public static final @NotNull Icon MavenRepoRemote = load("images/mavenRepoRemote.svg", 1551467989, 0);
- /** 16x16 */ public static final @NotNull Icon ModulesClosed = load("images/modulesClosed.svg", -1412181772, 0);
- /** 16x16 */ public static final @NotNull Icon ParentProject = load("images/parentProject.svg", -863135840, 2);
- /** 16x16 */ public static final @NotNull Icon PluginGoal = load("images/pluginGoal.svg", 1879670671, 0);
- /** 16x16 */ public static final @NotNull Icon ProfilesClosed = load("images/profilesClosed.svg", -801368669, 0);
- /** 13x13 */ public static final @NotNull Icon ToolWindowMaven = load("images/toolWindowMaven.svg", 1575083751, 2);
- /** 16x16 */ public static final @NotNull Icon UpdateFolders = load("images/updateFolders.svg", 1611888062, 2);
+ /** 16x16 */ public static final @NotNull Icon ModulesClosed = load("images/modulesClosed.svg", "images/expui/build/mavenModule.svg", -1412181772, 0);
+ /** 16x16 */ public static final @NotNull Icon ParentProject = load("images/parentProject.svg", "images/expui/build/mavenParentProjects.svg", -863135840, 2);
+ /** 16x16 */ public static final @NotNull Icon PluginGoal = load("images/pluginGoal.svg", "images/expui/build/mavenPluginGoal.svg", 1879670671, 0);
+ /** 16x16 */ public static final @NotNull Icon ProfilesClosed = load("images/profilesClosed.svg", "images/expui/build/mavenProfiles.svg", -801368669, 0);
+ /** 13x13 */ public static final @NotNull Icon ToolWindowMaven = load("images/toolWindowMaven.svg", "images/expui/toolwindow/maven.svg", 1575083751, 2);
+ /** 16x16 */ public static final @NotNull Icon UpdateFolders = load("images/updateFolders.svg", "images/expui/build/updateFolders.svg", 1611888062, 2);
}
diff --git a/plugins/maven/src/main/resources/META-INF/plugin.xml b/plugins/maven/src/main/resources/META-INF/plugin.xml
index 3833c32c3965..7972fd178dce 100644
--- a/plugins/maven/src/main/resources/META-INF/plugin.xml
+++ b/plugins/maven/src/main/resources/META-INF/plugin.xml
@@ -425,7 +425,6 @@
-
diff --git a/plugins/maven/src/main/resources/images/expui/icon-robots.txt b/plugins/maven/src/main/resources/images/expui/icon-robots.txt
index f21601437b7f..661aa4e83cd1 100644
--- a/plugins/maven/src/main/resources/images/expui/icon-robots.txt
+++ b/plugins/maven/src/main/resources/images/expui/icon-robots.txt
@@ -1 +1,2 @@
-skip: *
\ No newline at end of file
+merge
+skip: /**/*20x20.svg
\ No newline at end of file
diff --git a/plugins/settings-sync/resources/META-INF/plugin.xml b/plugins/settings-sync/resources/META-INF/plugin.xml
index d0baffcd9643..7650998b7f87 100644
--- a/plugins/settings-sync/resources/META-INF/plugin.xml
+++ b/plugins/settings-sync/resources/META-INF/plugin.xml
@@ -48,7 +48,6 @@
-
diff --git a/plugins/settings-sync/resources/icons/expui/icon-robots.txt b/plugins/settings-sync/resources/icons/expui/icon-robots.txt
index f21601437b7f..53c8664db3f1 100644
--- a/plugins/settings-sync/resources/icons/expui/icon-robots.txt
+++ b/plugins/settings-sync/resources/icons/expui/icon-robots.txt
@@ -1 +1 @@
-skip: *
\ No newline at end of file
+merge
\ No newline at end of file
diff --git a/plugins/settings-sync/src/icons/SettingsSyncIcons.java b/plugins/settings-sync/src/icons/SettingsSyncIcons.java
index 4854b5a1424f..c8b51a85032c 100644
--- a/plugins/settings-sync/src/icons/SettingsSyncIcons.java
+++ b/plugins/settings-sync/src/icons/SettingsSyncIcons.java
@@ -10,12 +10,12 @@ import javax.swing.*;
* DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead
*/
public final class SettingsSyncIcons {
- private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
- return IconManager.getInstance().loadRasterizedIcon(path, SettingsSyncIcons.class.getClassLoader(), cacheKey, flags);
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, SettingsSyncIcons.class.getClassLoader(), cacheKey, flags);
}
- /** 16x16 */ public static final @NotNull Icon Conflict = load("icons/conflict.svg", -1642917434, 0);
- /** 16x16 */ public static final @NotNull Icon LocalChanges = load("icons/localChanges.svg", -455323487, 0);
- /** 16x16 */ public static final @NotNull Icon RemoteChanges = load("icons/remoteChanges.svg", 287889654, 0);
- /** 16x16 */ public static final @NotNull Icon StatusDisabled = load("icons/statusDisabled.svg", -1854758088, 2);
- /** 16x16 */ public static final @NotNull Icon StatusEnabled = load("icons/statusEnabled.svg", 1900690067, 0);
+ /** 16x16 */ public static final @NotNull Icon Conflict = load("icons/conflict.svg", "icons/expui/conflict.svg", -1642917434, 0);
+ /** 16x16 */ public static final @NotNull Icon LocalChanges = load("icons/localChanges.svg", "icons/expui/localChanges.svg", -455323487, 0);
+ /** 16x16 */ public static final @NotNull Icon RemoteChanges = load("icons/remoteChanges.svg", "icons/expui/remoteChanges.svg", 287889654, 0);
+ /** 16x16 */ public static final @NotNull Icon StatusDisabled = load("icons/statusDisabled.svg", "icons/expui/statusDisabled.svg", -1854758088, 2);
+ /** 16x16 */ public static final @NotNull Icon StatusEnabled = load("icons/statusEnabled.svg", "icons/expui/statusEnabled.svg", 1900690067, 0);
}
diff --git a/plugins/stream-debugger/resources/META-INF/plugin.xml b/plugins/stream-debugger/resources/META-INF/plugin.xml
index 8d73a9582d5e..e9c2045dc678 100644
--- a/plugins/stream-debugger/resources/META-INF/plugin.xml
+++ b/plugins/stream-debugger/resources/META-INF/plugin.xml
@@ -43,7 +43,6 @@
-
diff --git a/plugins/stream-debugger/resources/icons/expui/icon-robots.txt b/plugins/stream-debugger/resources/icons/expui/icon-robots.txt
index f21601437b7f..53c8664db3f1 100644
--- a/plugins/stream-debugger/resources/icons/expui/icon-robots.txt
+++ b/plugins/stream-debugger/resources/icons/expui/icon-robots.txt
@@ -1 +1 @@
-skip: *
\ No newline at end of file
+merge
\ No newline at end of file
diff --git a/plugins/stream-debugger/src/icons/JavaDebuggerStreamsIcons.java b/plugins/stream-debugger/src/icons/JavaDebuggerStreamsIcons.java
index 35ea67896fa2..c6b10bd3479f 100644
--- a/plugins/stream-debugger/src/icons/JavaDebuggerStreamsIcons.java
+++ b/plugins/stream-debugger/src/icons/JavaDebuggerStreamsIcons.java
@@ -11,8 +11,8 @@ import javax.swing.*;
* DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead
*/
public final class JavaDebuggerStreamsIcons {
- private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
- return IconManager.getInstance().loadRasterizedIcon(path, JavaDebuggerStreamsIcons.class.getClassLoader(), cacheKey, flags);
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, JavaDebuggerStreamsIcons.class.getClassLoader(), cacheKey, flags);
}
- /** 16x16 */ public static final @NotNull Icon Stream_debugger = load("icons/stream_debugger.svg", 740832238, 2);
+ /** 16x16 */ public static final @NotNull Icon Stream_debugger = load("icons/stream_debugger.svg", "icons/expui/traceStream.svg", 740832238, 2);
}
diff --git a/plugins/tasks/tasks-core/gen/icons/TasksCoreIcons.java b/plugins/tasks/tasks-core/gen/icons/TasksCoreIcons.java
index 5c3e5021cad4..e1b15be5d5b3 100644
--- a/plugins/tasks/tasks-core/gen/icons/TasksCoreIcons.java
+++ b/plugins/tasks/tasks-core/gen/icons/TasksCoreIcons.java
@@ -14,10 +14,13 @@ public final class TasksCoreIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, TasksCoreIcons.class.getClassLoader(), cacheKey, flags);
}
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, TasksCoreIcons.class.getClassLoader(), cacheKey, flags);
+ }
/** 16x16 */ public static final @NotNull Icon Asana = load("icons/asana.svg", 1079827175, 0);
/** 16x16 */ public static final @NotNull Icon Assembla = load("icons/assembla.svg", 776506254, 2);
/** 16x16 */ public static final @NotNull Icon Bugzilla = load("icons/bugzilla.svg", 644193743, 0);
- /** 13x13 */ public static final @NotNull Icon Clock = load("icons/clock.svg", -1071466953, 2);
+ /** 13x13 */ public static final @NotNull Icon Clock = load("icons/clock.svg", "icons/expui/toolWindowTimer.svg", -1071466953, 2);
/** 16x16 */ public static final @NotNull Icon Fogbugz = load("icons/fogbugz.svg", -305019715, 0);
/** 16x16 */ public static final @NotNull Icon Gitlab = load("icons/gitlab.svg", 802755203, 0);
/** 16x16 */ public static final @NotNull Icon Jira = load("icons/jira.svg", -1857924451, 0);
@@ -27,8 +30,8 @@ public final class TasksCoreIcons {
/** 16x16 */ public static final @NotNull Icon Redmine = load("icons/redmine.svg", -1916337797, 0);
/** 16x16 */ public static final @NotNull Icon SavedContext = load("icons/savedContext.svg", -1605394617, 0);
/** 16x16 */ public static final @NotNull Icon Sprintly = load("icons/sprintly.svg", -1270774795, 0);
- /** 16x16 */ public static final @NotNull Icon StartTimer = load("icons/startTimer.svg", 126461142, 2);
- /** 16x16 */ public static final @NotNull Icon StopTimer = load("icons/stopTimer.svg", 2121315925, 2);
+ /** 16x16 */ public static final @NotNull Icon StartTimer = load("icons/startTimer.svg", "icons/expui/startTimer.svg", 126461142, 2);
+ /** 16x16 */ public static final @NotNull Icon StopTimer = load("icons/stopTimer.svg", "icons/expui/stopTimer.svg", 2121315925, 2);
/** 16x16 */ public static final @NotNull Icon Trac = load("icons/trac.svg", 959738233, 0);
/** 16x16 */ public static final @NotNull Icon Trello = load("icons/trello.svg", 1425271377, 0);
/** 16x16 */ public static final @NotNull Icon Youtrack = load("icons/youtrack.svg", 842371061, 0);
diff --git a/plugins/tasks/tasks-core/resources/META-INF/plugin.xml b/plugins/tasks/tasks-core/resources/META-INF/plugin.xml
index 52a69ac18361..b506f47cd976 100644
--- a/plugins/tasks/tasks-core/resources/META-INF/plugin.xml
+++ b/plugins/tasks/tasks-core/resources/META-INF/plugin.xml
@@ -156,7 +156,5 @@
-
-
diff --git a/plugins/tasks/tasks-core/resources/icons/expui/icon-robots.txt b/plugins/tasks/tasks-core/resources/icons/expui/icon-robots.txt
index f21601437b7f..d62476739f9e 100644
--- a/plugins/tasks/tasks-core/resources/icons/expui/icon-robots.txt
+++ b/plugins/tasks/tasks-core/resources/icons/expui/icon-robots.txt
@@ -1 +1,2 @@
-skip: *
\ No newline at end of file
+merge
+skip: *20x20.svg
\ No newline at end of file
diff --git a/plugins/terminal/resources/META-INF/terminal.xml b/plugins/terminal/resources/META-INF/terminal.xml
index 880c4a0a1f4b..506e46227c7c 100644
--- a/plugins/terminal/resources/META-INF/terminal.xml
+++ b/plugins/terminal/resources/META-INF/terminal.xml
@@ -39,7 +39,6 @@
-
diff --git a/plugins/terminal/resources/icons/expui/icon-robots.txt b/plugins/terminal/resources/icons/expui/icon-robots.txt
index f21601437b7f..661aa4e83cd1 100644
--- a/plugins/terminal/resources/icons/expui/icon-robots.txt
+++ b/plugins/terminal/resources/icons/expui/icon-robots.txt
@@ -1 +1,2 @@
-skip: *
\ No newline at end of file
+merge
+skip: /**/*20x20.svg
\ No newline at end of file
diff --git a/plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalIcons.java b/plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalIcons.java
index 610edfe4c20d..7fcdc96270f0 100644
--- a/plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalIcons.java
+++ b/plugins/terminal/src/org/jetbrains/plugins/terminal/TerminalIcons.java
@@ -14,8 +14,11 @@ public final class TerminalIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, TerminalIcons.class.getClassLoader(), cacheKey, flags);
}
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, TerminalIcons.class.getClassLoader(), cacheKey, flags);
+ }
/** 16x16 */ public static final @NotNull Icon Command = load("icons/command.svg", 957086477, 2);
- /** 13x13 */ public static final @NotNull Icon OpenTerminal_13x13 = load("icons/OpenTerminal_13x13.svg", 1939257758, 2);
+ /** 13x13 */ public static final @NotNull Icon OpenTerminal_13x13 = load("icons/OpenTerminal_13x13.svg", "icons/expui/toolwindow/terminal.svg", 1939257758, 2);
/** 16x16 */ public static final @NotNull Icon Option = load("icons/option.svg", -1363443188, 2);
/** 16x16 */ public static final @NotNull Icon Other = load("icons/other.svg", 2034971647, 2);
/** 16x16 */ public static final @NotNull Icon OtherFile = load("icons/otherFile.svg", 1021254284, 2);
diff --git a/plugins/toml/core/src/gen/org/toml/TomlIcons.java b/plugins/toml/core/src/gen/org/toml/TomlIcons.java
index 9a18f9a245d0..5e2e4f9c325d 100644
--- a/plugins/toml/core/src/gen/org/toml/TomlIcons.java
+++ b/plugins/toml/core/src/gen/org/toml/TomlIcons.java
@@ -10,8 +10,8 @@ import javax.swing.*;
* DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead
*/
public final class TomlIcons {
- private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
- return IconManager.getInstance().loadRasterizedIcon(path, TomlIcons.class.getClassLoader(), cacheKey, flags);
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, TomlIcons.class.getClassLoader(), cacheKey, flags);
}
- /** 16x16 */ public static final @NotNull Icon TomlFile = load("icons/toml-file.svg", -1826996194, 2);
+ /** 16x16 */ public static final @NotNull Icon TomlFile = load("icons/toml-file.svg", "icons/newui/toml.svg", -1826996194, 2);
}
diff --git a/plugins/toml/core/src/main/resources/icons/newui/icon-robots.txt b/plugins/toml/core/src/main/resources/icons/newui/icon-robots.txt
index f21601437b7f..53c8664db3f1 100644
--- a/plugins/toml/core/src/main/resources/icons/newui/icon-robots.txt
+++ b/plugins/toml/core/src/main/resources/icons/newui/icon-robots.txt
@@ -1 +1 @@
-skip: *
\ No newline at end of file
+merge
\ No newline at end of file
diff --git a/plugins/toml/resources/META-INF/plugin.xml b/plugins/toml/resources/META-INF/plugin.xml
index b04f5cfdb0e7..945b7a6a7206 100644
--- a/plugins/toml/resources/META-INF/plugin.xml
+++ b/plugins/toml/resources/META-INF/plugin.xml
@@ -72,6 +72,5 @@
-
diff --git a/plugins/xpath/xpath-lang/gen/icons/XpathIcons.java b/plugins/xpath/xpath-lang/gen/icons/XpathIcons.java
index e0311fc977b3..b0a46650c23e 100644
--- a/plugins/xpath/xpath-lang/gen/icons/XpathIcons.java
+++ b/plugins/xpath/xpath-lang/gen/icons/XpathIcons.java
@@ -14,13 +14,16 @@ public final class XpathIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, XpathIcons.class.getClassLoader(), cacheKey, flags);
}
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, XpathIcons.class.getClassLoader(), cacheKey, flags);
+ }
/** 16x16 */ public static final @NotNull Icon Association = load("icons/association.svg", -708606974, 0);
/** 16x16 */ public static final @NotNull Icon Association_small = load("icons/association_small.svg", -1753879133, 2);
/** 16x16 */ public static final @NotNull Icon Function = load("icons/function.svg", 1095555051, 0);
/** 16x16 */ public static final @NotNull Icon Namespace = load("icons/namespace.svg", 1849515194, 1);
/** 16x16 */ public static final @NotNull Icon Template = load("icons/template.svg", 414204381, 0);
/** 16x16 */ public static final @NotNull Icon Xml = load("icons/xml.png", 0, 2);
- /** 16x16 */ public static final @NotNull Icon Xpath = load("icons/xpath.svg", -220283778, 0);
+ /** 16x16 */ public static final @NotNull Icon Xpath = load("icons/xpath.svg", "icons/expui/xpath.svg", -220283778, 0);
/** 16x16 */ public static final @NotNull Icon XsltFiletypeOverlay = load("icons/xslt-filetype-overlay.svg", -935948328, 0);
/** 16x16 */ public static final @NotNull Icon Xslt = load("icons/xslt.svg", 1017401713, 0);
}
diff --git a/plugins/xpath/xpath-lang/resources/icons/expui/icon-robots.txt b/plugins/xpath/xpath-lang/resources/icons/expui/icon-robots.txt
index f21601437b7f..53c8664db3f1 100644
--- a/plugins/xpath/xpath-lang/resources/icons/expui/icon-robots.txt
+++ b/plugins/xpath/xpath-lang/resources/icons/expui/icon-robots.txt
@@ -1 +1 @@
-skip: *
\ No newline at end of file
+merge
\ No newline at end of file
diff --git a/plugins/xpath/xpath-view/src/META-INF/plugin.xml b/plugins/xpath/xpath-view/src/META-INF/plugin.xml
index 88e0142c1047..11eb3ee48adc 100644
--- a/plugins/xpath/xpath-view/src/META-INF/plugin.xml
+++ b/plugins/xpath/xpath-view/src/META-INF/plugin.xml
@@ -187,8 +187,6 @@
-
-
diff --git a/python/gen/com/jetbrains/python/icons/PythonIcons.java b/python/gen/com/jetbrains/python/icons/PythonIcons.java
index 6bea6b32e58c..5af9cdaa54f5 100644
--- a/python/gen/com/jetbrains/python/icons/PythonIcons.java
+++ b/python/gen/com/jetbrains/python/icons/PythonIcons.java
@@ -14,25 +14,28 @@ public final class PythonIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, PythonIcons.class.getClassLoader(), cacheKey, flags);
}
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, PythonIcons.class.getClassLoader(), cacheKey, flags);
+ }
public static final class Cython {
/** 16x16 */ public static final @NotNull Icon CythonFile = load("icons/com/jetbrains/pythonCore/cython/cythonFile.svg", -1709759022, 0);
}
public static final class Python {
- /** 16x16 */ public static final @NotNull Icon Anaconda = load("icons/com/jetbrains/pythonCore/python/anaconda.svg", -520915032, 0);
- /** 16x16 */ public static final @NotNull Icon AttachDebugger = load("icons/com/jetbrains/pythonCore/python/attachDebugger.svg", 1845469384, 2);
- /** 16x16 */ public static final @NotNull Icon CommandQueue = load("icons/com/jetbrains/pythonCore/python/commandQueue.svg", -183748339, 2);
- /** 16x16 */ public static final @NotNull Icon Condaenv = load("icons/com/jetbrains/pythonCore/python/condaenv.svg", -1473092825, 0);
- /** 13x13 */ public static final @NotNull Icon DataView = load("icons/com/jetbrains/pythonCore/python/DataView.svg", 1534347386, 2);
+ /** 16x16 */ public static final @NotNull Icon Anaconda = load("icons/com/jetbrains/pythonCore/python/anaconda.svg", "icons/com/jetbrains/pythonCore/python/expui/anaconda.svg", -520915032, 0);
+ /** 16x16 */ public static final @NotNull Icon AttachDebugger = load("icons/com/jetbrains/pythonCore/python/attachDebugger.svg", "icons/com/jetbrains/pythonCore/python/expui/attachDebugger.svg", 1845469384, 2);
+ /** 16x16 */ public static final @NotNull Icon CommandQueue = load("icons/com/jetbrains/pythonCore/python/commandQueue.svg", "icons/com/jetbrains/pythonCore/python/expui/commandQueue.svg", -183748339, 2);
+ /** 16x16 */ public static final @NotNull Icon Condaenv = load("icons/com/jetbrains/pythonCore/python/condaenv.svg", "icons/com/jetbrains/pythonCore/python/expui/condaEnv.svg", -1473092825, 0);
+ /** 13x13 */ public static final @NotNull Icon DataView = load("icons/com/jetbrains/pythonCore/python/DataView.svg", "icons/com/jetbrains/pythonCore/python/expui/sciView.svg", 1534347386, 2);
public static final class Debug {
- /** 16x16 */ public static final @NotNull Icon SpecialVar = load("icons/com/jetbrains/pythonCore/python/debug/specialVar.svg", 670495800, 0);
- /** 16x16 */ public static final @NotNull Icon StepIntoMyCode = load("icons/com/jetbrains/pythonCore/python/debug/StepIntoMyCode.svg", -1301661836, 2);
+ /** 16x16 */ public static final @NotNull Icon SpecialVar = load("icons/com/jetbrains/pythonCore/python/debug/specialVar.svg", "icons/com/jetbrains/pythonCore/python/expui/debug/specialVar.svg", 670495800, 0);
+ /** 16x16 */ public static final @NotNull Icon StepIntoMyCode = load("icons/com/jetbrains/pythonCore/python/debug/StepIntoMyCode.svg", "icons/com/jetbrains/pythonCore/python/expui/debug/stepIntoMyCode.svg", -1301661836, 2);
}
- /** 16x16 */ public static final @NotNull Icon ExecuteCurrentStatement = load("icons/com/jetbrains/pythonCore/python/executeCurrentStatement.svg", -43244894, 2);
- /** 16x16 */ public static final @NotNull Icon Function = load("icons/com/jetbrains/pythonCore/python/function.svg", 1027695397, 0);
+ /** 16x16 */ public static final @NotNull Icon ExecuteCurrentStatement = load("icons/com/jetbrains/pythonCore/python/executeCurrentStatement.svg", "icons/com/jetbrains/pythonCore/python/expui/executeCurrentStatement.svg", -43244894, 2);
+ /** 16x16 */ public static final @NotNull Icon Function = load("icons/com/jetbrains/pythonCore/python/function.svg", "icons/com/jetbrains/pythonCore/python/expui/function.svg", 1027695397, 0);
/** 16x16 */ public static final @NotNull Icon Jython = load("icons/com/jetbrains/pythonCore/python/jython.svg", -359107473, 0);
/** 16x16 */ public static final @NotNull Icon NumPy = load("icons/com/jetbrains/pythonCore/python/numPy.svg", 205590373, 2);
/** 16x16 */ public static final @NotNull Icon Origami = load("icons/com/jetbrains/pythonCore/python/origami.svg", 81945933, 2);
@@ -40,16 +43,16 @@ public final class PythonIcons {
/** 16x16 */ public static final @NotNull Icon Polars = load("icons/com/jetbrains/pythonCore/python/polars.svg", 1700660876, 2);
/** 16x16 */ public static final @NotNull Icon Pycharm = load("icons/com/jetbrains/pythonCore/python/pycharm.svg", 2014186643, 0);
/** 16x16 */ public static final @NotNull Icon Pypy = load("icons/com/jetbrains/pythonCore/python/pypy.svg", 186053200, 0);
- /** 16x16 */ public static final @NotNull Icon PythonClosed = load("icons/com/jetbrains/pythonCore/python/pythonClosed.svg", -663368800, 0);
- /** 16x16 */ public static final @NotNull Icon PythonConsole = load("icons/com/jetbrains/pythonCore/python/pythonConsole.svg", 2125468440, 0);
- /** 13x13 */ public static final @NotNull Icon PythonConsoleToolWindow = load("icons/com/jetbrains/pythonCore/python/pythonConsoleToolWindow.svg", 1833337589, 2);
- /** 13x13 */ public static final @NotNull Icon PythonPackages = load("icons/com/jetbrains/pythonCore/python/pythonPackages.svg", 272044150, 2);
- /** 16x16 */ public static final @NotNull Icon PythonTests = load("icons/com/jetbrains/pythonCore/python/pythonTests.svg", 1252990498, 0);
- /** 16x16 */ public static final @NotNull Icon RemoteInterpreter = load("icons/com/jetbrains/pythonCore/python/RemoteInterpreter.svg", 60369309, 0);
- /** 16x16 */ public static final @NotNull Icon Ssh = load("icons/com/jetbrains/pythonCore/python/ssh.svg", 1941773502, 0);
- /** 16x16 */ public static final @NotNull Icon TemplateRoot = load("icons/com/jetbrains/pythonCore/python/templateRoot.svg", 6261950, 0);
+ /** 16x16 */ public static final @NotNull Icon PythonClosed = load("icons/com/jetbrains/pythonCore/python/pythonClosed.svg", "icons/com/jetbrains/pythonCore/python/expui/pythonClosed.svg", -663368800, 0);
+ /** 16x16 */ public static final @NotNull Icon PythonConsole = load("icons/com/jetbrains/pythonCore/python/pythonConsole.svg", "icons/com/jetbrains/pythonCore/python/expui/pythonConsole.svg", 2125468440, 0);
+ /** 13x13 */ public static final @NotNull Icon PythonConsoleToolWindow = load("icons/com/jetbrains/pythonCore/python/pythonConsoleToolWindow.svg", "icons/com/jetbrains/pythonCore/python/expui/pythonConsoleToolWindow.svg", 1833337589, 2);
+ /** 13x13 */ public static final @NotNull Icon PythonPackages = load("icons/com/jetbrains/pythonCore/python/pythonPackages.svg", "icons/com/jetbrains/pythonCore/python/expui/pythonPackages.svg", 272044150, 2);
+ /** 16x16 */ public static final @NotNull Icon PythonTests = load("icons/com/jetbrains/pythonCore/python/pythonTests.svg", "icons/com/jetbrains/pythonCore/python/expui/pythonTests.svg", 1252990498, 0);
+ /** 16x16 */ public static final @NotNull Icon RemoteInterpreter = load("icons/com/jetbrains/pythonCore/python/RemoteInterpreter.svg", "icons/com/jetbrains/pythonCore/python/expui/remoteInterpreter.svg", 60369309, 0);
+ /** 16x16 */ public static final @NotNull Icon Ssh = load("icons/com/jetbrains/pythonCore/python/ssh.svg", "icons/com/jetbrains/pythonCore/python/expui/ssh.svg", 1941773502, 0);
+ /** 16x16 */ public static final @NotNull Icon TemplateRoot = load("icons/com/jetbrains/pythonCore/python/templateRoot.svg", "icons/com/jetbrains/pythonCore/python/expui/templateRoot.svg", 6261950, 0);
/** 16x16 */ public static final @NotNull Icon TensorFlow = load("icons/com/jetbrains/pythonCore/python/tensorFlow.svg", 1673568687, 2);
- /** 16x16 */ public static final @NotNull Icon Vagrant = load("icons/com/jetbrains/pythonCore/python/vagrant.svg", -820295927, 0);
- /** 16x16 */ public static final @NotNull Icon Virtualenv = load("icons/com/jetbrains/pythonCore/python/virtualenv.svg", 758230626, 0);
+ /** 16x16 */ public static final @NotNull Icon Vagrant = load("icons/com/jetbrains/pythonCore/python/vagrant.svg", "icons/com/jetbrains/pythonCore/python/expui/vagrant.svg", -820295927, 0);
+ /** 16x16 */ public static final @NotNull Icon Virtualenv = load("icons/com/jetbrains/pythonCore/python/virtualenv.svg", "icons/com/jetbrains/pythonCore/python/expui/virtualEnv.svg", 758230626, 0);
}
}
diff --git a/python/pluginResources/icons/com/jetbrains/pythonCore/python/expui/icon-robots.txt b/python/pluginResources/icons/com/jetbrains/pythonCore/python/expui/icon-robots.txt
index f21601437b7f..661aa4e83cd1 100644
--- a/python/pluginResources/icons/com/jetbrains/pythonCore/python/expui/icon-robots.txt
+++ b/python/pluginResources/icons/com/jetbrains/pythonCore/python/expui/icon-robots.txt
@@ -1 +1,2 @@
-skip: *
\ No newline at end of file
+merge
+skip: /**/*20x20.svg
\ No newline at end of file
diff --git a/python/python-parser/gen/com/jetbrains/python/parser/icons/PythonParserIcons.java b/python/python-parser/gen/com/jetbrains/python/parser/icons/PythonParserIcons.java
index fc912c1e2702..a8def7ec1d94 100644
--- a/python/python-parser/gen/com/jetbrains/python/parser/icons/PythonParserIcons.java
+++ b/python/python-parser/gen/com/jetbrains/python/parser/icons/PythonParserIcons.java
@@ -11,8 +11,8 @@ import javax.swing.*;
* DO NOT EDIT IT BY HAND, run "Generate icon classes" configuration instead
*/
public final class PythonParserIcons {
- private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
- return IconManager.getInstance().loadRasterizedIcon(path, PythonParserIcons.class.getClassLoader(), cacheKey, flags);
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, PythonParserIcons.class.getClassLoader(), cacheKey, flags);
}
- /** 16x16 */ public static final @NotNull Icon PythonFile = load("icons/com/jetbrains/python/parser/pythonFile.svg", -1892316725, 0);
+ /** 16x16 */ public static final @NotNull Icon PythonFile = load("icons/com/jetbrains/python/parser/pythonFile.svg", "icons/com/jetbrains/python/parser/expui/python.svg", -1892316725, 0);
}
diff --git a/python/python-psi-api/resources/PythonPsiApiIconMappings.json b/python/python-parser/resources/PythonPsiApiIconMappings.json
similarity index 91%
rename from python/python-psi-api/resources/PythonPsiApiIconMappings.json
rename to python/python-parser/resources/PythonPsiApiIconMappings.json
index 7ab4562211d2..16559f11ff8c 100644
--- a/python/python-psi-api/resources/PythonPsiApiIconMappings.json
+++ b/python/python-parser/resources/PythonPsiApiIconMappings.json
@@ -3,7 +3,7 @@
"com": {
"jetbrains": {
"python": {
- "psi": {
+ "parser": {
"expui": {
"python.svg": "icons/com/jetbrains/python/parser/pythonFile.svg"
}
diff --git a/python/python-parser/resources/icons/com/jetbrains/python/parser/expui/icon-robots.txt b/python/python-parser/resources/icons/com/jetbrains/python/parser/expui/icon-robots.txt
new file mode 100644
index 000000000000..53c8664db3f1
--- /dev/null
+++ b/python/python-parser/resources/icons/com/jetbrains/python/parser/expui/icon-robots.txt
@@ -0,0 +1 @@
+merge
\ No newline at end of file
diff --git a/python/python-psi-api/resources/icons/com/jetbrains/python/psi/expui/python.svg b/python/python-parser/resources/icons/com/jetbrains/python/parser/expui/python.svg
similarity index 100%
rename from python/python-psi-api/resources/icons/com/jetbrains/python/psi/expui/python.svg
rename to python/python-parser/resources/icons/com/jetbrains/python/parser/expui/python.svg
diff --git a/python/python-psi-api/resources/icons/com/jetbrains/python/psi/expui/python_dark.svg b/python/python-parser/resources/icons/com/jetbrains/python/parser/expui/python_dark.svg
similarity index 100%
rename from python/python-psi-api/resources/icons/com/jetbrains/python/psi/expui/python_dark.svg
rename to python/python-parser/resources/icons/com/jetbrains/python/parser/expui/python_dark.svg
diff --git a/python/python-psi-api/resources/META-INF/PythonPsi.xml b/python/python-psi-api/resources/META-INF/PythonPsi.xml
index f55977fcb3ef..15585484a3f6 100644
--- a/python/python-psi-api/resources/META-INF/PythonPsi.xml
+++ b/python/python-psi-api/resources/META-INF/PythonPsi.xml
@@ -45,7 +45,5 @@
-
-
diff --git a/python/python-psi-api/resources/icons/com/jetbrains/python/psi/expui/icon-robots.txt b/python/python-psi-api/resources/icons/com/jetbrains/python/psi/expui/icon-robots.txt
deleted file mode 100644
index f21601437b7f..000000000000
--- a/python/python-psi-api/resources/icons/com/jetbrains/python/psi/expui/icon-robots.txt
+++ /dev/null
@@ -1 +0,0 @@
-skip: *
\ No newline at end of file
diff --git a/python/python-psi-api/resources/icons/com/jetbrains/python/psi/expui/python_stroke.svg b/python/python-psi-api/resources/icons/com/jetbrains/python/psi/expui/python_stroke.svg
deleted file mode 100644
index abfef91d4c0e..000000000000
--- a/python/python-psi-api/resources/icons/com/jetbrains/python/psi/expui/python_stroke.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
diff --git a/python/src/intellij.python.community.impl.xml b/python/src/intellij.python.community.impl.xml
index ee458922d934..354443397110 100644
--- a/python/src/intellij.python.community.impl.xml
+++ b/python/src/intellij.python.community.impl.xml
@@ -70,7 +70,6 @@
defaultValue="true"
restartRequired="false"
description="Use bare python instead of conda run for conda"/>
-
diff --git a/spellchecker/gen/icons/SpellcheckerIcons.java b/spellchecker/gen/icons/SpellcheckerIcons.java
index cfe7c04a9495..681ec5337be5 100644
--- a/spellchecker/gen/icons/SpellcheckerIcons.java
+++ b/spellchecker/gen/icons/SpellcheckerIcons.java
@@ -14,6 +14,9 @@ public final class SpellcheckerIcons {
private static @NotNull Icon load(@NotNull String path, int cacheKey, int flags) {
return IconManager.getInstance().loadRasterizedIcon(path, SpellcheckerIcons.class.getClassLoader(), cacheKey, flags);
}
- /** 16x16 */ public static final @NotNull Icon Dictionary = load("icons/dictionary.svg", -2094657776, 2);
+ private static @NotNull Icon load(@NotNull String path, @NotNull String expUIPath, int cacheKey, int flags) {
+ return IconManager.getInstance().loadRasterizedIcon(path, expUIPath, SpellcheckerIcons.class.getClassLoader(), cacheKey, flags);
+ }
+ /** 16x16 */ public static final @NotNull Icon Dictionary = load("icons/dictionary.svg", "icons/newui/dictionary.svg", -2094657776, 2);
/** 16x16 */ public static final @NotNull Icon Spellcheck = load("icons/spellcheck.svg", 1919442669, 2);
}
diff --git a/spellchecker/resources/icons/newui/icon-robots.txt b/spellchecker/resources/icons/newui/icon-robots.txt
index f21601437b7f..53c8664db3f1 100644
--- a/spellchecker/resources/icons/newui/icon-robots.txt
+++ b/spellchecker/resources/icons/newui/icon-robots.txt
@@ -1 +1 @@
-skip: *
\ No newline at end of file
+merge
\ No newline at end of file
diff --git a/spellchecker/src/META-INF/SpellCheckerPlugin.xml b/spellchecker/src/META-INF/SpellCheckerPlugin.xml
index 571cd4c8db69..348a57be9ef2 100644
--- a/spellchecker/src/META-INF/SpellCheckerPlugin.xml
+++ b/spellchecker/src/META-INF/SpellCheckerPlugin.xml
@@ -42,7 +42,5 @@
-
-