From 5db971e11d74d76c918df608bec54febed24b192 Mon Sep 17 00:00:00 2001 From: nik Date: Tue, 24 Jan 2017 15:31:45 +0300 Subject: [PATCH] build scripts: check that runtime classes of UI Designer aren't included into plugin distribution These classes are added into a JAR in IDE_HOME/lib so duplicating them in a plugin is unnecessary and may lead to classloading issues. --- .../intellij/build/impl/DistributionJARsBuilder.groovy | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/DistributionJARsBuilder.groovy b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/DistributionJARsBuilder.groovy index 787f1d9c611e..15941d34928d 100644 --- a/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/DistributionJARsBuilder.groovy +++ b/platform/build-scripts/groovy/org/jetbrains/intellij/build/impl/DistributionJARsBuilder.groovy @@ -303,6 +303,13 @@ class DistributionJARsBuilder { if (modulesWithPluginXml.size() > 1) { buildContext.messages.error("Multiple modules (${modulesWithPluginXml.join(", ")}) from '$mainPluginModule' plugin contain plugin.xml files so the plugin won't work properly") } + + moduleNames.each { + if (containsFileInOutput(it, "com/intellij/uiDesigner/core/GridLayoutManager.class")) { + buildContext.messages.error("Runtime classes of GUI designer must not be packaged to '$mainPluginModule' plugin, because they are included into a platform JAR. " + + "Make sure that 'Automatically copy form runtime classes to the output directory' is disabled in Settings | Editor | GUI Designer.") + } + } } private boolean containsFileInOutput(String moduleName, String filePath) {