diff --git a/build.gradle.kts b/build.gradle.kts index 42ec53f7bf..e0ecd3da88 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -366,7 +366,8 @@ coverallsJacoco { intellijPlatform { val pluginList = mutableListOf() - val bundledPluginList = mutableListOf(providers.gradleProperty("intelliLangPlugin").get()) + val bundledModuleList = mutableListOf(providers.gradleProperty("intelliLangModule").get()) + val bundledPluginList = mutableListOf() if (!isCI.get()) { pluginList.add("PsiViewer:${providers.gradleProperty("psiViewerVersion").get()}") @@ -408,6 +409,7 @@ intellijPlatform { project(":lang.mason.mason2"), ).forEach { localPlugin(it) } plugins(pluginList) + bundledModules(bundledModuleList) bundledPlugins(bundledPluginList) } } diff --git a/embedded/backend/build.gradle.kts b/embedded/backend/build.gradle.kts index 34f455c449..d7536f0c01 100644 --- a/embedded/backend/build.gradle.kts +++ b/embedded/backend/build.gradle.kts @@ -29,7 +29,7 @@ dependencies { } intellijPlatform{ val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } } diff --git a/embedded/build.gradle.kts b/embedded/build.gradle.kts index 39b11e8e03..23e0b1ce25 100644 --- a/embedded/build.gradle.kts +++ b/embedded/build.gradle.kts @@ -36,7 +36,7 @@ dependencies { // Plugin dependencies intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/embedded/common/build.gradle.kts b/embedded/common/build.gradle.kts index 010eba4da8..0d00f938e6 100644 --- a/embedded/common/build.gradle.kts +++ b/embedded/common/build.gradle.kts @@ -39,7 +39,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/embedded/frontend/build.gradle.kts b/embedded/frontend/build.gradle.kts index 9baed2f4fc..05abf65efe 100644 --- a/embedded/frontend/build.gradle.kts +++ b/embedded/frontend/build.gradle.kts @@ -25,7 +25,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/embedded/frontend/split/build.gradle.kts b/embedded/frontend/split/build.gradle.kts index 77dd1df6d1..7a6f6f3e1c 100644 --- a/embedded/frontend/split/build.gradle.kts +++ b/embedded/frontend/split/build.gradle.kts @@ -27,7 +27,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/embedded/src/test/resources/unit/distribution/plugin.none.txt b/embedded/src/test/resources/unit/distribution/plugin.none.txt index 8bd3aaed49..57572f9722 100644 --- a/embedded/src/test/resources/unit/distribution/plugin.none.txt +++ b/embedded/src/test/resources/unit/distribution/plugin.none.txt @@ -8,16 +8,16 @@ Jar files: Content modules: - perl5.lang.embedded.common.main (REQUIRED); lib/modules/perl5.lang.embedded.common.main.jar - Dependencies: - - Module(name=perl5.plugin.common.main) + - perl5.plugin.common.main - perl5.lang.embedded.backend.main (OPTIONAL); lib/modules/perl5.lang.embedded.backend.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) - - Module(name=perl5.lang.embedded.common.main) + - perl5.plugin.backend.main + - perl5.lang.embedded.common.main - perl5.lang.embedded.frontend.main (OPTIONAL); lib/modules/perl5.lang.embedded.frontend.main.jar - Dependencies: - - Module(name=intellij.platform.frontend) - - Module(name=perl5.lang.embedded.common.main) + - intellij.platform.frontend + - perl5.lang.embedded.common.main - perl5.lang.embedded.frontend.split.main (OPTIONAL); lib/modules/perl5.lang.embedded.frontend.split.main.jar - Dependencies: - - Module(name=intellij.platform.frontend.split) - - Module(name=perl5.lang.embedded.frontend.main) + - intellij.platform.frontend.split + - perl5.lang.embedded.frontend.main \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 137ffc5e4f..3fe0bc345e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -17,18 +17,19 @@ # https://www.jetbrains.com/intellij-repository/releases # https://www.jetbrains.com/intellij-repository/snapshots name="Perl5 Support (Camelcade)" -platformVersion=2025 -platformBranch=.2 +platformVersion=253 +platformBranch=.25908.13-EAP-SNAPSHOT platformBuild= pluginVersion= pluginBranch= -pluginBuild=.1 +pluginBuild= platformToolsVersion= -useInstaller=true +useInstaller=false pycharmVersion=192.4787.5-EAP-SNAPSHOT clionVersion=192.4787.12-EAP-SNAPSHOT psiViewerVersion=252.23892.248 -intelliLangPlugin=org.intellij.intelliLang +intelliLangModule=intellij.platform.langInjection +intelliLangBackendModule=intellij.platform.langInjection.backend remoteRunPlugin=org.jetbrains.plugins.remote-run coveragePlugin=Coverage javaVersion=21 diff --git a/mason/framework/common/build.gradle.kts b/mason/framework/common/build.gradle.kts index d0e27545f5..a20dfcfb65 100644 --- a/mason/framework/common/build.gradle.kts +++ b/mason/framework/common/build.gradle.kts @@ -24,7 +24,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/mason/framework/frontend/build.gradle.kts b/mason/framework/frontend/build.gradle.kts index ef63a71588..86dac4e117 100644 --- a/mason/framework/frontend/build.gradle.kts +++ b/mason/framework/frontend/build.gradle.kts @@ -25,7 +25,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/mason/framework/frontend/split/build.gradle.kts b/mason/framework/frontend/split/build.gradle.kts index 9f6aae1ad2..ea09130b44 100644 --- a/mason/framework/frontend/split/build.gradle.kts +++ b/mason/framework/frontend/split/build.gradle.kts @@ -27,7 +27,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/mason/framework/src/test/resources/unit/distribution/plugin.none.txt b/mason/framework/src/test/resources/unit/distribution/plugin.none.txt index 47e41eb055..9a1dc87b5a 100644 --- a/mason/framework/src/test/resources/unit/distribution/plugin.none.txt +++ b/mason/framework/src/test/resources/unit/distribution/plugin.none.txt @@ -8,18 +8,18 @@ Jar files: Content modules: - perl5.lang.mason.framework.backend.main (OPTIONAL); lib/modules/perl5.lang.mason.framework.backend.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) - - Module(name=perl5.lang.mason.framework.common.main) + - perl5.plugin.backend.main + - perl5.lang.mason.framework.common.main - perl5.lang.mason.framework.common.main (REQUIRED); lib/modules/perl5.lang.mason.framework.common.main.jar - Dependencies: - - Module(name=perl5.plugin.common.main) + - perl5.plugin.common.main - perl5.lang.mason.framework.frontend.main (OPTIONAL); lib/modules/perl5.lang.mason.framework.frontend.main.jar - Dependencies: - - Module(name=intellij.platform.frontend.main) - - Module(name=perl5.plugin.frontend.main) - - Module(name=perl5.lang.mason.framework.common.main) + - intellij.platform.frontend.main + - perl5.plugin.frontend.main + - perl5.lang.mason.framework.common.main - perl5.lang.mason.framework.frontend.split.main (OPTIONAL); lib/modules/perl5.lang.mason.framework.frontend.split.main.jar - Dependencies: - - Module(name=intellij.platform.frontend.split.main) - - Module(name=perl5.plugin.frontend.split.main) - - Module(name=perl5.lang.mason.framework.frontend.main) + - intellij.platform.frontend.split.main + - perl5.plugin.frontend.split.main + - perl5.lang.mason.framework.frontend.main \ No newline at end of file diff --git a/mason/htmlmason/common/build.gradle.kts b/mason/htmlmason/common/build.gradle.kts index 10a58c9478..2bb05b490c 100644 --- a/mason/htmlmason/common/build.gradle.kts +++ b/mason/htmlmason/common/build.gradle.kts @@ -42,7 +42,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/mason/htmlmason/frontend/build.gradle.kts b/mason/htmlmason/frontend/build.gradle.kts index 3ad3afbf9e..feb12fea57 100644 --- a/mason/htmlmason/frontend/build.gradle.kts +++ b/mason/htmlmason/frontend/build.gradle.kts @@ -27,7 +27,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/mason/htmlmason/frontend/split/build.gradle.kts b/mason/htmlmason/frontend/split/build.gradle.kts index 83d6f87d44..f21333fb6d 100644 --- a/mason/htmlmason/frontend/split/build.gradle.kts +++ b/mason/htmlmason/frontend/split/build.gradle.kts @@ -30,7 +30,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/mason/htmlmason/src/test/resources/unit/distribution/plugin.none.txt b/mason/htmlmason/src/test/resources/unit/distribution/plugin.none.txt index 7f93bf4f54..1f37cfb200 100644 --- a/mason/htmlmason/src/test/resources/unit/distribution/plugin.none.txt +++ b/mason/htmlmason/src/test/resources/unit/distribution/plugin.none.txt @@ -8,20 +8,20 @@ Jar files: Content modules: - perl5.lang.mason.htmlmason.common.main (REQUIRED); lib/modules/perl5.lang.mason.htmlmason.common.main.jar - Dependencies: - - Module(name=perl5.lang.mason.framework.common.main) - - Module(name=perl5.plugin.common.main) + - perl5.lang.mason.framework.common.main + - perl5.plugin.common.main - perl5.lang.mason.htmlmason.backend.main (OPTIONAL); lib/modules/perl5.lang.mason.htmlmason.backend.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) - - Module(name=perl5.lang.mason.framework.backend.main) - - Module(name=perl5.lang.mason.htmlmason.common.main) + - perl5.plugin.backend.main + - perl5.lang.mason.framework.backend.main + - perl5.lang.mason.htmlmason.common.main - perl5.lang.mason.htmlmason.frontend.main (OPTIONAL); lib/modules/perl5.lang.mason.htmlmason.frontend.main.jar - Dependencies: - - Module(name=intellij.platform.frontend) - - Module(name=perl5.lang.mason.framework.frontend.main) - - Module(name=perl5.lang.mason.htmlmason.common.main) + - intellij.platform.frontend + - perl5.lang.mason.framework.frontend.main + - perl5.lang.mason.htmlmason.common.main - perl5.lang.mason.htmlmason.frontend.split.main (OPTIONAL); lib/modules/perl5.lang.mason.htmlmason.frontend.split.main.jar - Dependencies: - - Module(name=intellij.platform.frontend.split) - - Module(name=perl5.lang.mason.htmlmason.frontend.main) - - Module(name=perl5.lang.mason.framework.frontend.split.main) \ No newline at end of file + - intellij.platform.frontend.split + - perl5.lang.mason.htmlmason.frontend.main + - perl5.lang.mason.framework.frontend.split.main \ No newline at end of file diff --git a/mason/mason2/common/build.gradle.kts b/mason/mason2/common/build.gradle.kts index 6e90efd65e..d08d8506d4 100644 --- a/mason/mason2/common/build.gradle.kts +++ b/mason/mason2/common/build.gradle.kts @@ -41,7 +41,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/mason/mason2/frontend/build.gradle.kts b/mason/mason2/frontend/build.gradle.kts index 3b0b766cb3..12d1ec7203 100644 --- a/mason/mason2/frontend/build.gradle.kts +++ b/mason/mason2/frontend/build.gradle.kts @@ -27,7 +27,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/mason/mason2/frontend/split/build.gradle.kts b/mason/mason2/frontend/split/build.gradle.kts index 2ca2f12ba3..dca579aaab 100644 --- a/mason/mason2/frontend/split/build.gradle.kts +++ b/mason/mason2/frontend/split/build.gradle.kts @@ -30,7 +30,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/mason/mason2/src/test/resources/unit/distribution/plugin.none.txt b/mason/mason2/src/test/resources/unit/distribution/plugin.none.txt index fba46fb093..d98a1365dd 100644 --- a/mason/mason2/src/test/resources/unit/distribution/plugin.none.txt +++ b/mason/mason2/src/test/resources/unit/distribution/plugin.none.txt @@ -8,19 +8,19 @@ Jar files: Content modules: - perl5.lang.mason.mason2.common.main (REQUIRED); lib/modules/perl5.lang.mason.mason2.common.main.jar - Dependencies: - - Module(name=perl5.lang.mason.framework.common.main) - - Module(name=perl5.plugin.common.main) + - perl5.lang.mason.framework.common.main + - perl5.plugin.common.main - perl5.lang.mason.mason2.backend.main (OPTIONAL); lib/modules/perl5.lang.mason.mason2.backend.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) - - Module(name=perl5.lang.mason.mason2.common.main) - - Module(name=perl5.lang.mason.framework.backend.main) + - perl5.plugin.backend.main + - perl5.lang.mason.mason2.common.main + - perl5.lang.mason.framework.backend.main - perl5.lang.mason.mason2.frontend.main (OPTIONAL); lib/modules/perl5.lang.mason.mason2.frontend.main.jar - Dependencies: - - Module(name=perl5.lang.mason.framework.frontend.main) - - Module(name=perl5.lang.mason.mason2.common.main) + - perl5.lang.mason.framework.frontend.main + - perl5.lang.mason.mason2.common.main - perl5.lang.mason.mason2.frontend.split.main (OPTIONAL); lib/modules/perl5.lang.mason.mason2.frontend.split.main.jar - Dependencies: - - Module(name=intellij.platform.frontend.split) - - Module(name=perl5.lang.mason.mason2.frontend.main) - - Module(name=perl5.lang.mason.framework.frontend.split.main) \ No newline at end of file + - intellij.platform.frontend.split + - perl5.lang.mason.mason2.frontend.main + - perl5.lang.mason.framework.frontend.split.main \ No newline at end of file diff --git a/mojo/common/build.gradle.kts b/mojo/common/build.gradle.kts index c3e1acc746..b1542b6012 100644 --- a/mojo/common/build.gradle.kts +++ b/mojo/common/build.gradle.kts @@ -42,7 +42,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/mojo/frontend/build.gradle.kts b/mojo/frontend/build.gradle.kts index d57e2afce6..8f515d25a1 100644 --- a/mojo/frontend/build.gradle.kts +++ b/mojo/frontend/build.gradle.kts @@ -25,7 +25,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/mojo/frontend/split/build.gradle.kts b/mojo/frontend/split/build.gradle.kts index 96f319299c..262c62df28 100644 --- a/mojo/frontend/split/build.gradle.kts +++ b/mojo/frontend/split/build.gradle.kts @@ -27,7 +27,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/mojo/src/test/resources/unit/distribution/plugin.none.txt b/mojo/src/test/resources/unit/distribution/plugin.none.txt index c72d536e9f..b39aeef513 100644 --- a/mojo/src/test/resources/unit/distribution/plugin.none.txt +++ b/mojo/src/test/resources/unit/distribution/plugin.none.txt @@ -8,16 +8,16 @@ Jar files: Content modules: - perl5.lang.mojo.common.main (REQUIRED); lib/modules/perl5.lang.mojo.common.main.jar - Dependencies: - - Module(name=perl5.plugin.common.main) + - perl5.plugin.common.main - perl5.lang.mojo.backend.main (OPTIONAL); lib/modules/perl5.lang.mojo.backend.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) - - Module(name=perl5.lang.mojo.common.main) + - perl5.plugin.backend.main + - perl5.lang.mojo.common.main - perl5.lang.mojo.frontend.main (OPTIONAL); lib/modules/perl5.lang.mojo.frontend.main.jar - Dependencies: - - Module(name=intellij.platform.frontend) - - Module(name=perl5.lang.mojo.common.main) + - intellij.platform.frontend + - perl5.lang.mojo.common.main - perl5.lang.mojo.frontend.split.main (OPTIONAL); lib/modules/perl5.lang.mojo.frontend.split.main.jar - Dependencies: - - Module(name=intellij.platform.frontend.split) - - Module(name=perl5.lang.mojo.frontend.main) + - intellij.platform.frontend.split + - perl5.lang.mojo.frontend.main \ No newline at end of file diff --git a/plugin/asdf/build.gradle.kts b/plugin/asdf/build.gradle.kts index 8df093b5aa..1e250a691e 100644 --- a/plugin/asdf/build.gradle.kts +++ b/plugin/asdf/build.gradle.kts @@ -27,7 +27,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/backend/src/main/java/com/perl5/lang/perl/idea/configuration/settings/sdk/PerlLibraryProvider.java b/plugin/backend/src/main/java/com/perl5/lang/perl/idea/configuration/settings/sdk/PerlLibraryProvider.java deleted file mode 100644 index f6c92c6f44..0000000000 --- a/plugin/backend/src/main/java/com/perl5/lang/perl/idea/configuration/settings/sdk/PerlLibraryProvider.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2015-2023 Alexandr Evstigneev - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.perl5.lang.perl.idea.configuration.settings.sdk; - -import com.intellij.openapi.project.Project; -import com.intellij.openapi.roots.AdditionalLibraryRootsProvider; -import com.intellij.openapi.roots.SyntheticLibrary; -import com.intellij.openapi.vfs.VirtualFile; -import com.perl5.lang.perl.idea.project.PerlProjectManager; -import com.perl5.lang.perl.util.PerlRunUtil; -import org.jetbrains.annotations.NotNull; - -import java.util.ArrayList; -import java.util.Collection; - -public class PerlLibraryProvider extends AdditionalLibraryRootsProvider { - - @Override - public @NotNull Collection getAdditionalProjectLibraries(@NotNull Project project) { - return PerlProjectManager.getInstance(project).getProjectLibraries(); - } - - @Override - public @NotNull Collection getRootsToWatch(@NotNull Project project) { - ArrayList libraryAndBinaryRoots = new ArrayList<>(PerlProjectManager.getInstance(project).getAllLibraryRoots()); - PerlRunUtil.getBinDirectories(project).forEach(libraryAndBinaryRoots::add); - return libraryAndBinaryRoots; - } -} diff --git a/plugin/backend/src/main/java/com/perl5/lang/perl/idea/configuration/settings/sdk/PerlLibraryProvider.kt b/plugin/backend/src/main/java/com/perl5/lang/perl/idea/configuration/settings/sdk/PerlLibraryProvider.kt new file mode 100644 index 0000000000..5541a517c9 --- /dev/null +++ b/plugin/backend/src/main/java/com/perl5/lang/perl/idea/configuration/settings/sdk/PerlLibraryProvider.kt @@ -0,0 +1,32 @@ +/* + * Copyright 2015-2023 Alexandr Evstigneev + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.perl5.lang.perl.idea.configuration.settings.sdk + +import com.intellij.openapi.application.ReadAction +import com.intellij.openapi.project.Project +import com.intellij.openapi.roots.AdditionalLibraryRootsProvider +import com.intellij.openapi.roots.SyntheticLibrary +import com.intellij.openapi.vfs.VirtualFile +import com.perl5.lang.perl.idea.project.PerlProjectManager +import com.perl5.lang.perl.util.PerlRunUtil + +class PerlLibraryProvider : AdditionalLibraryRootsProvider() { + override fun getAdditionalProjectLibraries(project: Project): MutableCollection = + PerlProjectManager.getInstance(project).projectLibraries + + override fun getRootsToWatch(project: Project): List = + PerlProjectManager.getInstance(project).allLibraryRoots + ReadAction.compute, Throwable> { PerlRunUtil.getBinDirectories(project).toList() } +} diff --git a/plugin/berrybrew/build.gradle.kts b/plugin/berrybrew/build.gradle.kts index 7a2c0f5502..7b24f36ace 100644 --- a/plugin/berrybrew/build.gradle.kts +++ b/plugin/berrybrew/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/build.gradle.kts b/plugin/build.gradle.kts index 2c18628bfc..77d875996e 100644 --- a/plugin/build.gradle.kts +++ b/plugin/build.gradle.kts @@ -27,9 +27,11 @@ dependencies { create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } + bundledModules( + providers.gradleProperty("intelliLangModule").get(), + ) bundledPlugins( "com.intellij.copyright", - providers.gradleProperty("intelliLangPlugin").get(), providers.gradleProperty("remoteRunPlugin").get(), providers.gradleProperty("coveragePlugin").get(), "XPathView", diff --git a/plugin/carton/build.gradle.kts b/plugin/carton/build.gradle.kts index 97580852c3..571ebbe1bc 100644 --- a/plugin/carton/build.gradle.kts +++ b/plugin/carton/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/common/build.gradle.kts b/plugin/common/build.gradle.kts index 01f5e9e3ea..ac4b9e33e4 100644 --- a/plugin/common/build.gradle.kts +++ b/plugin/common/build.gradle.kts @@ -36,7 +36,7 @@ val genRoot = project.file("src/main/gen").also { genRoot -> dependencies { intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/common/src/main/java/com/intellij/openapi/projectRoots/impl/PerlModuleExtension.java b/plugin/common/src/main/java/com/intellij/openapi/projectRoots/impl/PerlModuleExtension.java index 707f308918..7d0b07a7fa 100644 --- a/plugin/common/src/main/java/com/intellij/openapi/projectRoots/impl/PerlModuleExtension.java +++ b/plugin/common/src/main/java/com/intellij/openapi/projectRoots/impl/PerlModuleExtension.java @@ -88,7 +88,7 @@ public void commit() { () -> ProjectRootManagerEx.getInstanceEx(myModule.getProject()).makeRootsChange(() -> { myOriginal.myRoots = new LinkedHashMap<>(myRoots); myOriginal.myModificationTracker++; - }, BuildableRootsChangeRescanningInfo.newInstance().addModule(myModule).buildInfo()) + }, false, true) ); } } diff --git a/plugin/common/src/main/java/com/perl5/errorHandler/YoutrackErrorHandler.java b/plugin/common/src/main/java/com/perl5/errorHandler/YoutrackErrorHandler.java index 67bcfd5f4a..f207015f88 100644 --- a/plugin/common/src/main/java/com/perl5/errorHandler/YoutrackErrorHandler.java +++ b/plugin/common/src/main/java/com/perl5/errorHandler/YoutrackErrorHandler.java @@ -1,5 +1,5 @@ /* - * Copyright 2015-2025 Alexandr Evstigneev + * Copyright 2015-2024 Alexandr Evstigneev * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -75,7 +75,7 @@ public class YoutrackErrorHandler extends ErrorReportSubmitter { public static final String YOUTRACK_PROPERTY_KEY = "youtrack.token"; public static final String YOUTRACK_PROPERTY_VALUE = System.getProperty(YOUTRACK_PROPERTY_KEY); private static final String ADMIN_TOKEN = "Bearer " + YOUTRACK_PROPERTY_VALUE; - private static final String ACCESS_TOKEN = "Bearer perm:YXV0b3JlcG9ydGVy.NjEtMjU=.QTSTEYOPmj2RcRsZqpySmbMi3OxUh7"; + private static final String ACCESS_TOKEN = "Bearer perm:YXV0b3JlcG9ydGVy.NjEtMjY=.FgsJOlHXSdCSQTUyfagUKU9WlkrLhV"; @Override public @NotNull String getReportActionText() { diff --git a/plugin/coverage/build.gradle.kts b/plugin/coverage/build.gradle.kts index e5e23b0655..6cc352b913 100644 --- a/plugin/coverage/build.gradle.kts +++ b/plugin/coverage/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/cpan/build.gradle.kts b/plugin/cpan/build.gradle.kts index 7a2c0f5502..7b24f36ace 100644 --- a/plugin/cpan/build.gradle.kts +++ b/plugin/cpan/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/cpanminus/backend/build.gradle.kts b/plugin/cpanminus/backend/build.gradle.kts index 824865e6f1..366797bd67 100644 --- a/plugin/cpanminus/backend/build.gradle.kts +++ b/plugin/cpanminus/backend/build.gradle.kts @@ -28,7 +28,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/cpanminus/common/build.gradle.kts b/plugin/cpanminus/common/build.gradle.kts index 674667c823..ca1cbd30a2 100644 --- a/plugin/cpanminus/common/build.gradle.kts +++ b/plugin/cpanminus/common/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/debugger/build.gradle.kts b/plugin/debugger/build.gradle.kts index 97580852c3..571ebbe1bc 100644 --- a/plugin/debugger/build.gradle.kts +++ b/plugin/debugger/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/frontend/build.gradle.kts b/plugin/frontend/build.gradle.kts index d0e27545f5..a20dfcfb65 100644 --- a/plugin/frontend/build.gradle.kts +++ b/plugin/frontend/build.gradle.kts @@ -24,7 +24,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/frontend/split/build.gradle.kts b/plugin/frontend/split/build.gradle.kts index ea755b5309..1e24891fe0 100644 --- a/plugin/frontend/split/build.gradle.kts +++ b/plugin/frontend/split/build.gradle.kts @@ -25,7 +25,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/frontend/split/src/main/java/com/jetbrains/rdclient/actions/base/PerlBackendDelegatingActionCustomization.kt b/plugin/frontend/split/src/main/java/com/jetbrains/rdclient/actions/base/PerlBackendDelegatingActionCustomization.kt index 31fd01b163..d4f985280d 100644 --- a/plugin/frontend/split/src/main/java/com/jetbrains/rdclient/actions/base/PerlBackendDelegatingActionCustomization.kt +++ b/plugin/frontend/split/src/main/java/com/jetbrains/rdclient/actions/base/PerlBackendDelegatingActionCustomization.kt @@ -18,12 +18,15 @@ package com.jetbrains.rdclient.actions.base import com.intellij.openapi.actionSystem.CommonDataKeys.EDITOR import com.intellij.openapi.actionSystem.DataContext +import com.intellij.openapi.fileTypes.FileType import com.intellij.openapi.util.registry.Registry import com.jetbrains.rdclient.actions.ActionCallStrategy import com.perl5.lang.perl.util.PerlFrontendUtil class PerlBackendDelegatingActionCustomization : BackendDelegatingActionCustomization() { - override fun isAvailable(dataContext: DataContext): Boolean = Registry.`is`("perl5.frontend.speculative.actions.enabled") && + override fun isAvailable(dataContext: DataContext, fileType: FileType?): Boolean = isAvailable(dataContext) + + private fun isAvailable(dataContext: DataContext): Boolean = Registry.`is`("perl5.frontend.speculative.actions.enabled") && PerlFrontendUtil.isPluginDocument(EDITOR.getData(dataContext)?.document) override fun getActionCallStrategy(dataContext: DataContext, frontendActionId: String): ActionCallStrategy? = diff --git a/plugin/frontend/split/src/main/java/com/jetbrains/rdclient/editorActions/cwm/PerlFrontendEditorActionHandlerStrategyCustomizer.kt b/plugin/frontend/split/src/main/java/com/jetbrains/rdclient/editorActions/cwm/PerlFrontendEditorActionHandlerStrategyCustomizer.kt index 5d067c72d8..718dc67627 100644 --- a/plugin/frontend/split/src/main/java/com/jetbrains/rdclient/editorActions/cwm/PerlFrontendEditorActionHandlerStrategyCustomizer.kt +++ b/plugin/frontend/split/src/main/java/com/jetbrains/rdclient/editorActions/cwm/PerlFrontendEditorActionHandlerStrategyCustomizer.kt @@ -19,6 +19,7 @@ package com.jetbrains.rdclient.editorActions.cwm import com.intellij.openapi.actionSystem.DataContext import com.intellij.openapi.editor.Caret import com.intellij.openapi.editor.Editor +import com.intellij.openapi.fileTypes.FileType import com.jetbrains.rd.ide.model.ActionCallStrategyKind import com.perl5.lang.perl.util.PerlFrontendUtil @@ -31,7 +32,8 @@ class PerlFrontendEditorActionHandlerStrategyCustomizer : FrontendEditorActionHa actionId: String, editor: Editor, caret: Caret?, - dataContext: DataContext + dataContext: DataContext, + fileType: FileType? ): ActionCallStrategyKind? = if ((actionId !in uncustomizableActions) && PerlFrontendUtil.isPluginDocument(editor.document)) ActionCallStrategyKind.FrontendOnly diff --git a/plugin/idea/build.gradle.kts b/plugin/idea/build.gradle.kts index 0827c381fa..18a5e15eb7 100644 --- a/plugin/idea/build.gradle.kts +++ b/plugin/idea/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/intelliLang/build.gradle.kts b/plugin/intelliLang/build.gradle.kts index 7fee813b4d..a598943714 100644 --- a/plugin/intelliLang/build.gradle.kts +++ b/plugin/intelliLang/build.gradle.kts @@ -28,11 +28,11 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } - bundledPlugins(providers.gradleProperty("intelliLangPlugin").get()) + bundledModules(providers.gradleProperty("intelliLangModule").get()) } } diff --git a/plugin/intelliLang/src/main/resources/perl5.plugin.intelliLang.main.xml b/plugin/intelliLang/src/main/resources/perl5.plugin.intelliLang.main.xml index db82264d84..f00815f66d 100644 --- a/plugin/intelliLang/src/main/resources/perl5.plugin.intelliLang.main.xml +++ b/plugin/intelliLang/src/main/resources/perl5.plugin.intelliLang.main.xml @@ -18,6 +18,7 @@ + messages.PerlIntelliLangBundle diff --git a/plugin/makeMaker/build.gradle.kts b/plugin/makeMaker/build.gradle.kts index 97580852c3..571ebbe1bc 100644 --- a/plugin/makeMaker/build.gradle.kts +++ b/plugin/makeMaker/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/moduleBuild/build.gradle.kts b/plugin/moduleBuild/build.gradle.kts index 97580852c3..571ebbe1bc 100644 --- a/plugin/moduleBuild/build.gradle.kts +++ b/plugin/moduleBuild/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/perlInstall/build.gradle.kts b/plugin/perlInstall/build.gradle.kts index 6ea42049f1..d63487befe 100644 --- a/plugin/perlInstall/build.gradle.kts +++ b/plugin/perlInstall/build.gradle.kts @@ -25,7 +25,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/perlbrew/build.gradle.kts b/plugin/perlbrew/build.gradle.kts index 7a2c0f5502..7b24f36ace 100644 --- a/plugin/perlbrew/build.gradle.kts +++ b/plugin/perlbrew/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/plenv/build.gradle.kts b/plugin/plenv/build.gradle.kts index 8df093b5aa..1e250a691e 100644 --- a/plugin/plenv/build.gradle.kts +++ b/plugin/plenv/build.gradle.kts @@ -27,7 +27,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/src/test/resources/unit/distribution/plugin.none.txt b/plugin/src/test/resources/unit/distribution/plugin.none.txt index 6c67a8dd53..7986da767c 100644 --- a/plugin/src/test/resources/unit/distribution/plugin.none.txt +++ b/plugin/src/test/resources/unit/distribution/plugin.none.txt @@ -8,89 +8,90 @@ Jar files: Content modules: - perl5.plugin.asdf.main (OPTIONAL); lib/modules/perl5.plugin.asdf.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) - - Module(name=perl5.plugin.perlInstall.main) + - perl5.plugin.backend.main + - perl5.plugin.perlInstall.main - perl5.plugin.berrybrew.main (OPTIONAL); lib/modules/perl5.plugin.berrybrew.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) + - perl5.plugin.backend.main - perl5.plugin.carton.main (OPTIONAL); lib/modules/perl5.plugin.carton.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) + - perl5.plugin.backend.main - perl5.plugin.common.main (REQUIRED); lib/modules/perl5.plugin.common.main.jar - Dependencies: - - Module(name=intellij.spellchecker) + - intellij.spellchecker - perl5.plugin.copyright.main (OPTIONAL); lib/modules/perl5.plugin.copyright.main.jar - Dependencies: - - Plugin(id=com.intellij.copyright) - - Module(name=perl5.plugin.backend.main) + - com.intellij.copyright + - perl5.plugin.backend.main - perl5.plugin.backend.main (OPTIONAL); lib/modules/perl5.plugin.backend.main.jar - Dependencies: - - Module(name=perl5.plugin.common.main) - - Module(name=intellij.platform.backend) + - perl5.plugin.common.main + - intellij.platform.backend - perl5.plugin.coverage.main (OPTIONAL); lib/modules/perl5.plugin.coverage.main.jar - Dependencies: - - Plugin(id=com.intellij.modules.coverage) - - Module(name=perl5.plugin.backend.main) + - com.intellij.modules.coverage + - perl5.plugin.backend.main - perl5.plugin.cpan.main (OPTIONAL); lib/modules/perl5.plugin.cpan.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) + - perl5.plugin.backend.main - perl5.plugin.cpanminus.backend.main (OPTIONAL); lib/modules/perl5.plugin.cpanminus.backend.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) - - Module(name=perl5.plugin.cpanminus.common.main) + - perl5.plugin.backend.main + - perl5.plugin.cpanminus.common.main - perl5.plugin.cpanminus.common.main (OPTIONAL); lib/modules/perl5.plugin.cpanminus.common.main.jar - Dependencies: - - Module(name=perl5.plugin.common.main) + - perl5.plugin.common.main - perl5.plugin.debugger.main (OPTIONAL); lib/modules/perl5.plugin.debugger.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) + - perl5.plugin.backend.main - perl5.plugin.docker.main (OPTIONAL); lib/modules/perl5.plugin.docker.main.jar - Dependencies: - - Plugin(id=org.jetbrains.plugins.remote-run) - - Plugin(id=com.intellij.modules.ultimate) - - Module(name=perl5.plugin.backend.main) + - org.jetbrains.plugins.remote-run + - com.intellij.modules.ultimate + - perl5.plugin.backend.main - perl5.plugin.frontend.main (OPTIONAL); lib/modules/perl5.plugin.frontend.main.jar - Dependencies: - - Module(name=intellij.platform.frontend) - - Module(name=perl5.plugin.common.main) + - intellij.platform.frontend + - perl5.plugin.common.main - perl5.plugin.frontend.split.main (OPTIONAL); lib/modules/perl5.plugin.frontend.split.main.jar - Dependencies: - - Module(name=intellij.platform.frontend.split) - - Module(name=perl5.plugin.frontend.main) + - intellij.platform.frontend.split + - perl5.plugin.frontend.main - perl5.plugin.idea.main (OPTIONAL); lib/modules/perl5.plugin.idea.main.jar - Dependencies: - - Plugin(id=com.intellij.modules.java) - - Module(name=perl5.plugin.backend.main) + - com.intellij.modules.java + - perl5.plugin.backend.main - perl5.plugin.intelliLang.main (OPTIONAL); lib/modules/perl5.plugin.intelliLang.main.jar - Dependencies: - - Plugin(id=org.intellij.intelliLang) - - Module(name=perl5.plugin.backend.main) + - org.intellij.intelliLang + - perl5.plugin.backend.main + - intellij.platform.langInjection - perl5.plugin.makeMaker.main (OPTIONAL); lib/modules/perl5.plugin.makeMaker.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) + - perl5.plugin.backend.main - perl5.plugin.moduleBuild.main (OPTIONAL); lib/modules/perl5.plugin.moduleBuild.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) + - perl5.plugin.backend.main - perl5.plugin.perlInstall.main (OPTIONAL); lib/modules/perl5.plugin.perlInstall.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) + - perl5.plugin.backend.main - perl5.plugin.perlbrew.main (OPTIONAL); lib/modules/perl5.plugin.perlbrew.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) + - perl5.plugin.backend.main - perl5.plugin.plenv.main (OPTIONAL); lib/modules/perl5.plugin.plenv.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) - - Module(name=perl5.plugin.perlInstall.main) + - perl5.plugin.backend.main + - perl5.plugin.perlInstall.main - perl5.plugin.profiler.main (OPTIONAL); lib/modules/perl5.plugin.profiler.main.jar - Dependencies: - - Plugin(id=com.intellij.modules.ultimate) - - Module(name=perl5.plugin.backend.main) - - Module(name=intellij.profiler.common) + - com.intellij.modules.ultimate + - perl5.plugin.backend.main + - intellij.profiler.common - perl5.plugin.terminal.main (OPTIONAL); lib/modules/perl5.plugin.terminal.main.jar - Dependencies: - - Plugin(id=org.jetbrains.plugins.terminal) - - Module(name=perl5.plugin.backend.main) + - org.jetbrains.plugins.terminal + - perl5.plugin.backend.main - perl5.plugin.wsl.main (OPTIONAL); lib/modules/perl5.plugin.wsl.main.jar - Dependencies: - - Plugin(id=com.intellij.modules.ultimate) - - Module(name=perl5.plugin.backend.main) \ No newline at end of file + - com.intellij.modules.ultimate + - perl5.plugin.backend.main \ No newline at end of file diff --git a/plugin/terminal/build.gradle.kts b/plugin/terminal/build.gradle.kts index a87a509413..7e1b71ac37 100644 --- a/plugin/terminal/build.gradle.kts +++ b/plugin/terminal/build.gradle.kts @@ -26,7 +26,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/plugin/testFixtures/build.gradle.kts b/plugin/testFixtures/build.gradle.kts index 7bdaa9cbe2..cc1f3be7aa 100644 --- a/plugin/testFixtures/build.gradle.kts +++ b/plugin/testFixtures/build.gradle.kts @@ -28,12 +28,15 @@ dependencies { intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } + bundledModules( + providers.gradleProperty("intelliLangModule").get(), + providers.gradleProperty("intelliLangBackendModule").get(), + ) bundledPlugins( - providers.gradleProperty("intelliLangPlugin").get(), "org.jetbrains.plugins.terminal", ) } diff --git a/plugin/testFixtures/src/testFixtures/java/base/PerlDistributionTestCase.kt b/plugin/testFixtures/src/testFixtures/java/base/PerlDistributionTestCase.kt index d90115ab71..80dcddbc2f 100644 --- a/plugin/testFixtures/src/testFixtures/java/base/PerlDistributionTestCase.kt +++ b/plugin/testFixtures/src/testFixtures/java/base/PerlDistributionTestCase.kt @@ -19,9 +19,11 @@ package base import com.intellij.ide.plugins.PluginMainDescriptor import com.intellij.ide.plugins.PluginManager import com.intellij.openapi.extensions.PluginId +import com.intellij.openapi.util.IntellijInternalApi import com.intellij.openapi.util.io.FileUtil import java.nio.file.Path +@OptIn(IntellijInternalApi::class) open class PerlDistributionTestCase : PerlLightTestCaseBase() { override fun getFileExtension(): String? = "none" @@ -41,7 +43,7 @@ open class PerlDistributionTestCase : PerlLightTestCaseBase() { result.append("Content modules:\n") pluginDescriptor.contentModules.forEach { moduleDescriptor -> result.append( - " - ${moduleDescriptor.moduleName} (${moduleDescriptor.moduleLoadingRule}); ${ + " - ${moduleDescriptor.moduleId} (${moduleDescriptor.moduleLoadingRule}); ${ moduleDescriptor.jarFiles!!.joinToString { file -> relativizer(file) } }\n" ) diff --git a/tt2/common/build.gradle.kts b/tt2/common/build.gradle.kts index ba74dfcdcf..c4bfdaecc4 100644 --- a/tt2/common/build.gradle.kts +++ b/tt2/common/build.gradle.kts @@ -41,7 +41,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/tt2/frontend/build.gradle.kts b/tt2/frontend/build.gradle.kts index 4cb638d426..91c84afe0f 100644 --- a/tt2/frontend/build.gradle.kts +++ b/tt2/frontend/build.gradle.kts @@ -25,7 +25,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/tt2/frontend/split/build.gradle.kts b/tt2/frontend/split/build.gradle.kts index 688cb93ef1..e51f6b9045 100644 --- a/tt2/frontend/split/build.gradle.kts +++ b/tt2/frontend/split/build.gradle.kts @@ -27,7 +27,7 @@ dependencies { } intellijPlatform { val platformVersionProvider: Provider by rootProject.extra - create(IntelliJPlatformType.IntellijIdeaCommunity, platformVersionProvider.get()){ + create(IntelliJPlatformType.IntellijIdeaUltimate, platformVersionProvider.get()){ useInstaller = providers.gradleProperty("useInstaller").get().toBoolean() } diff --git a/tt2/src/test/resources/unit/distribution/plugin.none.txt b/tt2/src/test/resources/unit/distribution/plugin.none.txt index 2f64551df1..5dcb1d1f0f 100644 --- a/tt2/src/test/resources/unit/distribution/plugin.none.txt +++ b/tt2/src/test/resources/unit/distribution/plugin.none.txt @@ -8,16 +8,16 @@ Jar files: Content modules: - perl5.lang.tt2.common.main (REQUIRED); lib/modules/perl5.lang.tt2.common.main.jar - Dependencies: - - Module(name=perl5.plugin.common.main) + - perl5.plugin.common.main - perl5.lang.tt2.backend.main (OPTIONAL); lib/modules/perl5.lang.tt2.backend.main.jar - Dependencies: - - Module(name=perl5.plugin.backend.main) - - Module(name=perl5.lang.tt2.common.main) + - perl5.plugin.backend.main + - perl5.lang.tt2.common.main - perl5.lang.tt2.frontend.main (OPTIONAL); lib/modules/perl5.lang.tt2.frontend.main.jar - Dependencies: - - Module(name=intellij.platform.frontend) - - Module(name=perl5.lang.tt2.common.main) + - intellij.platform.frontend + - perl5.lang.tt2.common.main - perl5.lang.tt2.frontend.split.main (OPTIONAL); lib/modules/perl5.lang.tt2.frontend.split.main.jar - Dependencies: - - Module(name=intellij.platform.frontend.split) - - Module(name=perl5.lang.tt2.frontend.main) + - intellij.platform.frontend.split + - perl5.lang.tt2.frontend.main \ No newline at end of file