diff --git a/.agents/skills/testing/SKILL.md b/.agents/skills/testing/SKILL.md index cb07eac64922..e1e0a564e4be 100644 --- a/.agents/skills/testing/SKILL.md +++ b/.agents/skills/testing/SKILL.md @@ -53,6 +53,14 @@ Use `community/tests.cmd` for tests that belong to community-only modules: ./community/tests.cmd --module --test ``` +### Product layout and packaging changes + +When changing `ProductProperties`, `productImplementationModules`, product content descriptors, plugin/module-set packaging, or generated product layout XML, also run: + +```bash +./tests.cmd --module intellij.idea.ultimate.build.tests --test com.intellij.idea.ultimate.build.smokeTests.AllProductsPackagingTest +``` + ### Windows PowerShell note When running `tests.cmd` from PowerShell, pass JVM `-D...` arguments via stop-parsing mode to avoid argument mangling: diff --git a/.claude/skills/actions/SKILL.md b/.claude/skills/actions/SKILL.md index cfc12619a0b3..dce2e2c80bd4 100644 --- a/.claude/skills/actions/SKILL.md +++ b/.claude/skills/actions/SKILL.md @@ -16,6 +16,8 @@ Guidelines for implementing IntelliJ actions (`AnAction`). - **NEVER instantiate Presentation in action constructors** - Use no-argument constructors - **Define text, description, and icon in plugin.xml** - Not in constructor parameters +- **Use AnActionEvent#getCoroutineScope** for launching suspending computations - + actionPerformed runs synchronously with event invocation and may freeze the IDE. - **Follow the convention:** 1. Set the `id` attribute for the action in plugin.xml 2. Optionally set the `icon` attribute if an icon is needed diff --git a/.claude/skills/testing/SKILL.md b/.claude/skills/testing/SKILL.md index 588bea4e8d8b..6d5dbdcd638a 100644 --- a/.claude/skills/testing/SKILL.md +++ b/.claude/skills/testing/SKILL.md @@ -54,6 +54,14 @@ Use `community/tests.cmd` for tests that belong to community-only modules: ./community/tests.cmd --module --test ``` +### Product layout and packaging changes + +When changing `ProductProperties`, `productImplementationModules`, product content descriptors, plugin/module-set packaging, or generated product layout XML, also run: + +```bash +./tests.cmd --module intellij.idea.ultimate.build.tests --test com.intellij.idea.ultimate.build.smokeTests.AllProductsPackagingTest +``` + ### Windows PowerShell note When running `tests.cmd` from PowerShell, pass JVM `-D...` arguments via stop-parsing mode to avoid argument mangling: diff --git a/.idea/modules.xml b/.idea/modules.xml index 43e58827678f..ec756eb566c4 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -1062,7 +1062,6 @@ - diff --git a/build/bazel-generated-file-list.txt b/build/bazel-generated-file-list.txt index 7ba049eb9032..0c761e292b4d 100644 --- a/build/bazel-generated-file-list.txt +++ b/build/bazel-generated-file-list.txt @@ -444,7 +444,6 @@ libraries/javax/annotation libraries/jaxen libraries/jbr libraries/jcef -libraries/jcef/plugin libraries/jcip libraries/jediterm-core libraries/jediterm-ui diff --git a/images/BUILD.bazel b/images/BUILD.bazel index a6ce147c3449..09d5ae48c843 100644 --- a/images/BUILD.bazel +++ b/images/BUILD.bazel @@ -37,7 +37,7 @@ jvm_library( "//platform/ide-core", "//platform/util/jdom", "//libraries/jcef", - "//libraries/jcef/plugin", + "//plugins/jcef/plugin", "//libraries/kotlinx/serialization/core", "//libraries/kotlinx/serialization/json", "//platform/core-impl", @@ -83,7 +83,7 @@ jvm_library( "//platform/ide-core:ide-core_test_lib", "//platform/util/jdom:jdom_test_lib", "//libraries/jcef:jcef_test_lib", - "//libraries/jcef/plugin:plugin_test_lib", + "//plugins/jcef/plugin:plugin_test_lib", "//libraries/kotlinx/serialization/core:core_test_lib", "//libraries/kotlinx/serialization/json:json_test_lib", "//platform/core-impl:core-impl_test_lib", diff --git a/images/intellij.platform.images.iml b/images/intellij.platform.images.iml index 5c49f28ac4d6..ccd9aac8083c 100644 --- a/images/intellij.platform.images.iml +++ b/images/intellij.platform.images.iml @@ -45,7 +45,7 @@ - + diff --git a/images/resources/META-INF/plugin.xml b/images/resources/META-INF/plugin.xml index 3776571891c3..5dc3998c43d8 100644 --- a/images/resources/META-INF/plugin.xml +++ b/images/resources/META-INF/plugin.xml @@ -11,7 +11,7 @@ - + diff --git a/libraries/jbr/resources/intellij.libraries.jbr.xml b/libraries/jbr/resources/intellij.libraries.jbr.xml index af79eda48c52..98e42d495eae 100644 --- a/libraries/jbr/resources/intellij.libraries.jbr.xml +++ b/libraries/jbr/resources/intellij.libraries.jbr.xml @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/libraries/jcef/plugin/BUILD.bazel b/libraries/jcef/plugin/BUILD.bazel deleted file mode 100644 index f6087e39769e..000000000000 --- a/libraries/jcef/plugin/BUILD.bazel +++ /dev/null @@ -1,39 +0,0 @@ -load("@rules_jvm//:jvm.bzl", "jvm_library") - -### auto-generated section `build intellij.libraries.jcef.plugin` start - -jvm_library( - name = "plugin", - srcs = glob( - [], - allow_empty = True, - ), - module_name = "intellij.libraries.jcef.plugin", - resource_strip_prefix = "resources", - resources = glob( - ["resources/**/*"], - ), - visibility = ["//visibility:public"], -) - -jvm_library( - name = "plugin_test_lib", - testonly = True, - srcs = glob( - [], - allow_empty = True, - ), - module_name = "intellij.libraries.jcef.plugin", - visibility = ["//visibility:public"], - runtime_deps = [":plugin"], -) -### auto-generated section `build intellij.libraries.jcef.plugin` end - -### auto-generated section `iml intellij.libraries.jcef.plugin` start -exports_files( - [ - "intellij.libraries.jcef.plugin.iml", - ], - visibility = ["//visibility:public"], -) -### auto-generated section `iml intellij.libraries.jcef.plugin` end diff --git a/libraries/jcef/plugin/intellij.libraries.jcef.plugin.iml b/libraries/jcef/plugin/intellij.libraries.jcef.plugin.iml deleted file mode 100644 index 510e3ffb6679..000000000000 --- a/libraries/jcef/plugin/intellij.libraries.jcef.plugin.iml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/libraries/jcef/plugin/plugin-content.yaml b/libraries/jcef/plugin/plugin-content.yaml deleted file mode 100644 index 894afc7181d1..000000000000 --- a/libraries/jcef/plugin/plugin-content.yaml +++ /dev/null @@ -1,9 +0,0 @@ -- name: lib/libraries-jcef-plugin.jar - modules: - - name: intellij.libraries.jcef.plugin -- name: lib/modules/intellij.libraries.jcef.jar - contentModules: - - name: intellij.libraries.jcef - libraries: - jcef: - - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/jcef/jcef/144/jcef-144.jar diff --git a/libraries/jcef/plugin/resources/META-INF/plugin.xml b/libraries/jcef/plugin/resources/META-INF/plugin.xml deleted file mode 100644 index 763e5d9127dd..000000000000 --- a/libraries/jcef/plugin/resources/META-INF/plugin.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - intellij.libraries.jcef.plugin - Library Modules: JCEF - Provides JCEF API and platform JCEF integration modules for IntelliJ-based IDEs. - JetBrains - - - - diff --git a/mps/build/intellij.mps.resources/src/META-INF/plugin.xml b/mps/build/intellij.mps.resources/src/META-INF/plugin.xml index a3b52e2d5b10..f8420cc73423 100644 --- a/mps/build/intellij.mps.resources/src/META-INF/plugin.xml +++ b/mps/build/intellij.mps.resources/src/META-INF/plugin.xml @@ -8,6 +8,7 @@ + diff --git a/mps/build/src/org/jetbrains/intellij/build/mps/MPSProperties.kt b/mps/build/src/org/jetbrains/intellij/build/mps/MPSProperties.kt index 218a7c5b64b5..477416fda91a 100644 --- a/mps/build/src/org/jetbrains/intellij/build/mps/MPSProperties.kt +++ b/mps/build/src/org/jetbrains/intellij/build/mps/MPSProperties.kt @@ -54,7 +54,6 @@ class MPSProperties : JetBrainsProductProperties() { "intellij.idea.community.customization", "intellij.java.ide.resources", "intellij.platform.buildData", - "intellij.platform.whatsNew", "intellij.platform.configurationStore.impl", "intellij.platform.diagnostic.startUpPerformanceReporter", "intellij.platform.jps.build.javac.rt", @@ -192,6 +191,7 @@ class MPSProperties : JetBrainsProductProperties() { moduleSet(CommunityModuleSets.ideCommon()) + module("intellij.platform.whatsNew") module("intellij.platform.tips") module("intellij.ide.startup.importSettings") diff --git a/platform/build-scripts/product-dsl/src/ModuleSetPlugins.kt b/platform/build-scripts/product-dsl/src/ModuleSetPlugins.kt index e41b177234c5..00a0cb7d8038 100644 --- a/platform/build-scripts/product-dsl/src/ModuleSetPlugins.kt +++ b/platform/build-scripts/product-dsl/src/ModuleSetPlugins.kt @@ -9,7 +9,6 @@ private const val MODULE_SET_PLUGIN_MODULE_PREFIX: String = "intellij.moduleSet. private val HAND_WRITTEN_MODULE_SET_PLUGIN_MODULES: Set = setOf( "intellij.grid.core.plugin", "intellij.java.aetherDependencyResolver.plugin", - "intellij.libraries.jcef.plugin", "intellij.libraries.misc.plugin", "intellij.platform.bookmarks.plugin", "intellij.platform.execution.serviceView.plugin", diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/productLayout/CommunityModuleSets.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/productLayout/CommunityModuleSets.kt index cebe6c8eacd6..1fedb2b3f269 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/productLayout/CommunityModuleSets.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/productLayout/CommunityModuleSets.kt @@ -371,10 +371,6 @@ object CommunityModuleSets { moduleSet(essential()) moduleSet(compose()) - module("intellij.platform.ui.jcef") - module("intellij.platform.ide.newUiOnboarding.jcef") - module("intellij.platform.ide.impl.jcef") - // Additional IDE-specific modules module("intellij.platform.lvcs.impl") module("intellij.platform.collaborationTools") diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/productLayout/ProductModulesLayout.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/productLayout/ProductModulesLayout.kt index 2cd884c65855..f4ac1e9be00b 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/productLayout/ProductModulesLayout.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/productLayout/ProductModulesLayout.kt @@ -23,7 +23,6 @@ import org.jetbrains.intellij.build.impl.PluginLayout val DEFAULT_BUNDLED_PLUGINS: PersistentList = persistentListOf( "intellij.dev", "intellij.java.aetherDependencyResolver.plugin", - "intellij.libraries.jcef.plugin", "intellij.jcef.plugin", "intellij.libraries.misc.plugin", "intellij.platform.bookmarks.plugin", diff --git a/platform/new-ui-onboarding/jcef/resources/intellij.platform.ide.newUiOnboarding.jcef.xml b/platform/new-ui-onboarding/jcef/resources/intellij.platform.ide.newUiOnboarding.jcef.xml index cf600798dda9..0076c7ed611b 100644 --- a/platform/new-ui-onboarding/jcef/resources/intellij.platform.ide.newUiOnboarding.jcef.xml +++ b/platform/new-ui-onboarding/jcef/resources/intellij.platform.ide.newUiOnboarding.jcef.xml @@ -1,12 +1,8 @@ - - - - diff --git a/platform/platform-impl/BUILD.bazel b/platform/platform-impl/BUILD.bazel index 3adbb84e69a5..2acdb1f3c509 100644 --- a/platform/platform-impl/BUILD.bazel +++ b/platform/platform-impl/BUILD.bazel @@ -380,7 +380,7 @@ jvm_library( "@lib//:slf4j-api", "@lib//:slf4j-jdk14", "//platform/object-serializer", - "//libraries/jcef/plugin", + "//plugins/jcef/plugin", "//libraries/protobuf", "//libraries/jgoodies/common", "//libraries/jgoodies/forms", @@ -422,7 +422,7 @@ jvm_library( "//platform/observable:observable_test_lib", "//platform/object-serializer:object-serializer_test_lib", "//platform/platform-util-io-impl:ide-util-io-impl_test_lib", - "//libraries/jcef/plugin:plugin_test_lib", + "//plugins/jcef/plugin:plugin_test_lib", "//libraries/protobuf:protobuf_test_lib", "//platform/ide-core-impl:ide-core-impl_test_lib", "//platform/ide-core/plugins:plugins_test_lib", diff --git a/platform/platform-impl/intellij.platform.ide.impl.tests.iml b/platform/platform-impl/intellij.platform.ide.impl.tests.iml index 730f8c6d2bcb..f9aa92c25579 100644 --- a/platform/platform-impl/intellij.platform.ide.impl.tests.iml +++ b/platform/platform-impl/intellij.platform.ide.impl.tests.iml @@ -84,7 +84,7 @@ - + diff --git a/platform/platform-impl/internal/jcef/intellij.internal.jcef.iml b/platform/platform-impl/internal/jcef/intellij.internal.jcef.iml index 37d61fb003e6..b96bff2c3f38 100644 --- a/platform/platform-impl/internal/jcef/intellij.internal.jcef.iml +++ b/platform/platform-impl/internal/jcef/intellij.internal.jcef.iml @@ -9,8 +9,8 @@ - - + + diff --git a/platform/platform-impl/jcef/resources/intellij.platform.ide.impl.jcef.xml b/platform/platform-impl/jcef/resources/intellij.platform.ide.impl.jcef.xml index 7d1cad43fdbb..ebe164d16e79 100644 --- a/platform/platform-impl/jcef/resources/intellij.platform.ide.impl.jcef.xml +++ b/platform/platform-impl/jcef/resources/intellij.platform.ide.impl.jcef.xml @@ -2,21 +2,7 @@ - - - - - - - - - - - - - - diff --git a/platform/platform-resources/generated/META-INF/intellij.moduleSets.ide.common.xml b/platform/platform-resources/generated/META-INF/intellij.moduleSets.ide.common.xml index fb5439e2b959..c33870b4ba3b 100644 --- a/platform/platform-resources/generated/META-INF/intellij.moduleSets.ide.common.xml +++ b/platform/platform-resources/generated/META-INF/intellij.moduleSets.ide.common.xml @@ -390,9 +390,6 @@ - - - diff --git a/platform/ui.jcef/resources/intellij.platform.ui.jcef.xml b/platform/ui.jcef/resources/intellij.platform.ui.jcef.xml index 946af860e171..2879a7f1dc38 100644 --- a/platform/ui.jcef/resources/intellij.platform.ui.jcef.xml +++ b/platform/ui.jcef/resources/intellij.platform.ui.jcef.xml @@ -1,19 +1,7 @@ - - - - - - - - - - - - diff --git a/plugins/jcef/plugin/BUILD.bazel b/plugins/jcef/plugin/BUILD.bazel index d92c8c4be6f7..6b431706fd75 100644 --- a/plugins/jcef/plugin/BUILD.bazel +++ b/plugins/jcef/plugin/BUILD.bazel @@ -14,11 +14,7 @@ jvm_library( ["resources/**/*"], ), visibility = ["//visibility:public"], - runtime_deps = [ - # do not sort, - "@lib//:kotlin-stdlib", - "//libraries/jcef/plugin", - ], + runtime_deps = ["@lib//:kotlin-stdlib"], ) jvm_library( @@ -30,11 +26,7 @@ jvm_library( ), module_name = "intellij.jcef.plugin", visibility = ["//visibility:public"], - runtime_deps = [ - # do not sort, - ":plugin", - "//libraries/jcef/plugin:plugin_test_lib", - ], + runtime_deps = [":plugin"], ) ### auto-generated section `build intellij.jcef.plugin` end diff --git a/plugins/jcef/plugin/intellij.jcef.plugin.iml b/plugins/jcef/plugin/intellij.jcef.plugin.iml index e27978e74493..475f2c1a4120 100644 --- a/plugins/jcef/plugin/intellij.jcef.plugin.iml +++ b/plugins/jcef/plugin/intellij.jcef.plugin.iml @@ -7,7 +7,6 @@ - \ No newline at end of file diff --git a/plugins/jcef/plugin/plugin-content.yaml b/plugins/jcef/plugin/plugin-content.yaml index 822aacd7df28..e753c6705445 100644 --- a/plugins/jcef/plugin/plugin-content.yaml +++ b/plugins/jcef/plugin/plugin-content.yaml @@ -6,4 +6,19 @@ - name: intellij.internal.jcef - name: lib/modules/intellij.jcef.frontend.jar contentModules: - - name: intellij.jcef.frontend \ No newline at end of file + - name: intellij.jcef.frontend +- name: lib/modules/intellij.libraries.jcef.jar + contentModules: + - name: intellij.libraries.jcef + libraries: + jcef: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/jcef/jcef/144/jcef-144.jar +- name: lib/modules/intellij.platform.ide.impl.jcef.jar + contentModules: + - name: intellij.platform.ide.impl.jcef +- name: lib/modules/intellij.platform.ide.newUiOnboarding.jcef.jar + contentModules: + - name: intellij.platform.ide.newUiOnboarding.jcef +- name: lib/modules/intellij.platform.ui.jcef.jar + contentModules: + - name: intellij.platform.ui.jcef \ No newline at end of file diff --git a/plugins/jcef/plugin/resources/META-INF/plugin.xml b/plugins/jcef/plugin/resources/META-INF/plugin.xml index 3e41085e0616..5784872c2fcc 100644 --- a/plugins/jcef/plugin/resources/META-INF/plugin.xml +++ b/plugins/jcef/plugin/resources/META-INF/plugin.xml @@ -10,10 +10,13 @@ - + + + + diff --git a/plugins/markdown/test/BUILD.bazel b/plugins/markdown/test/BUILD.bazel index 3e16c95e4601..44180abaa06e 100644 --- a/plugins/markdown/test/BUILD.bazel +++ b/plugins/markdown/test/BUILD.bazel @@ -37,7 +37,7 @@ jvm_library( "//platform/platform-util-netty:ide-util-netty", "//libraries/jsoup", "//libraries/jcef", - "//libraries/jcef/plugin", + "//plugins/jcef/plugin", "//platform/util-ex", "//libraries/markdown", "//plugins/toml", @@ -71,7 +71,7 @@ jvm_library( ":tests", "//platform/platform-util-netty:ide-util-netty_test_lib", "//platform/ide-core:ide-core_test_lib", - "//libraries/jcef/plugin:plugin_test_lib", + "//plugins/jcef/plugin:plugin_test_lib", "//platform/structure-view-impl/plugin:plugin_test_lib", ], deps = [ diff --git a/plugins/markdown/test/intellij.markdown.tests.iml b/plugins/markdown/test/intellij.markdown.tests.iml index 6c027878a7a4..cfed7bc01118 100644 --- a/plugins/markdown/test/intellij.markdown.tests.iml +++ b/plugins/markdown/test/intellij.markdown.tests.iml @@ -47,7 +47,7 @@ - + diff --git a/plugins/mermaid/markdown/resources/intellij.mermaid.markdown.xml b/plugins/mermaid/markdown/resources/intellij.mermaid.markdown.xml index ab9b4e1a16c9..cc1fd1b08bb3 100644 --- a/plugins/mermaid/markdown/resources/intellij.mermaid.markdown.xml +++ b/plugins/mermaid/markdown/resources/intellij.mermaid.markdown.xml @@ -1,10 +1,12 @@ + - + - + + + + diff --git a/plugins/sh/core/BUILD.bazel b/plugins/sh/core/BUILD.bazel index 2594f67224f6..f01161067448 100644 --- a/plugins/sh/core/BUILD.bazel +++ b/plugins/sh/core/BUILD.bazel @@ -118,7 +118,7 @@ jvm_library( "//plugins/sh/core", "//platform/structure-view-impl/plugin", "//libraries/misc/plugin", - "//libraries/jcef/plugin", + "//plugins/jcef/plugin", "//plugins/sh/plugin:plugin-main", "//platform/analysis-impl", "//platform/lang-api:lang", @@ -151,7 +151,7 @@ jvm_library( ":tests", "//platform/structure-view-impl/plugin:plugin_test_lib", "//libraries/misc/plugin:plugin_test_lib", - "//libraries/jcef/plugin:plugin_test_lib", + "//plugins/jcef/plugin:plugin_test_lib", "//plugins/sh/plugin:plugin-main_test_lib", "//platform/ide-core:ide-core_test_lib", ], diff --git a/plugins/sh/core/intellij.sh.tests.iml b/plugins/sh/core/intellij.sh.tests.iml index a5746e0a166c..7054759d85cb 100644 --- a/plugins/sh/core/intellij.sh.tests.iml +++ b/plugins/sh/core/intellij.sh.tests.iml @@ -20,7 +20,7 @@ - + diff --git a/python/build/src/org/jetbrains/intellij/build/pycharm/PyCharmCommunityProperties.kt b/python/build/src/org/jetbrains/intellij/build/pycharm/PyCharmCommunityProperties.kt index 8c005be5fd08..951df6430fc3 100644 --- a/python/build/src/org/jetbrains/intellij/build/pycharm/PyCharmCommunityProperties.kt +++ b/python/build/src/org/jetbrains/intellij/build/pycharm/PyCharmCommunityProperties.kt @@ -39,7 +39,6 @@ class PyCharmCommunityProperties(private val communityHome: Path) : PyCharmPrope productLayout.productImplementationModules = listOf( "intellij.platform.starter", "intellij.pycharm.community", - "intellij.platform.whatsNew", ) productLayout.bundledPluginModules += sequenceOf(