mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IJPL-246446 wire JCEF content modules into products
Update product and plugin descriptors to include the new JCEF content modules wherever the corresponding browser-backed functionality remains available. This commit also carries the generated module-set snapshots, Bazel file lists, build property updates, and project-structure expectations produced by the module split. IJ-MR-184958 IJ-MR-184993 IJ-MR-179029 IJ-MR-184126 IJ-MR-181153 IJ-MR-146078 IJ-MR-175479 IJ-MR-186058 IJ-MR-193195 IJ-MR-196957 IJ-MR-199124 IJ-MR-197441 IJ-MR-204135 IJ-MR-204674 GitOrigin-RevId: d906efc7d3f058a8376e8cb39174491312557f65
This commit is contained in:
committed by
intellij-monorepo-bot
parent
094dd02789
commit
ba30652e52
Generated
+4
@@ -617,6 +617,7 @@
|
||||
<module fileurl="file://$PROJECT_DIR$/idea/customization/base/intellij.idea.customization.base.iml" filepath="$PROJECT_DIR$/idea/customization/base/intellij.idea.customization.base.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/build/launch/intellij.idea.tools.launch.iml" filepath="$PROJECT_DIR$/build/launch/intellij.idea.tools.launch.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/build/launch/intellij.idea.tools.launch.tests.iml" filepath="$PROJECT_DIR$/build/launch/intellij.idea.tools.launch.tests.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-impl/internal/jcef/intellij.internal.jcef.iml" filepath="$PROJECT_DIR$/platform/platform-impl/internal/jcef/intellij.internal.jcef.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/java/openapi/intellij.java.iml" filepath="$PROJECT_DIR$/java/openapi/intellij.java.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/aether-dependency-resolver/intellij.java.aetherDependencyResolver.iml" filepath="$PROJECT_DIR$/aether-dependency-resolver/intellij.java.aetherDependencyResolver.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/aether-dependency-resolver/plugin/intellij.java.aetherDependencyResolver.plugin.iml" filepath="$PROJECT_DIR$/aether-dependency-resolver/plugin/intellij.java.aetherDependencyResolver.plugin.iml" />
|
||||
@@ -1061,6 +1062,7 @@
|
||||
<module fileurl="file://$PROJECT_DIR$/libraries/jaxen/intellij.libraries.jaxen.iml" filepath="$PROJECT_DIR$/libraries/jaxen/intellij.libraries.jaxen.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/libraries/jbr/intellij.libraries.jbr.iml" filepath="$PROJECT_DIR$/libraries/jbr/intellij.libraries.jbr.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/libraries/jcef/intellij.libraries.jcef.iml" filepath="$PROJECT_DIR$/libraries/jcef/intellij.libraries.jcef.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/libraries/jcef/plugin/intellij.libraries.jcef.plugin.iml" filepath="$PROJECT_DIR$/libraries/jcef/plugin/intellij.libraries.jcef.plugin.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/libraries/jcip/intellij.libraries.jcip.iml" filepath="$PROJECT_DIR$/libraries/jcip/intellij.libraries.jcip.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/libraries/jediterm-core/intellij.libraries.jediterm.core.iml" filepath="$PROJECT_DIR$/libraries/jediterm-core/intellij.libraries.jediterm.core.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/libraries/jediterm-ui/intellij.libraries.jediterm.ui.iml" filepath="$PROJECT_DIR$/libraries/jediterm-ui/intellij.libraries.jediterm.ui.iml" />
|
||||
@@ -1420,11 +1422,13 @@
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-impl/designer/intellij.platform.ide.designer.iml" filepath="$PROJECT_DIR$/platform/platform-impl/designer/intellij.platform.ide.designer.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/favoritesTreeView/intellij.platform.ide.favoritesTreeView.iml" filepath="$PROJECT_DIR$/platform/favoritesTreeView/intellij.platform.ide.favoritesTreeView.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-impl/intellij.platform.ide.impl.iml" filepath="$PROJECT_DIR$/platform/platform-impl/intellij.platform.ide.impl.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-impl/jcef/intellij.platform.ide.impl.jcef.iml" filepath="$PROJECT_DIR$/platform/platform-impl/jcef/intellij.platform.ide.impl.jcef.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-impl/intellij.platform.ide.impl.tests.iml" filepath="$PROJECT_DIR$/platform/platform-impl/intellij.platform.ide.impl.tests.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-impl/eel/intellij.platform.ide.impl.wsl.iml" filepath="$PROJECT_DIR$/platform/platform-impl/eel/intellij.platform.ide.impl.wsl.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-impl/initial-config-import/intellij.platform.ide.initialConfigImport.iml" filepath="$PROJECT_DIR$/platform/platform-impl/initial-config-import/intellij.platform.ide.initialConfigImport.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/platform-impl/internal/intellij.platform.ide.internal.iml" filepath="$PROJECT_DIR$/platform/platform-impl/internal/intellij.platform.ide.internal.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/new-ui-onboarding/intellij.platform.ide.newUiOnboarding.iml" filepath="$PROJECT_DIR$/platform/new-ui-onboarding/intellij.platform.ide.newUiOnboarding.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/new-ui-onboarding/jcef/intellij.platform.ide.newUiOnboarding.jcef.iml" filepath="$PROJECT_DIR$/platform/new-ui-onboarding/jcef/intellij.platform.ide.newUiOnboarding.jcef.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/new-users-onboarding/intellij.platform.ide.newUsersOnboarding.iml" filepath="$PROJECT_DIR$/platform/new-users-onboarding/intellij.platform.ide.newUsersOnboarding.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/non-modal-welcome-screen/intellij.platform.ide.nonModalWelcomeScreen.iml" filepath="$PROJECT_DIR$/platform/non-modal-welcome-screen/intellij.platform.ide.nonModalWelcomeScreen.iml" />
|
||||
<module fileurl="file://$PROJECT_DIR$/platform/non-modal-welcome-screen/backend/intellij.platform.ide.nonModalWelcomeScreen.backend.iml" filepath="$PROJECT_DIR$/platform/non-modal-welcome-screen/backend/intellij.platform.ide.nonModalWelcomeScreen.backend.iml" />
|
||||
|
||||
@@ -444,6 +444,7 @@ libraries/javax/annotation
|
||||
libraries/jaxen
|
||||
libraries/jbr
|
||||
libraries/jcef
|
||||
libraries/jcef/plugin
|
||||
libraries/jcip
|
||||
libraries/jediterm-core
|
||||
libraries/jediterm-ui
|
||||
@@ -750,6 +751,7 @@ platform/navbar/plugin
|
||||
platform/navbar/shared
|
||||
platform/navbar/testFramework
|
||||
platform/new-ui-onboarding
|
||||
platform/new-ui-onboarding/jcef
|
||||
platform/new-users-onboarding
|
||||
platform/non-modal-welcome-screen
|
||||
platform/non-modal-welcome-screen/backend
|
||||
@@ -768,6 +770,8 @@ platform/platform-impl/designer
|
||||
platform/platform-impl/eel
|
||||
platform/platform-impl/initial-config-import
|
||||
platform/platform-impl/internal
|
||||
platform/platform-impl/internal/jcef
|
||||
platform/platform-impl/jcef
|
||||
platform/platform-impl/recentProjects
|
||||
platform/platform-impl/remote
|
||||
platform/platform-impl/rpc
|
||||
|
||||
@@ -37,6 +37,7 @@ jvm_library(
|
||||
"//platform/ide-core",
|
||||
"//platform/util/jdom",
|
||||
"//libraries/jcef",
|
||||
"//libraries/jcef/plugin",
|
||||
"//libraries/kotlinx/serialization/core",
|
||||
"//libraries/kotlinx/serialization/json",
|
||||
"//platform/core-impl",
|
||||
@@ -82,6 +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",
|
||||
"//libraries/kotlinx/serialization/core:core_test_lib",
|
||||
"//libraries/kotlinx/serialization/json:json_test_lib",
|
||||
"//platform/core-impl:core-impl_test_lib",
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.ide.core" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util.jdom" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.jcef" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.jcef.plugin" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.kotlinx.serialization.core" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.kotlinx.serialization.json" />
|
||||
<orderEntry type="module" module-name="intellij.platform.core.impl" />
|
||||
|
||||
@@ -10,6 +10,11 @@
|
||||
|
||||
<dependencies>
|
||||
<plugin id="com.intellij.modules.lang"/>
|
||||
<!-- region Generated dependencies - run `Generate Product Layouts` to regenerate -->
|
||||
<plugin id="intellij.libraries.jcef.plugin"/>
|
||||
<module name="intellij.libraries.jcef"/>
|
||||
<module name="intellij.platform.ui.jcef"/>
|
||||
<!-- endregion -->
|
||||
</dependencies>
|
||||
|
||||
<content namespace="jetbrains">
|
||||
|
||||
@@ -8,4 +8,4 @@
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
</module>
|
||||
+134
-136
@@ -6,6 +6,7 @@ import com.intellij.platform.pluginSystem.parser.impl.elements.ModuleLoadingRule
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import org.assertj.core.api.Assertions
|
||||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.jetbrains.intellij.build.productLayout.TestFailureLogger
|
||||
import org.jetbrains.intellij.build.productLayout.dependency.pluginGraph
|
||||
import org.jetbrains.intellij.build.productLayout.dependency.runValidationRule
|
||||
@@ -29,49 +30,46 @@ class ProductModuleSetValidatorTest {
|
||||
@Test
|
||||
fun `reports duplicate modules across module sets`(): Unit = runBlocking(Dispatchers.Default) {
|
||||
val graph = pluginGraph {
|
||||
product("IDEA") {
|
||||
includesModuleSet("set1")
|
||||
includesModuleSet("set2")
|
||||
}
|
||||
moduleSet("set1") {
|
||||
module("module.duplicate")
|
||||
}
|
||||
moduleSet("set2") {
|
||||
module("module.duplicate")
|
||||
}
|
||||
product("IDEA") {
|
||||
includesModuleSet("set1")
|
||||
includesModuleSet("set2")
|
||||
}
|
||||
moduleSet("set1") {
|
||||
module("module.duplicate")
|
||||
}
|
||||
moduleSet("set2") {
|
||||
module("module.duplicate")
|
||||
}
|
||||
}
|
||||
|
||||
val model = testGenerationModel(graph)
|
||||
val errors = runValidationRule(ProductModuleSetValidator, model)
|
||||
|
||||
Assertions.assertThat(errors).hasSize(1)
|
||||
Assertions.assertThat(errors[0]).isInstanceOf(DuplicateModulesError::class.java)
|
||||
assertThat(errors).hasSize(1)
|
||||
assertThat(errors[0]).isInstanceOf(DuplicateModulesError::class.java)
|
||||
val error = errors[0] as DuplicateModulesError
|
||||
Assertions.assertThat(error.duplicates.keys).containsExactly(ContentModuleName("module.duplicate"))
|
||||
assertThat(error.duplicates.keys).containsExactly(ContentModuleName("module.duplicate"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `reports duplicate between module set and product content`(): Unit = runBlocking(Dispatchers.Default) {
|
||||
// For this test, we need to add module.a as product content too
|
||||
// The test DSL doesn't directly support this, so we verify duplicates within module sets
|
||||
val graphWithDup = pluginGraph {
|
||||
product("IDEA") {
|
||||
includesModuleSet("set1")
|
||||
includesModuleSet("set2")
|
||||
}
|
||||
moduleSet("set1") {
|
||||
module("module.a")
|
||||
}
|
||||
moduleSet("set2") {
|
||||
module("module.a") // Same module in different set
|
||||
}
|
||||
product("IDEA") {
|
||||
includesModuleSet("set1")
|
||||
content("module.a")
|
||||
}
|
||||
moduleSet("set1") {
|
||||
module("module.a")
|
||||
}
|
||||
}
|
||||
|
||||
val model = testGenerationModel(graphWithDup)
|
||||
val errors = runValidationRule(ProductModuleSetValidator, model)
|
||||
|
||||
Assertions.assertThat(errors).hasSize(1)
|
||||
Assertions.assertThat(errors[0]).isInstanceOf(DuplicateModulesError::class.java)
|
||||
assertThat(errors).hasSize(1)
|
||||
assertThat(errors[0]).isInstanceOf(DuplicateModulesError::class.java)
|
||||
val error = errors[0] as DuplicateModulesError
|
||||
assertThat(error.duplicates.keys).containsExactly(ContentModuleName("module.a"))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,146 +79,146 @@ class ProductModuleSetValidatorTest {
|
||||
fun `reports missing transitive dependency for critical module`(): Unit = runBlocking(Dispatchers.Default) {
|
||||
// module.a (EMBEDDED) -> dep.module -> missing.module
|
||||
val graph = pluginGraph {
|
||||
product("IDEA") {
|
||||
includesModuleSet("core")
|
||||
}
|
||||
moduleSet("core") {
|
||||
moduleWithDeps("module.a", ModuleLoadingRuleValue.EMBEDDED, "dep.module")
|
||||
}
|
||||
// Set up content module dependencies (Module -> Module edges)
|
||||
linkContentModuleDeps("module.a", "dep.module")
|
||||
linkContentModuleDeps("dep.module", "missing.module")
|
||||
// missing.module vertex created but not available in product
|
||||
product("IDEA") {
|
||||
includesModuleSet("core")
|
||||
}
|
||||
moduleSet("core") {
|
||||
moduleWithDeps("module.a", ModuleLoadingRuleValue.EMBEDDED, "dep.module")
|
||||
}
|
||||
// Set up content module dependencies (Module -> Module edges)
|
||||
linkContentModuleDeps("module.a", "dep.module")
|
||||
linkContentModuleDeps("dep.module", "missing.module")
|
||||
// missing.module vertex created but not available in product
|
||||
}
|
||||
|
||||
val model = testGenerationModel(graph)
|
||||
val errors = runValidationRule(ProductModuleSetValidator, model)
|
||||
|
||||
Assertions.assertThat(errors).hasSize(1)
|
||||
Assertions.assertThat(errors[0]).isInstanceOf(MissingDependenciesError::class.java)
|
||||
assertThat(errors).hasSize(1)
|
||||
assertThat(errors[0]).isInstanceOf(MissingDependenciesError::class.java)
|
||||
val error = errors[0] as MissingDependenciesError
|
||||
Assertions.assertThat(error.missingModules.keys).contains(ContentModuleName("missing.module"))
|
||||
assertThat(error.missingModules.keys).contains(ContentModuleName("missing.module"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `no error when dependency is available in module set`(): Unit = runBlocking(Dispatchers.Default) {
|
||||
// module.a -> module.b (both in same module set)
|
||||
val graph = pluginGraph {
|
||||
product("IDEA") {
|
||||
includesModuleSet("core")
|
||||
}
|
||||
moduleSet("core") {
|
||||
moduleWithDeps("module.a", ModuleLoadingRuleValue.REQUIRED, "module.b")
|
||||
module("module.b")
|
||||
}
|
||||
// Set up content module dependencies
|
||||
linkContentModuleDeps("module.a", "module.b")
|
||||
product("IDEA") {
|
||||
includesModuleSet("core")
|
||||
}
|
||||
moduleSet("core") {
|
||||
moduleWithDeps("module.a", ModuleLoadingRuleValue.REQUIRED, "module.b")
|
||||
module("module.b")
|
||||
}
|
||||
// Set up content module dependencies
|
||||
linkContentModuleDeps("module.a", "module.b")
|
||||
}
|
||||
|
||||
val model = testGenerationModel(graph)
|
||||
val errors = runValidationRule(ProductModuleSetValidator, model)
|
||||
|
||||
Assertions.assertThat(errors).isEmpty()
|
||||
assertThat(errors).isEmpty()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `no error when dependency is in bundled plugin`(): Unit = runBlocking(Dispatchers.Default) {
|
||||
// module.a -> plugin.module (available via bundled plugin)
|
||||
val graph = pluginGraph {
|
||||
product("IDEA") {
|
||||
bundlesPlugin("my.plugin")
|
||||
includesModuleSet("core")
|
||||
}
|
||||
plugin("my.plugin") {
|
||||
content("plugin.module", loading = ModuleLoadingRuleValue.OPTIONAL)
|
||||
}
|
||||
moduleSet("core") {
|
||||
moduleWithDeps("module.a", ModuleLoadingRuleValue.REQUIRED, "plugin.module")
|
||||
}
|
||||
// Set up content module dependencies
|
||||
linkContentModuleDeps("module.a", "plugin.module")
|
||||
product("IDEA") {
|
||||
bundlesPlugin("my.plugin")
|
||||
includesModuleSet("core")
|
||||
}
|
||||
plugin("my.plugin") {
|
||||
content("plugin.module", loading = ModuleLoadingRuleValue.OPTIONAL)
|
||||
}
|
||||
moduleSet("core") {
|
||||
moduleWithDeps("module.a", ModuleLoadingRuleValue.REQUIRED, "plugin.module")
|
||||
}
|
||||
// Set up content module dependencies
|
||||
linkContentModuleDeps("module.a", "plugin.module")
|
||||
}
|
||||
|
||||
val model = testGenerationModel(graph)
|
||||
val errors = runValidationRule(ProductModuleSetValidator, model)
|
||||
|
||||
Assertions.assertThat(errors).isEmpty()
|
||||
assertThat(errors).isEmpty()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `no error when product content dependency is in bundled plugin`(): Unit = runBlocking(Dispatchers.Default) {
|
||||
val graph = pluginGraph {
|
||||
product("IDEA") {
|
||||
bundlesPlugin("my.plugin")
|
||||
content("product.module", ModuleLoadingRuleValue.REQUIRED)
|
||||
}
|
||||
plugin("my.plugin") {
|
||||
content("plugin.module", loading = ModuleLoadingRuleValue.OPTIONAL)
|
||||
}
|
||||
linkContentModuleDeps("product.module", "plugin.module")
|
||||
product("IDEA") {
|
||||
bundlesPlugin("my.plugin")
|
||||
content("product.module", ModuleLoadingRuleValue.REQUIRED)
|
||||
}
|
||||
plugin("my.plugin") {
|
||||
content("plugin.module", loading = ModuleLoadingRuleValue.OPTIONAL)
|
||||
}
|
||||
linkContentModuleDeps("product.module", "plugin.module")
|
||||
}
|
||||
|
||||
val model = testGenerationModel(graph)
|
||||
val errors = runValidationRule(ProductModuleSetValidator, model)
|
||||
|
||||
Assertions.assertThat(errors).isEmpty()
|
||||
assertThat(errors).isEmpty()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `no error for non-critical module with globally available dep`(): Unit = runBlocking(Dispatchers.Default) {
|
||||
// module.a (OPTIONAL) -> global.module (declared as content in another plugin, not bundled by IDEA)
|
||||
val graph = pluginGraph {
|
||||
product("IDEA") {
|
||||
includesModuleSet("core")
|
||||
// Note: other.plugin is NOT bundled by IDEA
|
||||
}
|
||||
moduleSet("core") {
|
||||
moduleWithDeps("module.a", ModuleLoadingRuleValue.OPTIONAL, "global.module")
|
||||
}
|
||||
// global.module exists as content in another plugin (not bundled by IDEA)
|
||||
// This makes it "globally available" - it has a content source somewhere
|
||||
plugin("other.plugin") {
|
||||
content("global.module", loading = ModuleLoadingRuleValue.OPTIONAL)
|
||||
}
|
||||
// Set up content module dependencies
|
||||
linkContentModuleDeps("module.a", "global.module")
|
||||
product("IDEA") {
|
||||
includesModuleSet("core")
|
||||
// Note: other.plugin is NOT bundled by IDEA
|
||||
}
|
||||
moduleSet("core") {
|
||||
moduleWithDeps("module.a", ModuleLoadingRuleValue.OPTIONAL, "global.module")
|
||||
}
|
||||
// global.module exists as content in another plugin (not bundled by IDEA)
|
||||
// This makes it "globally available" - it has a content source somewhere
|
||||
plugin("other.plugin") {
|
||||
content("global.module", loading = ModuleLoadingRuleValue.OPTIONAL)
|
||||
}
|
||||
// Set up content module dependencies
|
||||
linkContentModuleDeps("module.a", "global.module")
|
||||
}
|
||||
|
||||
val model = testGenerationModel(graph)
|
||||
val errors = runValidationRule(ProductModuleSetValidator, model)
|
||||
|
||||
Assertions.assertThat(errors).isEmpty()
|
||||
assertThat(errors).isEmpty()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `respects allowedMissingDependencies`(): Unit = runBlocking(Dispatchers.Default) {
|
||||
val graph = pluginGraph {
|
||||
product("IDEA") {
|
||||
includesModuleSet("core")
|
||||
allowsMissing("allowed.missing")
|
||||
}
|
||||
moduleSet("core") {
|
||||
moduleWithDeps("module.a", ModuleLoadingRuleValue.EMBEDDED, "allowed.missing")
|
||||
}
|
||||
linkContentModuleDeps("module.a", "allowed.missing")
|
||||
product("IDEA") {
|
||||
includesModuleSet("core")
|
||||
allowsMissing("allowed.missing")
|
||||
}
|
||||
moduleSet("core") {
|
||||
moduleWithDeps("module.a", ModuleLoadingRuleValue.EMBEDDED, "allowed.missing")
|
||||
}
|
||||
linkContentModuleDeps("module.a", "allowed.missing")
|
||||
}
|
||||
|
||||
val model = testGenerationModel(graph)
|
||||
val errors = runValidationRule(ProductModuleSetValidator, model)
|
||||
|
||||
Assertions.assertThat(errors).isEmpty()
|
||||
assertThat(errors).isEmpty()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `empty when no module sets`(): Unit = runBlocking(Dispatchers.Default) {
|
||||
val graph = pluginGraph {
|
||||
product("IDEA")
|
||||
product("IDEA")
|
||||
}
|
||||
|
||||
val model = testGenerationModel(graph)
|
||||
val errors = runValidationRule(ProductModuleSetValidator, model)
|
||||
|
||||
Assertions.assertThat(errors).isEmpty()
|
||||
assertThat(errors).isEmpty()
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -228,75 +226,75 @@ class ProductModuleSetValidatorTest {
|
||||
// module.a has EMBEDDED loading in its module set - makes it critical
|
||||
// Dependencies of critical modules must be available in THIS product
|
||||
val graph = pluginGraph {
|
||||
product("IDEA") {
|
||||
includesModuleSet("core")
|
||||
}
|
||||
moduleSet("core") {
|
||||
module("critical.module", ModuleLoadingRuleValue.EMBEDDED) // Critical
|
||||
}
|
||||
// missing.dep exists globally (has content source) but not in this product
|
||||
// Critical modules can't rely on global availability
|
||||
plugin("other.plugin") {
|
||||
content("missing.dep", loading = ModuleLoadingRuleValue.OPTIONAL)
|
||||
}
|
||||
linkContentModuleDeps("critical.module", "missing.dep")
|
||||
product("IDEA") {
|
||||
includesModuleSet("core")
|
||||
}
|
||||
moduleSet("core") {
|
||||
module("critical.module", ModuleLoadingRuleValue.EMBEDDED) // Critical
|
||||
}
|
||||
// missing.dep exists globally (has content source) but not in this product
|
||||
// Critical modules can't rely on global availability
|
||||
plugin("other.plugin") {
|
||||
content("missing.dep", loading = ModuleLoadingRuleValue.OPTIONAL)
|
||||
}
|
||||
linkContentModuleDeps("critical.module", "missing.dep")
|
||||
}
|
||||
|
||||
val model = testGenerationModel(graph)
|
||||
val errors = runValidationRule(ProductModuleSetValidator, model)
|
||||
|
||||
// Error expected - missing.dep is not available in product and critical.module is critical
|
||||
Assertions.assertThat(errors).hasSize(1)
|
||||
Assertions.assertThat(errors[0]).isInstanceOf(MissingDependenciesError::class.java)
|
||||
assertThat(errors).hasSize(1)
|
||||
assertThat(errors[0]).isInstanceOf(MissingDependenciesError::class.java)
|
||||
val error = errors[0] as MissingDependenciesError
|
||||
Assertions.assertThat(error.missingModules.keys).contains(ContentModuleName("missing.dep"))
|
||||
assertThat(error.missingModules.keys).contains(ContentModuleName("missing.dep"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `dependency satisfied by module in another module set`(): Unit = runBlocking(Dispatchers.Default) {
|
||||
// module.a depends on dep.module, which is in set2
|
||||
val graph = pluginGraph {
|
||||
product("IDEA") {
|
||||
includesModuleSet("set1")
|
||||
includesModuleSet("set2")
|
||||
}
|
||||
moduleSet("set1") {
|
||||
moduleWithDeps("module.a", ModuleLoadingRuleValue.EMBEDDED, "dep.module")
|
||||
}
|
||||
moduleSet("set2") {
|
||||
module("dep.module", ModuleLoadingRuleValue.REQUIRED)
|
||||
}
|
||||
linkContentModuleDeps("module.a", "dep.module")
|
||||
product("IDEA") {
|
||||
includesModuleSet("set1")
|
||||
includesModuleSet("set2")
|
||||
}
|
||||
moduleSet("set1") {
|
||||
moduleWithDeps("module.a", ModuleLoadingRuleValue.EMBEDDED, "dep.module")
|
||||
}
|
||||
moduleSet("set2") {
|
||||
module("dep.module", ModuleLoadingRuleValue.REQUIRED)
|
||||
}
|
||||
linkContentModuleDeps("module.a", "dep.module")
|
||||
}
|
||||
|
||||
val model = testGenerationModel(graph)
|
||||
val errors = runValidationRule(ProductModuleSetValidator, model)
|
||||
|
||||
// No error - dep.module is available in set2
|
||||
Assertions.assertThat(errors).isEmpty()
|
||||
assertThat(errors).isEmpty()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `module with transitive deps in same module set`(): Unit = runBlocking(Dispatchers.Default) {
|
||||
// module.a -> dep.a -> dep.b (transitive chain, all in same set)
|
||||
val graph = pluginGraph {
|
||||
product("IDEA") {
|
||||
includesModuleSet("core")
|
||||
}
|
||||
moduleSet("core") {
|
||||
moduleWithDeps("module.a", ModuleLoadingRuleValue.REQUIRED, "dep.a")
|
||||
moduleWithDeps("dep.a", ModuleLoadingRuleValue.OPTIONAL, "dep.b")
|
||||
module("dep.b", ModuleLoadingRuleValue.OPTIONAL)
|
||||
}
|
||||
linkContentModuleDeps("module.a", "dep.a")
|
||||
linkContentModuleDeps("dep.a", "dep.b")
|
||||
product("IDEA") {
|
||||
includesModuleSet("core")
|
||||
}
|
||||
moduleSet("core") {
|
||||
moduleWithDeps("module.a", ModuleLoadingRuleValue.REQUIRED, "dep.a")
|
||||
moduleWithDeps("dep.a", ModuleLoadingRuleValue.OPTIONAL, "dep.b")
|
||||
module("dep.b", ModuleLoadingRuleValue.OPTIONAL)
|
||||
}
|
||||
linkContentModuleDeps("module.a", "dep.a")
|
||||
linkContentModuleDeps("dep.a", "dep.b")
|
||||
}
|
||||
|
||||
val model = testGenerationModel(graph)
|
||||
val errors = runValidationRule(ProductModuleSetValidator, model)
|
||||
|
||||
// No errors - all transitive deps available in module set
|
||||
Assertions.assertThat(errors).isEmpty()
|
||||
assertThat(errors).isEmpty()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+4
@@ -371,6 +371,10 @@ 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")
|
||||
|
||||
@@ -1,21 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="kotlin-language" name="Kotlin">
|
||||
<configuration version="5" platform="JVM 25" allPlatforms="JVM [25]" useProjectSettings="false">
|
||||
<compilerSettings>
|
||||
<option name="additionalArguments" value="-Xjvm-default=all -XXLanguage:+AllowEagerSupertypeAccessibilityChecks -progressive" />
|
||||
</compilerSettings>
|
||||
<compilerArguments>
|
||||
<stringArguments>
|
||||
<stringArg name="jvmTarget" arg="25" />
|
||||
<stringArg name="apiVersion" arg="2.3" />
|
||||
<stringArg name="languageVersion" arg="2.3" />
|
||||
</stringArguments>
|
||||
</compilerArguments>
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
@@ -32,4 +16,4 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.ui.jcef" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util.ui" />
|
||||
</component>
|
||||
</module>
|
||||
</module>
|
||||
@@ -9723,7 +9723,6 @@ f:com.intellij.ui.BalloonImpl
|
||||
- wasFadedIn():Z
|
||||
- wasFadedOut():Z
|
||||
c:com.intellij.ui.BalloonImpl$ActionButton
|
||||
- com.intellij.ui.jcef.HwFacadeNonOpaquePanel
|
||||
- com.intellij.openapi.wm.IdeGlassPane$TopComponent
|
||||
- pf:myButton:com.intellij.util.ui.BaseButtonBehavior
|
||||
- <init>(com.intellij.ui.BalloonImpl,javax.swing.Icon,javax.swing.Icon,java.lang.String,com.intellij.util.Consumer):V
|
||||
|
||||
@@ -492,6 +492,17 @@ f:com.intellij.ide.browsers.WebBrowserManager
|
||||
- getFirstBrowser(com.intellij.ide.browsers.BrowserFamily):com.intellij.ide.browsers.WebBrowser
|
||||
- isActive(com.intellij.ide.browsers.WebBrowser):Z
|
||||
- loadState(org.jdom.Element):V
|
||||
f:com.intellij.ide.browsers.actions.BaseOpenInBrowserAction
|
||||
- com.intellij.openapi.project.DumbAwareAction
|
||||
- <init>(com.intellij.ide.browsers.WebBrowser):V
|
||||
- actionPerformed(com.intellij.openapi.actionSystem.AnActionEvent):V
|
||||
- getActionUpdateThread():com.intellij.openapi.actionSystem.ActionUpdateThread
|
||||
- update(com.intellij.openapi.actionSystem.AnActionEvent):V
|
||||
f:com.intellij.ide.browsers.actions.BaseOpenInBrowserAction$Handler
|
||||
- sf:INSTANCE:com.intellij.ide.browsers.actions.BaseOpenInBrowserAction$Handler
|
||||
- sf:doUpdate(com.intellij.openapi.actionSystem.AnActionEvent):com.intellij.ide.browsers.OpenInBrowserRequest
|
||||
f:com.intellij.ide.browsers.actions.BaseOpenInBrowserActionKt
|
||||
- sf:chooseUrl(java.util.Collection):org.jetbrains.concurrency.Promise
|
||||
f:com.intellij.ide.dnd.FileCopyPasteUtil
|
||||
- s:getFileList(java.awt.datatransfer.Transferable):java.util.List
|
||||
- s:getFileListFromAttachedObject(java.lang.Object):java.util.List
|
||||
@@ -1733,6 +1744,8 @@ f:com.intellij.openapi.fileEditor.impl.HTMLEditorProvider$Companion
|
||||
com.intellij.openapi.fileEditor.impl.HTMLEditorProvider$JsQueryHandler
|
||||
- a:query(J,java.lang.String,kotlin.coroutines.Continuation):java.lang.Object
|
||||
f:com.intellij.openapi.fileEditor.impl.HTMLEditorProvider$Request
|
||||
- f:html:java.lang.String
|
||||
- f:url:java.lang.String
|
||||
- f:withQueryHandler(com.intellij.openapi.fileEditor.impl.HTMLEditorProvider$JsQueryHandler):com.intellij.openapi.fileEditor.impl.HTMLEditorProvider$Request
|
||||
f:com.intellij.openapi.fileEditor.impl.HTMLEditorProvider$Request$Companion
|
||||
- f:html(java.lang.String):com.intellij.openapi.fileEditor.impl.HTMLEditorProvider$Request
|
||||
@@ -2442,6 +2455,8 @@ a:com.intellij.ui.AppIcon
|
||||
f:com.intellij.ui.AppUIUtil
|
||||
- sf:invokeOnEdt(java.lang.Runnable):V
|
||||
- sf:saveConsents(java.util.List):V
|
||||
f:com.intellij.ui.AppUIUtilKt
|
||||
- sf:loadSmallApplicationIcon(com.intellij.ui.scale.ScaleContext,I,Z):javax.swing.Icon
|
||||
f:com.intellij.ui.BadgeIconSupplier
|
||||
- <init>(javax.swing.Icon):V
|
||||
- f:getInfoIcon(Z):javax.swing.Icon
|
||||
@@ -2456,6 +2471,8 @@ f:com.intellij.ui.BalloonImpl
|
||||
- setShowPointer(Z):V
|
||||
- startFadeoutTimer(I):V
|
||||
- startSmartFadeoutTimer(I):V
|
||||
c:com.intellij.ui.BalloonImpl$ActionButton
|
||||
- com.intellij.ui.components.panels.NonOpaquePanel
|
||||
com.intellij.ui.BalloonImpl$ActionProvider
|
||||
- a:createActions():java.util.List
|
||||
- a:layout(java.awt.Rectangle):V
|
||||
|
||||
@@ -81,4 +81,4 @@
|
||||
<orderEntry type="module" module-name="intellij.libraries.kotlinx.collections.immutable" />
|
||||
<orderEntry type="module" module-name="intellij.platform.locking.impl" />
|
||||
</component>
|
||||
</module>
|
||||
</module>
|
||||
-19
@@ -46,25 +46,6 @@ public class ContextMenuHandler extends CefContextMenuHandlerAdapter {
|
||||
|
||||
model.addItem(MenuId.MENU_ID_NO_SPELLING_SUGGESTIONS, "Suggestions isn't implemented yet.");
|
||||
model.setEnabled(MenuId.MENU_ID_NO_SPELLING_SUGGESTIONS, false);
|
||||
|
||||
//NOTE: uncomment to support DictionarySuggestions
|
||||
//Vector<String> suggestions = new Vector<>();
|
||||
//params.getDictionarySuggestions(suggestions);
|
||||
//
|
||||
//// Spell checking menu
|
||||
//model.addSeparator();
|
||||
//if (suggestions.isEmpty()) {
|
||||
// model.addItem(MenuId.MENU_ID_NO_SPELLING_SUGGESTIONS, "No suggestions");
|
||||
// model.setEnabled(MenuId.MENU_ID_NO_SPELLING_SUGGESTIONS, false);
|
||||
// return;
|
||||
//}
|
||||
//
|
||||
//int id = MenuId.MENU_ID_SPELLCHECK_SUGGESTION_0;
|
||||
//for (String suggestedWord : suggestions) {
|
||||
// model.addItem(id, suggestedWord);
|
||||
// suggestions_.put(id, suggestedWord);
|
||||
// if (++id > MenuId.MENU_ID_SPELLCHECK_SUGGESTION_LAST) break;
|
||||
//}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -24,7 +24,6 @@ jvm_library(
|
||||
"//libraries/jcef",
|
||||
"//platform/core-impl",
|
||||
"//platform/platform-impl:ide-impl",
|
||||
"//platform/platform-frontend:frontend",
|
||||
"//platform/ui.jcef",
|
||||
"//platform/analysis-api:analysis",
|
||||
"//platform/built-in-server-api:builtInServer",
|
||||
@@ -61,7 +60,6 @@ jvm_library(
|
||||
"//libraries/jcef:jcef_test_lib",
|
||||
"//platform/core-impl:core-impl_test_lib",
|
||||
"//platform/platform-impl:ide-impl_test_lib",
|
||||
"//platform/platform-frontend:frontend_test_lib",
|
||||
"//platform/ui.jcef:ui.jcef_test_lib",
|
||||
"//platform/analysis-api:analysis_test_lib",
|
||||
"//platform/built-in-server-api:builtInServer_test_lib",
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
f:com.intellij.ide.actions.JcefWhatsNewPageProvider
|
||||
- <init>():V
|
||||
- isAvailable():Z
|
||||
- openWhatsNewPage(com.intellij.openapi.project.Project,java.lang.String,Z,com.intellij.openapi.fileEditor.impl.HTMLEditorProvider$JsQueryHandler):V
|
||||
f:com.intellij.ide.browsers.actions.OpenHtmlInEmbeddedBrowserAction
|
||||
- com.intellij.openapi.project.DumbAwareAction
|
||||
- <init>():V
|
||||
- actionPerformed(com.intellij.openapi.actionSystem.AnActionEvent):V
|
||||
- getActionUpdateThread():com.intellij.openapi.actionSystem.ActionUpdateThread
|
||||
- update(com.intellij.openapi.actionSystem.AnActionEvent):V
|
||||
f:com.intellij.internal.BrowseWebAction
|
||||
- com.intellij.openapi.actionSystem.AnAction
|
||||
- com.intellij.openapi.project.DumbAware
|
||||
- <init>():V
|
||||
- actionPerformed(com.intellij.openapi.actionSystem.AnActionEvent):V
|
||||
- getActionUpdateThread():com.intellij.openapi.actionSystem.ActionUpdateThread
|
||||
- update(com.intellij.openapi.actionSystem.AnActionEvent):V
|
||||
@@ -1,21 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="kotlin-language" name="Kotlin">
|
||||
<configuration version="5" platform="JVM 25" allPlatforms="JVM [25]" useProjectSettings="false">
|
||||
<compilerSettings>
|
||||
<option name="additionalArguments" value="-Xjvm-default=all -opt-in=com.intellij.openapi.util.IntellijInternalApi -XXLanguage:+AllowEagerSupertypeAccessibilityChecks -progressive" />
|
||||
</compilerSettings>
|
||||
<compilerArguments>
|
||||
<stringArguments>
|
||||
<stringArg name="jvmTarget" arg="25" />
|
||||
<stringArg name="apiVersion" arg="2.3" />
|
||||
<stringArg name="languageVersion" arg="2.3" />
|
||||
</stringArguments>
|
||||
</compilerArguments>
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
@@ -28,7 +12,6 @@
|
||||
<orderEntry type="module" module-name="intellij.libraries.jcef" />
|
||||
<orderEntry type="module" module-name="intellij.platform.core.impl" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ide.impl" />
|
||||
<orderEntry type="module" module-name="intellij.platform.frontend" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ui.jcef" />
|
||||
<orderEntry type="module" module-name="intellij.platform.analysis" />
|
||||
<orderEntry type="module" module-name="intellij.platform.builtInServer" />
|
||||
@@ -48,4 +31,4 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.projectModel" />
|
||||
<orderEntry type="module" module-name="intellij.platform.statistics" />
|
||||
</component>
|
||||
</module>
|
||||
</module>
|
||||
@@ -8,7 +8,6 @@
|
||||
<module name="intellij.platform.core.impl"/>
|
||||
<module name="intellij.platform.core.ui"/>
|
||||
<module name="intellij.platform.editor.ui"/>
|
||||
<module name="intellij.platform.frontend"/>
|
||||
<module name="intellij.platform.ide"/>
|
||||
<module name="intellij.platform.ide.core"/>
|
||||
<module name="intellij.platform.ide.impl"/>
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
f:com.intellij.openapi.updateSettings.impl.IdeUpdateUsageTriggerCollector
|
||||
- <init>():V
|
||||
- getGroup():com.intellij.internal.statistic.eventLog.EventLogGroup
|
||||
- s:majorUpdateHappened(Z):V
|
||||
f:com.intellij.openapi.updateSettings.impl.PluginUpdateFacadeKt
|
||||
- sf:getPendingUpdates():java.util.Collection
|
||||
- sf:installUpdates(java.util.Collection,javax.swing.JComponent,java.util.function.Consumer):V
|
||||
|
||||
@@ -163,7 +163,6 @@
|
||||
<!-- endregion -->
|
||||
|
||||
<!-- region nested: libraries.ide -->
|
||||
<module name="intellij.libraries.jcef" loading="embedded"/>
|
||||
<module name="intellij.libraries.jediterm.core" loading="embedded"/>
|
||||
<module name="intellij.libraries.jediterm.ui" loading="embedded"/>
|
||||
<module name="intellij.libraries.jgoodies.common" loading="embedded"/>
|
||||
|
||||
@@ -164,7 +164,6 @@
|
||||
<!-- endregion -->
|
||||
|
||||
<!-- region nested: core.ide > libraries.ide -->
|
||||
<module name="intellij.libraries.jcef" loading="embedded"/>
|
||||
<module name="intellij.libraries.jediterm.core" loading="embedded"/>
|
||||
<module name="intellij.libraries.jediterm.ui" loading="embedded"/>
|
||||
<module name="intellij.libraries.jgoodies.common" loading="embedded"/>
|
||||
|
||||
-1
@@ -165,7 +165,6 @@
|
||||
<!-- endregion -->
|
||||
|
||||
<!-- region nested: core.lang > core.ide > libraries.ide -->
|
||||
<module name="intellij.libraries.jcef" loading="embedded"/>
|
||||
<module name="intellij.libraries.jediterm.core" loading="embedded"/>
|
||||
<module name="intellij.libraries.jediterm.ui" loading="embedded"/>
|
||||
<module name="intellij.libraries.jgoodies.common" loading="embedded"/>
|
||||
|
||||
@@ -166,7 +166,6 @@
|
||||
<!-- endregion -->
|
||||
|
||||
<!-- region nested: essential.minimal > core.lang > core.ide > libraries.ide -->
|
||||
<module name="intellij.libraries.jcef" loading="embedded"/>
|
||||
<module name="intellij.libraries.jediterm.core" loading="embedded"/>
|
||||
<module name="intellij.libraries.jediterm.ui" loading="embedded"/>
|
||||
<module name="intellij.libraries.jgoodies.common" loading="embedded"/>
|
||||
|
||||
@@ -169,7 +169,6 @@
|
||||
<!-- endregion -->
|
||||
|
||||
<!-- region nested: essential > essential.minimal > core.lang > core.ide > libraries.ide -->
|
||||
<module name="intellij.libraries.jcef" loading="embedded"/>
|
||||
<module name="intellij.libraries.jediterm.core" loading="embedded"/>
|
||||
<module name="intellij.libraries.jediterm.ui" loading="embedded"/>
|
||||
<module name="intellij.libraries.jgoodies.common" loading="embedded"/>
|
||||
@@ -391,6 +390,9 @@
|
||||
<!-- endregion -->
|
||||
|
||||
<!-- region direct modules -->
|
||||
<module name="intellij.platform.ui.jcef"/>
|
||||
<module name="intellij.platform.ide.newUiOnboarding.jcef"/>
|
||||
<module name="intellij.platform.ide.impl.jcef"/>
|
||||
<module name="intellij.platform.lvcs.impl"/>
|
||||
<module name="intellij.platform.collaborationTools"/>
|
||||
<module name="intellij.platform.collaborationTools.auth"/>
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
<!-- Note: Files are kept under VCS to support running products without dev mode (deprecated) -->
|
||||
<idea-plugin>
|
||||
<content namespace="jetbrains">
|
||||
<module name="intellij.libraries.jcef" loading="embedded"/>
|
||||
<module name="intellij.libraries.jediterm.core" loading="embedded"/>
|
||||
<module name="intellij.libraries.jediterm.ui" loading="embedded"/>
|
||||
<module name="intellij.libraries.jgoodies.common" loading="embedded"/>
|
||||
|
||||
@@ -537,7 +537,6 @@
|
||||
<extensionPoint name="iw.actionProvider" interface="com.intellij.openapi.editor.markup.InspectionWidgetActionProvider" dynamic="true"/>
|
||||
<extensionPoint name="textEditorCustomizer" interface="com.intellij.openapi.fileEditor.impl.text.TextEditorCustomizer" dynamic="true"/>
|
||||
|
||||
<extensionPoint name="jcef.appRequiredArgumentsProvider" interface="com.intellij.ui.jcef.JBCefAppRequiredArgumentsProvider" dynamic="false"/>
|
||||
<extensionPoint name="documentationActionProvider" interface="com.intellij.codeInsight.documentation.DocumentationActionProvider" dynamic="true"/>
|
||||
<extensionPoint name="documentationCssProvider" interface="com.intellij.codeInsight.documentation.DocumentationCssProvider" dynamic="true"/>
|
||||
|
||||
@@ -640,10 +639,6 @@
|
||||
interface="com.intellij.ide.gdpr.ui.consents.AiDataCollectionExternalSettings"
|
||||
dynamic="true"/>
|
||||
|
||||
<extensionPoint name="cefDelegate" interface="com.intellij.ui.jcef.CefDelegate" dynamic="false"/>
|
||||
|
||||
<extensionPoint name="cefNativeBundleProvider" interface="com.intellij.ui.jcef.JBCefNativeBundleProvider" dynamic="false"/>
|
||||
|
||||
<extensionPoint name="proxySettingsOverrideProvider" interface="com.intellij.util.net.ProxySettingsOverrideProvider" dynamic="true"/>
|
||||
<extensionPoint name="navbarLeftSide" dynamic="true" interface="com.intellij.ide.navigationToolbar.NavBarLeftSideExtension"/>
|
||||
|
||||
|
||||
@@ -231,10 +231,6 @@ The refresh itself is toggled by (Preferences | Appearance & Behavior | Syst
|
||||
<virtualFileSystem implementationClass="com.intellij.openapi.vfs.impl.jar.JarFileSystemImpl" key="jar" physical="true"/>
|
||||
<virtualFileSystem implementationClass="com.intellij.openapi.vfs.ex.temp.TempFileSystem" key="temp" physical="true"/>
|
||||
|
||||
<applicationService serviceImplementation="com.intellij.ui.jcef.JBCefStartup" preload="notHeadless" os="mac"/>
|
||||
<cachesInvalidator implementation="com.intellij.ui.jcef.JBCefAppCacheInvalidator" order="last"/>
|
||||
<cefNativeBundleProvider implementation="com.intellij.ui.jcef.JBCefDefaultNativeBundleProvider" order="first"/>
|
||||
|
||||
<applicationService serviceInterface="com.intellij.ide.ui.IdeUiService"
|
||||
serviceImplementation="com.intellij.openapi.fileEditor.impl.IdeUiServiceImpl"/>
|
||||
|
||||
|
||||
@@ -1598,12 +1598,14 @@ val servicePreloadingAllowListForNonCorePlugin: Set<String> = java.util.Set.of(
|
||||
"com.jetbrains.rider.protocol.RiderProtocolProjectSessionsManager",
|
||||
"com.jetbrains.rider.workspaceModel.RiderWorkspaceModel",
|
||||
"com.intellij.clouds.docker.gateway.host.DockerDevcontainerHostInitializer",
|
||||
"com.intellij.ui.jcef.JBCefStartup",
|
||||
|
||||
// Remote Development
|
||||
"com.intellij.cwm.plugin.driver.RemoteDriverHostService",
|
||||
"com.intellij.cwm.plugin.driver.RobotHostServiceImpl",
|
||||
"com.intellij.cwm.plugin.following.FollowMeManagerService",
|
||||
"com.intellij.cwm.plugin.following.GuestFollowMeManager",
|
||||
"com.intellij.cwm.plugin.ui.BackendModalityHost",
|
||||
"com.intellij.cwm.plugin.ports.CwmPortForwardingToolWindowManager",
|
||||
"com.intellij.cwm.plugin.users.BackendUserManager",
|
||||
"com.intellij.platform.vcs.backend.split.BackendLocalChangesHost",
|
||||
@@ -1613,6 +1615,7 @@ val servicePreloadingAllowListForNonCorePlugin: Set<String> = java.util.Set.of(
|
||||
"com.jetbrains.rdserver.daemon.BackendDaemonStatusHost",
|
||||
"com.jetbrains.rdserver.daemon.BackendHighlighterRegistrationsHost",
|
||||
"com.jetbrains.rdserver.daemon.inlays.BackendCodeVisionHost.Settings",
|
||||
$$"com.jetbrains.rdserver.daemon.inlays.BackendCodeVisionHost$Settings",
|
||||
"com.jetbrains.rdserver.debugger.BackendBreakpointHost",
|
||||
"com.jetbrains.rdserver.debugger.BackendConsoleInfoHost",
|
||||
"com.jetbrains.rdserver.debugger.BackendDebuggerHost",
|
||||
|
||||
@@ -1,19 +1,9 @@
|
||||
c:com.intellij.ui.jcef.HwFacadeJPanel
|
||||
- javax.swing.JPanel
|
||||
- <init>():V
|
||||
- addNotify():V
|
||||
- hide():V
|
||||
- paint(java.awt.Graphics):V
|
||||
- removeNotify():V
|
||||
- show():V
|
||||
c:com.intellij.ui.jcef.HwFacadeNonOpaquePanel
|
||||
- com.intellij.ui.components.panels.NonOpaquePanel
|
||||
- <init>():V
|
||||
- addNotify():V
|
||||
- hide():V
|
||||
- paint(java.awt.Graphics):V
|
||||
- removeNotify():V
|
||||
- show():V
|
||||
f:com.intellij.ui.jcef.JBCefApp
|
||||
- createClient():com.intellij.ui.jcef.JBCefClient
|
||||
- getCefSettings():org.cef.CefSettings
|
||||
|
||||
@@ -52,5 +52,11 @@ f:com.intellij.ui.jcef.JBCefPsiNavigationUtils
|
||||
c:com.intellij.ui.jcef.JCEFHtmlPanel
|
||||
- <init>(java.lang.String):V
|
||||
- setHtml(java.lang.String):V
|
||||
f:com.intellij.ui.jcef.JcefFocusedComponentProvider
|
||||
- <init>():V
|
||||
- getFocusedComponent():java.awt.Component
|
||||
f:com.intellij.ui.jcef.JcefProxySettingsListener
|
||||
- <init>():V
|
||||
- proxySettingsChanged():V
|
||||
c:com.intellij.ui.jcef.utils.JBCefStreamResourceHandler
|
||||
- org.cef.handler.CefResourceHandlerAdapter
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
package com.intellij.ui.jcef;
|
||||
|
||||
import com.intellij.ui.HwFacadeProvider;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.swing.JComponent;
|
||||
import java.awt.Graphics;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
@ApiStatus.Internal
|
||||
public final class JcefHwFacadeProvider implements HwFacadeProvider {
|
||||
@Override
|
||||
public boolean isAvailable() {
|
||||
|
||||
@@ -17,7 +17,16 @@
|
||||
</dependencies>
|
||||
<!-- endregion -->
|
||||
|
||||
<extensionPoints>
|
||||
<extensionPoint qualifiedName="com.intellij.cefDelegate" interface="com.intellij.ui.jcef.CefDelegate" dynamic="false"/>
|
||||
<extensionPoint qualifiedName="com.intellij.cefNativeBundleProvider" interface="com.intellij.ui.jcef.JBCefNativeBundleProvider" dynamic="false"/>
|
||||
<extensionPoint qualifiedName="com.intellij.jcef.appRequiredArgumentsProvider" interface="com.intellij.ui.jcef.JBCefAppRequiredArgumentsProvider" dynamic="false"/>
|
||||
</extensionPoints>
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<applicationService serviceImplementation="com.intellij.ui.jcef.JBCefStartup" preload="notHeadless" os="mac"/>
|
||||
<cachesInvalidator implementation="com.intellij.ui.jcef.JBCefAppCacheInvalidator" order="last"/>
|
||||
<cefNativeBundleProvider implementation="com.intellij.ui.jcef.JBCefDefaultNativeBundleProvider" order="first"/>
|
||||
<hwFacadeProvider implementation="com.intellij.ui.jcef.JcefHwFacadeProvider"/>
|
||||
<focusedComponentProvider implementation="com.intellij.ui.jcef.JcefFocusedComponentProvider"/>
|
||||
<proxySettingsListener implementation="com.intellij.ui.jcef.JcefProxySettingsListener"/>
|
||||
|
||||
@@ -8,7 +8,9 @@
|
||||
<dependencies>
|
||||
<plugin id="com.intellij.modules.lang"/>
|
||||
<!-- region Generated dependencies - run `Generate Product Layouts` to regenerate -->
|
||||
<module name="intellij.libraries.jcef"/>
|
||||
<module name="intellij.platform.structureView"/>
|
||||
<module name="intellij.platform.ui.jcef"/>
|
||||
<!-- endregion -->
|
||||
</dependencies>
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
<idea-plugin visibility="public">
|
||||
<!-- region Generated dependencies - run `Generate Product Layouts` to regenerate -->
|
||||
<dependencies>
|
||||
<module name="intellij.libraries.jcef"/>
|
||||
<module name="intellij.platform.structureView"/>
|
||||
<module name="intellij.platform.ui.jcef"/>
|
||||
</dependencies>
|
||||
<!-- endregion -->
|
||||
<extensions defaultExtensionNs="org.intellij.markdown">
|
||||
|
||||
@@ -37,6 +37,7 @@ jvm_library(
|
||||
"//platform/platform-util-netty:ide-util-netty",
|
||||
"//libraries/jsoup",
|
||||
"//libraries/jcef",
|
||||
"//libraries/jcef/plugin",
|
||||
"//platform/util-ex",
|
||||
"//libraries/markdown",
|
||||
"//plugins/toml",
|
||||
@@ -70,6 +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",
|
||||
"//platform/structure-view-impl/plugin:plugin_test_lib",
|
||||
],
|
||||
deps = [
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.tests" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.jsoup" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.jcef" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.jcef.plugin" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.assertj.core" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util.ex" />
|
||||
<orderEntry type="module" module-name="intellij.platform.util.ui" scope="TEST" />
|
||||
|
||||
+4
@@ -1,6 +1,10 @@
|
||||
<idea-plugin visibility="internal">
|
||||
<dependencies>
|
||||
<module name="intellij.libraries.assertj.core"/>
|
||||
<!-- region Generated dependencies - run `Generate Product Layouts` to regenerate -->
|
||||
<module name="intellij.libraries.jcef"/>
|
||||
<module name="intellij.platform.ui.jcef"/>
|
||||
<!-- endregion -->
|
||||
</dependencies>
|
||||
<extensionPoints>
|
||||
<extensionPoint interface="com.jetbrains.performancePlugin.remotedriver.xpath.XpathDataModelExtension"
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
<plugin id="com.intellij.modules.lang"/>
|
||||
<plugin id="com.intellij.modules.spellchecker"/>
|
||||
<!-- region Generated dependencies - run `Generate Product Layouts` to regenerate -->
|
||||
<module name="intellij.libraries.jcef"/>
|
||||
<module name="intellij.platform.structureView"/>
|
||||
<!-- endregion -->
|
||||
</dependencies>
|
||||
|
||||
@@ -118,6 +118,7 @@ jvm_library(
|
||||
"//plugins/sh/core",
|
||||
"//platform/structure-view-impl/plugin",
|
||||
"//libraries/misc/plugin",
|
||||
"//libraries/jcef/plugin",
|
||||
"//plugins/sh/plugin:plugin-main",
|
||||
"//platform/analysis-impl",
|
||||
"//platform/lang-api:lang",
|
||||
@@ -150,6 +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/sh/plugin:plugin-main_test_lib",
|
||||
"//platform/ide-core:ide-core_test_lib",
|
||||
],
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
<orderEntry type="module" module-name="intellij.sh.backend" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.platform.structureView.plugin" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.misc.plugin" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.libraries.jcef.plugin" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.sh.plugin.main" scope="RUNTIME" />
|
||||
<orderEntry type="module" module-name="intellij.spellchecker" scope="TEST" />
|
||||
<orderEntry type="module" module-name="intellij.grazie.core" scope="TEST" />
|
||||
|
||||
@@ -25,6 +25,7 @@ jvm_library(
|
||||
"//platform/lang-api:lang",
|
||||
"//platform/platform-impl:ide-impl",
|
||||
"//platform/lang-impl",
|
||||
"//images",
|
||||
"//plugins/webp/lib:webp-libwebp",
|
||||
],
|
||||
)
|
||||
@@ -45,6 +46,7 @@ jvm_library(
|
||||
"//platform/lang-api:lang_test_lib",
|
||||
"//platform/platform-impl:ide-impl_test_lib",
|
||||
"//platform/lang-impl:lang-impl_test_lib",
|
||||
"//images:images_test_lib",
|
||||
],
|
||||
)
|
||||
### auto-generated section `build intellij.webp` end
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.lang" />
|
||||
<orderEntry type="module" module-name="intellij.platform.ide.impl" />
|
||||
<orderEntry type="module" module-name="intellij.platform.lang.impl" />
|
||||
<orderEntry type="module" module-name="intellij.platform.images" />
|
||||
<orderEntry type="module-library">
|
||||
<library>
|
||||
<CLASSES>
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
<idea-plugin allow-bundled-update="true">
|
||||
<id>intellij.webp</id>
|
||||
<vendor>JetBrains</vendor>
|
||||
<depends>com.intellij.modules.lang</depends>
|
||||
<name>WebP Support</name>
|
||||
<name>WebP</name>
|
||||
<description><![CDATA[
|
||||
<p>Allows viewing images in the <a href="https://developers.google.com/speed/webp">WebP</a> format in the IDE.</p>
|
||||
]]></description>
|
||||
<!-- region Generated dependencies - run `Generate Product Layouts` to regenerate -->
|
||||
<dependencies>
|
||||
<plugin id="com.intellij.platform.images"/>
|
||||
</dependencies>
|
||||
<!-- endregion -->
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
<fileType name="Image" extensions="webp"/>
|
||||
<imageReaderWriterSpi type="read" implementationClass="com.android.tools.adtui.webp.WebpImageReaderSpi"/>
|
||||
|
||||
@@ -6,10 +6,12 @@
|
||||
<module name="intellij.platform.debugger.impl"/>
|
||||
<module name="intellij.platform.externalSystem.impl"/>
|
||||
<module name="intellij.json"/>
|
||||
<module name="intellij.libraries.jcef"/>
|
||||
<module name="intellij.libraries.xstream"/>
|
||||
<module name="intellij.platform.smRunner"/>
|
||||
<module name="intellij.platform.structureView"/>
|
||||
<module name="intellij.platform.testRunner"/>
|
||||
<module name="intellij.platform.ui.jcef"/>
|
||||
<module name="intellij.python.common"/>
|
||||
<module name="intellij.python.community"/>
|
||||
<module name="intellij.python.community.core.impl"/>
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
<idea-plugin>
|
||||
<dependencies>
|
||||
<plugin id="com.intellij.modules.python"/>
|
||||
<!-- region Generated dependencies - run `Generate Product Layouts` to regenerate -->
|
||||
<module name="intellij.libraries.jcef"/>
|
||||
<module name="intellij.platform.ui.jcef"/>
|
||||
<module name="intellij.python.community.execService"/>
|
||||
<!-- endregion -->
|
||||
</dependencies>
|
||||
|
||||
<extensions defaultExtensionNs="com.intellij">
|
||||
|
||||
Reference in New Issue
Block a user