From 0c92e8aac87dc4a75fe13b556e27a752e789fb38 Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Mon, 17 Jul 2017 14:55:30 +0300 Subject: [PATCH] IDEA-103558 move icons.gant to CE source code --- .../Generate_icon_classes__ex_icons_gant_.xml | 15 ++++++++ .../Optimize_images_for_tips_tricks.xml | 15 ++++++++ .../build/images/generateIconClasses.kt | 35 +++++++++++++++++++ .../build/images/optimizeTipsImages.kt | 27 ++++++++++++++ 4 files changed, 92 insertions(+) create mode 100644 .idea/runConfigurations/Generate_icon_classes__ex_icons_gant_.xml create mode 100644 .idea/runConfigurations/Optimize_images_for_tips_tricks.xml create mode 100644 platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/generateIconClasses.kt create mode 100644 platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/optimizeTipsImages.kt diff --git a/.idea/runConfigurations/Generate_icon_classes__ex_icons_gant_.xml b/.idea/runConfigurations/Generate_icon_classes__ex_icons_gant_.xml new file mode 100644 index 000000000000..2448d1d44be0 --- /dev/null +++ b/.idea/runConfigurations/Generate_icon_classes__ex_icons_gant_.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations/Optimize_images_for_tips_tricks.xml b/.idea/runConfigurations/Optimize_images_for_tips_tricks.xml new file mode 100644 index 000000000000..a0e7db6f4f19 --- /dev/null +++ b/.idea/runConfigurations/Optimize_images_for_tips_tricks.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/generateIconClasses.kt b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/generateIconClasses.kt new file mode 100644 index 000000000000..f6567447cccd --- /dev/null +++ b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/generateIconClasses.kt @@ -0,0 +1,35 @@ +package org.jetbrains.intellij.build.images + +import com.intellij.openapi.application.PathManager +import org.jetbrains.jps.model.serialization.JpsSerializationManager +import java.io.File + +fun main(args: Array) { + val homePath = PathManager.getHomePath() + val home = File(homePath) + val project = JpsSerializationManager.getInstance().loadModel(homePath, null).project + + val util = project.modules.find { it.name == "util" } ?: throw IllegalStateException("Can't load module 'util'") + + val generator = IconsClassGenerator(home, util) + project.modules.forEach { module -> + generator.processModule(module) + } + generator.printStats() + + val optimizer = ImageSizeOptimizer(home) + project.modules.forEach { module -> + optimizer.optimizeIcons(module) + } + optimizer.printStats() + + val checker = ImageSanityChecker(home) + project.modules.forEach { module -> + checker.check(module) + } +// checker.printInfo() + checker.printWarnings() + + println() + println("Done") +} \ No newline at end of file diff --git a/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/optimizeTipsImages.kt b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/optimizeTipsImages.kt new file mode 100644 index 000000000000..07e3c6a666ea --- /dev/null +++ b/platform/build-scripts/icons/src/org/jetbrains/intellij/build/images/optimizeTipsImages.kt @@ -0,0 +1,27 @@ +package org.jetbrains.intellij.build.images + +import com.intellij.openapi.application.PathManager +import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes +import org.jetbrains.jps.model.serialization.JpsSerializationManager +import java.io.File + +fun main(args: Array) { + val homePath = PathManager.getHomePath() + val home = File(homePath) + val project = JpsSerializationManager.getInstance().loadModel(homePath, null).project + + val optimizer = ImageSizeOptimizer(home) + project.modules.forEach { module -> + module.sourceRoots.forEach { root -> + val imagesDir = File(root.file, "tips/images") + if (JavaModuleSourceRootTypes.PRODUCTION.contains(root.rootType) && imagesDir.isDirectory) { + val images = optimizer.optimizeImages(imagesDir) + println("Processed root ${root.file} with $images images") + } + } + } + optimizer.printStats() + + println() + println("Done") +} \ No newline at end of file