From 398ebce1d5f11db1b97fe1a37133cfda46073d45 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Thu, 25 Jul 2024 08:52:02 +0200 Subject: [PATCH] split content report GitOrigin-RevId: ef449bdf4c5480a6ee3ce43b4af118c2c6e31219 --- images/plugin-content.yaml | 3 + java/ide-customization/plugin-content.yaml | 3 + java/plugin/plugin-content.yaml | 136 +++++++ .../intellij.platform.buildScripts.iml | 3 +- .../org/jetbrains/intellij/build/classpath.kt | 1 + .../intellij/build/dev/PluginBuilder.kt | 3 +- .../intellij/build/impl/BuildTasksImpl.kt | 23 +- .../build/impl/DistributionJARsBuilder.kt | 69 ++-- .../intellij/build/impl/JarPackager.kt | 4 +- .../impl/LibraryLicensesListGenerator.kt | 46 +-- .../build/impl/MavenArtifactsBuilder.kt | 4 +- .../DistributionFileEntry.kt | 15 + .../ProjectStructureMapping.kt | 153 ++++++-- .../impl/runtimeModuleRepositoryGenerator.kt | 20 +- .../impl/sbom/SoftwareBillOfMaterialsImpl.kt | 12 +- .../testFramework/LibraryLicensesTester.kt | 6 +- platform/testFramework/ui/plugin-content.yaml | 11 + platform/tracing-ide/plugin-content.yaml | 3 + plugins/ByteCodeViewer/plugin-content.yaml | 3 + plugins/IntelliLang/plugin-content.yaml | 8 + plugins/ant/plugin-content.yaml | 6 + plugins/changeReminder/plugin-content.yaml | 6 + plugins/classic-ui/plugin-content.yaml | 3 + .../plugin-content.yaml | 3 + .../plugin-content.yaml | 3 + .../cobalt-color-scheme/plugin-content.yaml | 3 + .../github-color-scheme/plugin-content.yaml | 3 + .../monokai-color-scheme/plugin-content.yaml | 3 + .../plugin-content.yaml | 3 + .../twilight-color-scheme/plugin-content.yaml | 3 + .../plugin-content.yaml | 3 + .../plugin-content.yaml | 3 + plugins/commander/plugin-content.yaml | 3 + .../plugin-content.yaml | 38 ++ .../completion-ml-ranking/plugin-content.yaml | 3 + .../configuration-script/plugin-content.yaml | 3 + plugins/copyright/plugin-content.yaml | 5 + plugins/coverage/plugin-content.yaml | 11 + plugins/dev/intellij.dev/plugin-content.yaml | 10 + .../resources/intellij.devkit.core.xml | 1 + .../ContentReportGeneratedSourcesFilter.kt | 25 ++ .../intellij.devkit/plugin-content.yaml | 25 ++ plugins/eclipse/plugin-content.yaml | 9 + plugins/editorconfig/plugin-content.yaml | 8 + plugins/emojipicker/plugin-content.yaml | 3 + plugins/evaluation-plugin/plugin-content.yaml | 29 ++ plugins/filePrediction/plugin-content.yaml | 6 + plugins/git4idea/plugin-content.yaml | 8 + plugins/gitlab/plugin-content.yaml | 3 + plugins/gradle-maven/plugin-content.yaml | 3 + .../plugin-content.yaml | 3 + .../plugin-content.yaml | 3 + plugins/gradle/java/plugin-content.yaml | 6 + plugins/gradle/plugin-content.yaml | 173 +++++++++ plugins/grazie/plugin-content.yaml | 81 ++++ plugins/groovy/plugin-content.yaml | 24 ++ plugins/hg4idea/plugin-content.yaml | 3 + plugins/htmltools/plugin-content.yaml | 3 + .../ide-features-trainer/plugin-content.yaml | 20 + .../plugin/plugin-content.yaml | 4 + plugins/java-i18n/plugin-content.yaml | 3 + plugins/javaFX/community/plugin-content.yaml | 8 + plugins/jsonpath/plugin-content.yaml | 10 + plugins/junit/plugin-content.yaml | 9 + .../eclipse-keymap/plugin-content.yaml | 3 + .../netbeans5.6-keymap/plugin-content.yaml | 3 + .../qtcreator-keymap/plugin-content.yaml | 3 + .../resharper-keymap/plugin-content.yaml | 3 + .../visual-assist-keymap/plugin-content.yaml | 3 + .../plugin-content.yaml | 3 + .../visual-studio-keymap/plugin-content.yaml | 3 + .../plugin-content.yaml | 3 + .../keymaps/vscode-keymap/plugin-content.yaml | 3 + .../keymaps/xcode-keymap/plugin-content.yaml | 3 + plugins/kotlin/plugin/plugin-content.yaml | 351 ++++++++++++++++++ .../scripting-plugin/plugin-content.yaml | 23 ++ plugins/laf/macos/plugin-content.yaml | 3 + plugins/laf/win10/plugin-content.yaml | 3 + plugins/lombok/plugin-content.yaml | 4 + plugins/markdown/core/plugin-content.yaml | 12 + plugins/marketplace-ml/plugin-content.yaml | 3 + plugins/maven-model/plugin-content.yaml | 8 + plugins/maven-server-api/plugin-content.yaml | 3 + plugins/maven/plugin-content.yaml | 42 +++ .../core/plugin-content.yaml | 23 ++ .../scripts-ui/plugin-content.yaml | 3 + plugins/properties/plugin-content.yaml | 7 + .../plugin-content.yaml | 3 + .../rareJavaRefactorings/plugin-content.yaml | 3 + plugins/remote-control/plugin-content.yaml | 3 + plugins/repository-search/plugin-content.yaml | 16 + .../search-everywhere-ml/plugin-content.yaml | 39 ++ .../settings-repository/plugin-content.yaml | 14 + plugins/settings-sync/plugin-content.yaml | 11 + plugins/sh/plugin-content.yaml | 10 + plugins/stats-collector/plugin-content.yaml | 6 + plugins/stream-debugger/plugin-content.yaml | 3 + plugins/svn4idea/plugin-content.yaml | 8 + plugins/tasks/tasks-core/plugin-content.yaml | 29 ++ plugins/terminal/plugin-content.yaml | 14 + plugins/testng/plugin-content.yaml | 13 + plugins/textmate/plugin-content.yaml | 11 + plugins/toml/plugin-content.yaml | 8 + plugins/turboComplete/plugin-content.yaml | 10 + plugins/ui-designer/plugin-content.yaml | 6 + plugins/webp/plugin-content.yaml | 6 + plugins/xpath/plugin-content.yaml | 6 + plugins/xslt-debugger/plugin-content.yaml | 14 + plugins/yaml/plugin-content.yaml | 9 + python/pluginCore/plugin-content.yaml | 53 +++ 110 files changed, 1805 insertions(+), 116 deletions(-) create mode 100644 images/plugin-content.yaml create mode 100644 java/ide-customization/plugin-content.yaml create mode 100644 java/plugin/plugin-content.yaml create mode 100644 platform/testFramework/ui/plugin-content.yaml create mode 100644 platform/tracing-ide/plugin-content.yaml create mode 100644 plugins/ByteCodeViewer/plugin-content.yaml create mode 100644 plugins/IntelliLang/plugin-content.yaml create mode 100644 plugins/ant/plugin-content.yaml create mode 100644 plugins/changeReminder/plugin-content.yaml create mode 100644 plugins/classic-ui/plugin-content.yaml create mode 100644 plugins/color-schemes/all-hallows-eve-color-scheme/plugin-content.yaml create mode 100644 plugins/color-schemes/blackboard-color-scheme/plugin-content.yaml create mode 100644 plugins/color-schemes/cobalt-color-scheme/plugin-content.yaml create mode 100644 plugins/color-schemes/github-color-scheme/plugin-content.yaml create mode 100644 plugins/color-schemes/monokai-color-scheme/plugin-content.yaml create mode 100644 plugins/color-schemes/rails-casts-color-scheme/plugin-content.yaml create mode 100644 plugins/color-schemes/twilight-color-scheme/plugin-content.yaml create mode 100644 plugins/color-schemes/vibrant-ink-color-scheme/plugin-content.yaml create mode 100644 plugins/color-schemes/warm-neon-color-scheme/plugin-content.yaml create mode 100644 plugins/commander/plugin-content.yaml create mode 100644 plugins/completion-ml-ranking-models/plugin-content.yaml create mode 100644 plugins/completion-ml-ranking/plugin-content.yaml create mode 100644 plugins/configuration-script/plugin-content.yaml create mode 100644 plugins/copyright/plugin-content.yaml create mode 100644 plugins/coverage/plugin-content.yaml create mode 100644 plugins/dev/intellij.dev/plugin-content.yaml create mode 100644 plugins/devkit/devkit-core/src/contentReport/ContentReportGeneratedSourcesFilter.kt create mode 100644 plugins/devkit/intellij.devkit/plugin-content.yaml create mode 100644 plugins/eclipse/plugin-content.yaml create mode 100644 plugins/editorconfig/plugin-content.yaml create mode 100644 plugins/emojipicker/plugin-content.yaml create mode 100644 plugins/evaluation-plugin/plugin-content.yaml create mode 100644 plugins/filePrediction/plugin-content.yaml create mode 100644 plugins/git4idea/plugin-content.yaml create mode 100644 plugins/gitlab/plugin-content.yaml create mode 100644 plugins/gradle-maven/plugin-content.yaml create mode 100644 plugins/gradle/gradle-dependency-updater/plugin-content.yaml create mode 100644 plugins/gradle/intellij.gradle.analysis/plugin-content.yaml create mode 100644 plugins/gradle/java/plugin-content.yaml create mode 100644 plugins/gradle/plugin-content.yaml create mode 100644 plugins/grazie/plugin-content.yaml create mode 100644 plugins/groovy/plugin-content.yaml create mode 100644 plugins/hg4idea/plugin-content.yaml create mode 100644 plugins/htmltools/plugin-content.yaml create mode 100644 plugins/ide-features-trainer/plugin-content.yaml create mode 100644 plugins/java-decompiler/plugin/plugin-content.yaml create mode 100644 plugins/java-i18n/plugin-content.yaml create mode 100644 plugins/javaFX/community/plugin-content.yaml create mode 100644 plugins/jsonpath/plugin-content.yaml create mode 100644 plugins/junit/plugin-content.yaml create mode 100644 plugins/keymaps/eclipse-keymap/plugin-content.yaml create mode 100644 plugins/keymaps/netbeans5.6-keymap/plugin-content.yaml create mode 100644 plugins/keymaps/qtcreator-keymap/plugin-content.yaml create mode 100644 plugins/keymaps/resharper-keymap/plugin-content.yaml create mode 100644 plugins/keymaps/visual-assist-keymap/plugin-content.yaml create mode 100644 plugins/keymaps/visual-studio-for-mac-keymap/plugin-content.yaml create mode 100644 plugins/keymaps/visual-studio-keymap/plugin-content.yaml create mode 100644 plugins/keymaps/visual-studio2022-keymap/plugin-content.yaml create mode 100644 plugins/keymaps/vscode-keymap/plugin-content.yaml create mode 100644 plugins/keymaps/xcode-keymap/plugin-content.yaml create mode 100644 plugins/kotlin/plugin/plugin-content.yaml create mode 100644 plugins/kotlin/scripting-plugin/plugin-content.yaml create mode 100644 plugins/laf/macos/plugin-content.yaml create mode 100644 plugins/laf/win10/plugin-content.yaml create mode 100644 plugins/lombok/plugin-content.yaml create mode 100644 plugins/markdown/core/plugin-content.yaml create mode 100644 plugins/marketplace-ml/plugin-content.yaml create mode 100644 plugins/maven-model/plugin-content.yaml create mode 100644 plugins/maven-server-api/plugin-content.yaml create mode 100644 plugins/maven/plugin-content.yaml create mode 100644 plugins/performanceTesting/core/plugin-content.yaml create mode 100644 plugins/performanceTesting/scripts-ui/plugin-content.yaml create mode 100644 plugins/properties/plugin-content.yaml create mode 100644 plugins/properties/properties-resource-bundle-editor/plugin-content.yaml create mode 100644 plugins/rareJavaRefactorings/plugin-content.yaml create mode 100644 plugins/remote-control/plugin-content.yaml create mode 100644 plugins/repository-search/plugin-content.yaml create mode 100644 plugins/search-everywhere-ml/plugin-content.yaml create mode 100644 plugins/settings-repository/plugin-content.yaml create mode 100644 plugins/settings-sync/plugin-content.yaml create mode 100644 plugins/sh/plugin-content.yaml create mode 100644 plugins/stats-collector/plugin-content.yaml create mode 100644 plugins/stream-debugger/plugin-content.yaml create mode 100644 plugins/svn4idea/plugin-content.yaml create mode 100644 plugins/tasks/tasks-core/plugin-content.yaml create mode 100644 plugins/terminal/plugin-content.yaml create mode 100644 plugins/testng/plugin-content.yaml create mode 100644 plugins/textmate/plugin-content.yaml create mode 100644 plugins/toml/plugin-content.yaml create mode 100644 plugins/turboComplete/plugin-content.yaml create mode 100644 plugins/ui-designer/plugin-content.yaml create mode 100644 plugins/webp/plugin-content.yaml create mode 100644 plugins/xpath/plugin-content.yaml create mode 100644 plugins/xslt-debugger/plugin-content.yaml create mode 100644 plugins/yaml/plugin-content.yaml create mode 100644 python/pluginCore/plugin-content.yaml diff --git a/images/plugin-content.yaml b/images/plugin-content.yaml new file mode 100644 index 000000000000..334c6197e253 --- /dev/null +++ b/images/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/platform-images.jar + modules: + - name: intellij.platform.images \ No newline at end of file diff --git a/java/ide-customization/plugin-content.yaml b/java/ide-customization/plugin-content.yaml new file mode 100644 index 000000000000..9fcf41ebd72d --- /dev/null +++ b/java/ide-customization/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/java-ide-customization.jar + modules: + - name: intellij.java.ide.customization \ No newline at end of file diff --git a/java/plugin/plugin-content.yaml b/java/plugin/plugin-content.yaml new file mode 100644 index 000000000000..5d105e80e187 --- /dev/null +++ b/java/plugin/plugin-content.yaml @@ -0,0 +1,136 @@ +- name: lib/aether-dependency-resolver.jar + modules: + - name: intellij.java.aetherDependencyResolver +- name: lib/client/java-frontend.jar + modules: + - name: intellij.java.frontend +- name: lib/debugger-memory-agent.jar +- name: lib/ecj/eclipse.jar + projectLibraries: + - name: Eclipse + files: + - name: $PROJECT_DIR$/community/lib/ecj-4.jar + reason: withProjectLibrary +- name: lib/java-frontback.jar + modules: + - name: intellij.java.frontback.impl + - name: intellij.java.frontback.psi + - name: intellij.java.frontback.psi.impl +- name: lib/java-impl.jar + modules: + - name: intellij.java + - name: intellij.java.analysis + - name: intellij.java.analysis.impl + - name: intellij.java.compiler + - name: intellij.java.compiler.impl + - name: intellij.java.debugger + - name: intellij.java.debugger.impl + - name: intellij.java.debugger.memory.agent + - name: intellij.java.duplicates + - name: intellij.java.duplicates.analysis + - name: intellij.java.duplicatesDetection + - name: intellij.java.execution + - name: intellij.java.execution.impl + - name: intellij.java.impl + libraries: + completion-ranking-java: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-java/0/completion-ranking-java-0.jar + - name: intellij.java.impl.inspections + - name: intellij.java.impl.refactorings + - name: intellij.java.indexing + - name: intellij.java.indexing.impl + - name: intellij.java.jam + - name: intellij.java.jam.impl + - name: intellij.java.manifest + - name: intellij.java.plugin + - name: intellij.java.psi + - name: intellij.java.psi.impl + - name: intellij.java.remoteServers + - name: intellij.java.remoteServers.impl + - name: intellij.java.resources + reason: <- intellij.java.plugin + - name: intellij.java.resources.en + reason: <- intellij.java.plugin + - name: intellij.java.structureView + - name: intellij.java.typeMigration + - name: intellij.java.uast + - name: intellij.java.uast.ide + - name: intellij.java.ui + - name: intellij.jsp + - name: intellij.jsp.spi + - name: intellij.jvm.analysis + - name: intellij.jvm.analysis.impl + - name: intellij.jvm.analysis.quickFix + - name: intellij.jvm.analysis.refactoring + - name: intellij.platform.uast + - name: intellij.platform.uast.ide + - name: intellij.uiDesigner + contentModules: + - name: intellij.java.compiler.charts + - name: intellij.java.performancePlugin +- name: lib/javac2.jar + modules: + - name: intellij.java.compiler.antTasks + - name: intellij.java.compiler.instrumentationUtil + - name: intellij.java.compiler.instrumentationUtil.java8 + - name: intellij.java.guiForms.compiler +- name: lib/jb-jdi.jar + projectLibraries: + - name: jb-jdi + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/jb-jdi/2/jb-jdi-2.jar + reason: withProjectLibrary +- name: lib/jetbrains.kotlinx.metadata.jvm.jar + projectLibraries: + - name: jetbrains.kotlinx.metadata.jvm + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlinx/kotlinx-metadata-jvm/0/kotlinx-metadata-jvm-0.jar + reason: withProjectLibrary +- name: lib/jgoodies-common.jar + projectLibraries: + - name: jgoodies-common + files: + - name: $MAVEN_REPOSITORY$/com/jgoodies/jgoodies-common/1/jgoodies-common-1.jar + reason: withProjectLibrary +- name: lib/jps-builders-6.jar + modules: + - name: intellij.platform.jps.build.javac.rt +- name: lib/jps-builders.jar + modules: + - name: intellij.platform.jps.build + libraries: + qdox-java-parser: + - name: $MAVEN_REPOSITORY$/com/thoughtworks/qdox/qdox/2/qdox-2.jar +- name: lib/jps-javac-extension.jar + projectLibraries: + - name: jps-javac-extension + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/jps/jps-javac-extension/9/jps-javac-extension-9.jar + reason: withProjectLibrary +- name: lib/jps-launcher.jar + modules: + - name: intellij.platform.jps.build.launcher +- name: lib/jps/java-compiler-charts-jps.jar + modules: + - name: intellij.java.compiler.charts.jps +- name: lib/jshell-frontend.jar +- name: lib/jshell-protocol.jar + modules: + - name: intellij.java.jshell.protocol +- name: lib/maven-resolver-connector-basic.jar +- name: lib/maven-resolver-transport-file.jar +- name: lib/maven-resolver-transport-http.jar +- name: lib/modules/intellij.java.featuresTrainer.jar + contentModules: + - name: intellij.java.featuresTrainer +- name: lib/modules/intellij.java.structuralSearch.jar + contentModules: + - name: intellij.java.structuralSearch +- name: lib/modules/intellij.java.unscramble.jar + contentModules: + - name: intellij.java.unscramble +- name: lib/modules/intellij.java.vcs.jar + contentModules: + - name: intellij.java.vcs +- name: lib/rt/debugger-agent.jar +- name: lib/sa-jdwp.jar \ No newline at end of file diff --git a/platform/build-scripts/intellij.platform.buildScripts.iml b/platform/build-scripts/intellij.platform.buildScripts.iml index 83a8910d26fe..d5cd5afed335 100644 --- a/platform/build-scripts/intellij.platform.buildScripts.iml +++ b/platform/build-scripts/intellij.platform.buildScripts.iml @@ -234,10 +234,11 @@ - + + \ No newline at end of file diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/classpath.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/classpath.kt index 19435bec7259..c9d6318abe6e 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/classpath.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/classpath.kt @@ -161,6 +161,7 @@ fun reorderJar(jarFile: Path, orderedNames: List) { internal data class PluginBuildDescriptor( @JvmField val dir: Path, + @JvmField val os: OsFamily?, @JvmField val layout: PluginLayout, @JvmField val moduleNames: List, ) diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/dev/PluginBuilder.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/dev/PluginBuilder.kt index fc102d15c217..c7c57053a5d2 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/dev/PluginBuilder.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/dev/PluginBuilder.kt @@ -5,9 +5,7 @@ package org.jetbrains.intellij.build.dev import com.intellij.platform.diagnostic.telemetry.helpers.useWithScope import io.opentelemetry.api.common.AttributeKey -import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job -import kotlinx.coroutines.launch import org.jetbrains.intellij.build.BuildContext import org.jetbrains.intellij.build.PluginBuildDescriptor import org.jetbrains.intellij.build.SearchableOptionSetDescriptor @@ -34,6 +32,7 @@ internal suspend fun buildPlugins( context = context, buildPlatformJob = buildPlatformJob, searchableOptionSet = searchableOptionSet, + os = null, ) } } \ No newline at end of file diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/BuildTasksImpl.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/BuildTasksImpl.kt index c46cba367e49..b6a6011324d4 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/BuildTasksImpl.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/BuildTasksImpl.kt @@ -21,8 +21,8 @@ import org.jetbrains.intellij.build.impl.productInfo.PRODUCT_INFO_FILE_NAME import org.jetbrains.intellij.build.impl.productInfo.ProductInfoLaunchData import org.jetbrains.intellij.build.impl.productInfo.checkInArchive import org.jetbrains.intellij.build.impl.productInfo.generateProductInfoJson -import org.jetbrains.intellij.build.impl.projectStructureMapping.DistributionFileEntry -import org.jetbrains.intellij.build.impl.projectStructureMapping.includedModules +import org.jetbrains.intellij.build.impl.projectStructureMapping.ContentReport +import org.jetbrains.intellij.build.impl.projectStructureMapping.getIncludedModules import org.jetbrains.intellij.build.impl.projectStructureMapping.writeProjectStructureReport import org.jetbrains.intellij.build.impl.sbom.SoftwareBillOfMaterialsImpl import org.jetbrains.intellij.build.io.* @@ -36,7 +36,6 @@ import java.nio.file.attribute.PosixFilePermission import java.util.* import java.util.concurrent.TimeUnit import java.util.zip.Deflater -import kotlin.io.NoSuchFileException internal const val PROPERTIES_FILE_NAME: String = "idea.properties" @@ -118,8 +117,8 @@ internal class BuildTasksImpl(private val context: BuildContextImpl) : BuildTask * Generates a JSON file containing mapping between files in the product distribution and modules and libraries in the project configuration */ suspend fun generateProjectStructureMapping(targetFile: Path, context: BuildContext) { - val entries = generateProjectStructureMapping(context = context, platformLayout = createPlatformLayout(context = context)) - writeProjectStructureReport(entries = entries.first + entries.second, file = targetFile, buildPaths = context.paths) + val report = generateProjectStructureMapping(context = context, platformLayout = createPlatformLayout(context = context)) + writeProjectStructureReport(contentReport = report, file = targetFile, buildPaths = context.paths) } data class SupportedDistribution(@JvmField val os: OsFamily, @JvmField val arch: JvmArchitecture) @@ -342,10 +341,10 @@ private fun checkProjectLibraries(names: Collection, fieldName: String, } } -private suspend fun buildSourcesArchive(entries: List, context: BuildContext) { +private suspend fun buildSourcesArchive(contentReport: ContentReport, context: BuildContext) { val productProperties = context.productProperties val archiveName = "${productProperties.getBaseArtifactName(context.applicationInfo, context.buildNumber)}-sources.zip" - val openSourceModules = entries.includedModules.filter { moduleName -> + val openSourceModules = getIncludedModules(contentReport.combined()).filter { moduleName -> productProperties.includeIntoSourcesArchiveFilter.test(context.findRequiredModule(moduleName), context) }.toList() zipSourcesOfModules( @@ -479,19 +478,19 @@ suspend fun buildDistributions(context: BuildContext): Unit = spanBuilder("build return@coroutineScope } - val distEntries = spanBuilder("build platform and plugin JARs").useWithScope { - val entries = buildDistribution(state = distributionState, context) + val contentReport = spanBuilder("build platform and plugin JARs").useWithScope { + val contentReport = buildDistribution(state = distributionState, context) if (context.productProperties.buildSourcesArchive) { - buildSourcesArchive(entries, context) + buildSourcesArchive(contentReport, context) } - entries + contentReport } layoutShared(context) val distDirs = buildOsSpecificDistributions(context) launch(Dispatchers.IO) { context.executeStep(spanBuilder("generate software bill of materials"), SoftwareBillOfMaterials.STEP_ID) { - SoftwareBillOfMaterialsImpl(context = context, distributions = distDirs, distributionFiles = distEntries).generate() + SoftwareBillOfMaterialsImpl(context = context, distributions = distDirs, distributionFiles = contentReport.combined().toList()).generate() } } if (context.productProperties.buildCrossPlatformDistribution) { diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/DistributionJARsBuilder.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/DistributionJARsBuilder.kt index 5c460e524b67..1c8373336177 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/DistributionJARsBuilder.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/DistributionJARsBuilder.kt @@ -57,7 +57,7 @@ internal suspend fun buildDistribution( state: DistributionBuilderState, context: BuildContext, isUpdateFromSources: Boolean = false, -): List = coroutineScope { +): ContentReport = coroutineScope { validateModuleStructure(state.platform, context) context.productProperties.validateLayout(state.platform, context) createBuildBrokenPluginListJob(context) @@ -70,7 +70,7 @@ internal suspend fun buildDistribution( } val traceContext = Context.current().asContextElement() - val entries = coroutineScope { + val contentReport = coroutineScope { // must be completed before plugin building val searchableOptionSet = context.executeStep(spanBuilder("build searchable options index"), BuildOptions.SEARCHABLE_OPTIONS_INDEX_STEP) { buildSearchableOptions(productRunner = productRunner, context = context) @@ -116,33 +116,37 @@ internal suspend fun buildDistribution( context = context, ) - buildPlatformJob.await().asSequence() + bundledPluginItems + buildNonBundledPlugins.await() - }.toList() + ContentReport( + platform = buildPlatformJob.await(), + bundledPlugins = bundledPluginItems, + nonBundledPlugins = buildNonBundledPlugins.await(), + ) + } coroutineScope { launch(Dispatchers.IO) { spanBuilder("generate content report").useWithScope { Files.createDirectories(context.paths.artifactDir) val contentMappingJson = context.paths.artifactDir.resolve("content-mapping.json") - writeProjectStructureReport(entries = entries, file = contentMappingJson, buildPaths = context.paths) - val contentJson = context.paths.artifactDir.resolve("content.json") - Files.newOutputStream(contentJson).use { - buildJarContentReport(entries = entries, out = it, buildPaths = context.paths, context = context) + writeProjectStructureReport(contentReport = contentReport, file = contentMappingJson, buildPaths = context.paths) + val contentReportFile = context.paths.artifactDir.resolve("content-report.zip") + writeNewZipWithoutIndex(contentReportFile) { zipFileWriter -> + buildJarContentReport(contentReport = contentReport, zipFileWriter = zipFileWriter, buildPaths = context.paths, context = context) } context.notifyArtifactBuilt(contentMappingJson) - context.notifyArtifactBuilt(contentJson) + context.notifyArtifactBuilt(contentReportFile) } } - createBuildThirdPartyLibraryListJob(entries, context) + createBuildThirdPartyLibraryListJob(contentReport.combined(), context) if (context.useModularLoader || context.generateRuntimeModuleRepository) { launch(Dispatchers.IO) { spanBuilder("generate runtime module repository").useWithScope { - generateRuntimeModuleRepository(entries, context) + generateRuntimeModuleRepository(contentReport.combined(), context) } } } } - entries + contentReport } private suspend fun buildBundledPluginsForAllPlatforms( @@ -153,7 +157,7 @@ private suspend fun buildBundledPluginsForAllPlatforms( searchableOptionSetDescriptor: SearchableOptionSetDescriptor?, moduleOutputPatcher: ModuleOutputPatcher, context: BuildContext, -): List { +): List>> { return coroutineScope { val commonDeferred = async { doBuildBundledPlugins( @@ -197,7 +201,7 @@ private suspend fun buildBundledPluginsForAllPlatforms( context = context, ) listOf(common, specific.values.flatten()) - }.flatMap { list -> list.flatMap { it.second } } + }.flatten() } private fun writePluginInfo( @@ -296,6 +300,7 @@ private suspend fun doBuildBundledPlugins( state = state, context = context, buildPlatformJob = buildPlatformJob, + os = null, searchableOptionSet = searchableOptionSet, ) @@ -349,6 +354,7 @@ private suspend fun buildOsSpecificBundledPlugins( targetDir = targetDir, state = state, context = context, + os = os, buildPlatformJob = buildPlatformJob, searchableOptionSet = searchableOptionSet, ) @@ -389,7 +395,7 @@ internal suspend fun buildNonBundledPlugins( state: DistributionBuilderState, searchableOptionSet: SearchableOptionSetDescriptor?, context: BuildContext, -): List { +): List>> { return spanBuilder("build non-bundled plugins").setAttribute("count", pluginsToPublish.size.toLong()).useWithScope { span -> if (pluginsToPublish.isEmpty()) { return@useWithScope emptyList() @@ -420,6 +426,7 @@ internal suspend fun buildNonBundledPlugins( searchableOptionSet = searchableOptionSet, context = context, buildPlatformJob = buildPlatformLibJob, + os = null, ) { plugin, pluginDirOrFile -> val pluginVersion = if (plugin.mainModule == BUILT_IN_HELP_MODULE_NAME) { context.buildNumber @@ -474,7 +481,7 @@ internal suspend fun buildNonBundledPlugins( } mappings - }.flatMap { it.second } + } } private suspend fun validatePlugin(path: Path, context: BuildContext) { @@ -521,6 +528,7 @@ private suspend fun buildHelpPlugin( context = context, searchableOptionSet = searchableOptionSetDescriptor, buildPlatformJob = null, + os = null, ) zipWithCompression(targetFile = destFile, dirs = mapOf(pluginsToPublishDir.resolve(directory) to "")) null @@ -528,7 +536,7 @@ private suspend fun buildHelpPlugin( return PluginRepositorySpec(pluginZip = destFile, pluginXml = moduleOutputPatcher.getPatchedPluginXml(helpPlugin.mainModule)) } -internal suspend fun generateProjectStructureMapping(platformLayout: PlatformLayout, context: BuildContext): Pair, List> { +internal suspend fun generateProjectStructureMapping(platformLayout: PlatformLayout, context: BuildContext): ContentReport { return coroutineScope { val moduleOutputPatcher = ModuleOutputPatcher() val libDirLayout = async { @@ -546,11 +554,11 @@ internal suspend fun generateProjectStructureMapping(platformLayout: PlatformLay modules = context.bundledPluginModules, productLayout = context.productProperties.productLayout, ) - val entries = mutableListOf() + val entries = mutableListOf>>() for (plugin in allPlugins) { if (satisfiesBundlingRequirements(plugin = plugin, osFamily = null, arch = null, context = context)) { val targetDirectory = context.paths.distAllDir.resolve(PLUGINS_DIRECTORY).resolve(plugin.directoryName) - entries.addAll(layoutDistribution( + entries.add(PluginBuildDescriptor(dir = targetDirectory, layout = plugin, os = null, moduleNames = emptyList()) to layoutDistribution( layout = plugin, platformLayout = platformLayout, targetDirectory = targetDirectory, @@ -562,13 +570,14 @@ internal suspend fun generateProjectStructureMapping(platformLayout: PlatformLay ).first) } } - libDirLayout.await() to entries + ContentReport(platform = libDirLayout.await(), bundledPlugins = entries, nonBundledPlugins = emptyList()) } } internal suspend fun buildPlugins( moduleOutputPatcher: ModuleOutputPatcher, plugins: Collection, + os: OsFamily?, targetDir: Path, state: DistributionBuilderState, context: BuildContext, @@ -632,7 +641,7 @@ internal suspend fun buildPlugins( } } - PluginBuildDescriptor(dir = pluginDir, layout = plugin, moduleNames = emptyList()) to task.await() + PluginBuildDescriptor(dir = pluginDir, layout = plugin, os = os, moduleNames = emptyList()) to task.await() } } @@ -897,12 +906,14 @@ private fun CoroutineScope.createBuildBrokenPluginListJob(context: BuildContext) } } -private fun CoroutineScope.createBuildThirdPartyLibraryListJob(entries: List, context: BuildContext): Job? { +private fun CoroutineScope.createBuildThirdPartyLibraryListJob(entries: Sequence, context: BuildContext): Job? { return createSkippableJob(spanBuilder("generate table of licenses for used third-party libraries"), BuildOptions.THIRD_PARTY_LIBRARIES_LIST_STEP, context) { - val generator = LibraryLicensesListGenerator.create(project = context.project, - licensesList = context.productProperties.allLibraryLicenses, - usedModulesNames = entries.includedModules.toHashSet()) + val generator = createLibraryLicensesListGenerator( + project = context.project, + licenseList = context.productProperties.allLibraryLicenses, + usedModulesNames = getIncludedModules(entries).toHashSet(), + ) val distAllDir = context.paths.distAllDir withContext(Dispatchers.IO) { Files.createDirectories(distAllDir) @@ -1215,7 +1226,7 @@ private fun addArtifactMapping(artifact: JpsArtifact, entries: MutableCollection entries.add(ModuleLibraryFileEntry( path = artifactFile, moduleName = parentReference.moduleName, - libraryName = LibraryLicensesListGenerator.getLibraryName(library), + libraryName = getLibraryFilename(library), libraryFile = null, hash = 0, size = 0, @@ -1327,13 +1338,13 @@ private fun buildBlockMap(file: Path, json: JSON) { } suspend fun createIdeClassPath(platform: PlatformLayout, context: BuildContext): Collection { - val (lib, plugins) = generateProjectStructureMapping(context = context, platformLayout = platform) + val contentReport = generateProjectStructureMapping(context = context, platformLayout = platform) val pluginLayouts = context.productProperties.productLayout.pluginLayouts val classPath = LinkedHashSet() val libDir = context.paths.distAllDir.resolve("lib") - for (entry in lib) { + for (entry in contentReport.platform) { if (!(entry is ModuleOutputEntry && entry.reason == ModuleIncludeReasons.PRODUCT_MODULES)) { val relativePath = libDir.relativize(entry.path) if (relativePath.nameCount != 1 && !relativePath.startsWith("modules")) { @@ -1351,7 +1362,7 @@ suspend fun createIdeClassPath(platform: PlatformLayout, context: BuildContext): } val pluginDir = context.paths.distAllDir.resolve(PLUGINS_DIRECTORY) - for (entry in plugins) { + for (entry in contentReport.bundledPlugins.flatMap { it.second }) { val relativePath = pluginDir.relativize(entry.path) // for plugins, our classloader load jars only from lib folder if (relativePath.nameCount != 3 || relativePath.getName(1).toString() != LIB_DIRECTORY) { diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/JarPackager.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/JarPackager.kt index d3e3bfa071cb..d5cb68cd65dc 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/JarPackager.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/JarPackager.kt @@ -417,7 +417,7 @@ class JarPackager private constructor( ModuleLibraryFileEntry( path = targetFile, moduleName = moduleName, - libraryName = LibraryLicensesListGenerator.getLibraryName(library), + libraryName = getLibraryFilename(library), libraryFile = file, hash = hash, size = size, @@ -601,7 +601,7 @@ class JarPackager private constructor( ModuleLibraryFileEntry( path = targetFile, moduleName = it, - libraryName = LibraryLicensesListGenerator.getLibraryName(library), + libraryName = getLibraryFilename(library), libraryFile = file, hash = hash, size = size, diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/LibraryLicensesListGenerator.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/LibraryLicensesListGenerator.kt index 17144d19c00d..1a893dcc2019 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/LibraryLicensesListGenerator.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/LibraryLicensesListGenerator.kt @@ -1,4 +1,4 @@ -// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. @file:Suppress("ReplaceGetOrSet", "ReplacePutWithAssignment") package org.jetbrains.intellij.build.impl @@ -16,29 +16,29 @@ import org.jetbrains.jps.model.library.JpsRepositoryLibraryType import java.nio.file.Files import java.nio.file.Path -class LibraryLicensesListGenerator(private val libraryLicenses: List) { - companion object { - fun create(project: JpsProject, - licensesList: List, - usedModulesNames: Set, - allowEmpty: Boolean = false): LibraryLicensesListGenerator { - val licences = generateLicenses(project = project, licensesList = licensesList, usedModulesNames = usedModulesNames) - check(allowEmpty || !licences.isEmpty()) { - "Empty licenses table for ${licensesList.size} licenses and ${usedModulesNames.size} used modules names" - } - return LibraryLicensesListGenerator(licences) - } - - fun getLibraryName(lib: JpsLibrary): String { - val name = lib.name - if (name.startsWith('#')) { - // unnamed module libraries in IntelliJ project may have only one root - return lib.getPaths(JpsOrderRootType.COMPILED).first().fileName.toString() - } - return name - } +fun createLibraryLicensesListGenerator( + project: JpsProject, + licenseList: List, + usedModulesNames: Set, + allowEmpty: Boolean = false, +): LibraryLicensesListGenerator { + val licences = generateLicenses(project = project, licensesList = licenseList, usedModulesNames = usedModulesNames) + check(allowEmpty || !licences.isEmpty()) { + "Empty licenses table for ${licenseList.size} licenses and ${usedModulesNames.size} used modules names" } + return LibraryLicensesListGenerator(licences) +} +fun getLibraryFilename(lib: JpsLibrary): String { + val name = lib.name + if (name.startsWith('#')) { + // unnamed module libraries in IntelliJ project may have only one root + return lib.getPaths(JpsOrderRootType.COMPILED).first().fileName.toString() + } + return name +} + +class LibraryLicensesListGenerator internal constructor(private val libraryLicenses: List) { fun generateHtml(file: Path) { val out = StringBuilder() out.append(""" @@ -147,7 +147,7 @@ private fun generateLicenses(project: JpsProject, licensesList: List() for (module in usedModules) { for (item in JpsJavaExtensionService.dependencies(module).includedIn(JpsJavaClasspathKind.PRODUCTION_RUNTIME).libraries) { - usedLibraries.put(LibraryLicensesListGenerator.getLibraryName(item), module.name) + usedLibraries.put(getLibraryFilename(item), module.name) } } diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/MavenArtifactsBuilder.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/MavenArtifactsBuilder.kt index f15af6409304..d448ad49b47c 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/MavenArtifactsBuilder.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/MavenArtifactsBuilder.kt @@ -1,4 +1,4 @@ -// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package org.jetbrains.intellij.build.impl import com.intellij.platform.diagnostic.telemetry.helpers.useWithScope @@ -230,7 +230,7 @@ open class MavenArtifactsBuilder(protected val context: BuildContext) { else if (!isOptionalDependency(library)) { Span.current().addEvent("module depends on non-maven library", Attributes.of( AttributeKey.stringKey("module"), module.name, - AttributeKey.stringKey("library"), LibraryLicensesListGenerator.getLibraryName(library), + AttributeKey.stringKey("library"), getLibraryFilename(library), )) mavenizable = false } diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/projectStructureMapping/DistributionFileEntry.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/projectStructureMapping/DistributionFileEntry.kt index 03a2058cc2ed..991de0701237 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/projectStructureMapping/DistributionFileEntry.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/projectStructureMapping/DistributionFileEntry.kt @@ -1,9 +1,24 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package org.jetbrains.intellij.build.impl.projectStructureMapping +import org.jetbrains.intellij.build.PluginBuildDescriptor import org.jetbrains.intellij.build.impl.ProjectLibraryData import java.nio.file.Path +internal data class ContentReport( + @JvmField val platform: List, + @JvmField val bundledPlugins: List>>, + @JvmField val nonBundledPlugins: List>>, +) { + fun combined(): Sequence { + return sequence { + yieldAll(platform) + yieldAll(bundledPlugins.flatMap { it.second }) + yieldAll(nonBundledPlugins.flatMap { it.second }) + } + } +} + sealed interface DistributionFileEntry { /** * Path to a file in IDE distribution diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/projectStructureMapping/ProjectStructureMapping.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/projectStructureMapping/ProjectStructureMapping.kt index 295c459d88aa..3d002a694d14 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/projectStructureMapping/ProjectStructureMapping.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/projectStructureMapping/ProjectStructureMapping.kt @@ -7,29 +7,103 @@ import com.fasterxml.jackson.core.JsonFactory import com.fasterxml.jackson.core.JsonGenerator import com.fasterxml.jackson.core.util.DefaultIndenter import com.fasterxml.jackson.core.util.DefaultPrettyPrinter -import org.jetbrains.intellij.build.BuildContext -import org.jetbrains.intellij.build.BuildPaths -import org.jetbrains.intellij.build.MAVEN_REPO +import com.fasterxml.jackson.dataformat.yaml.YAMLFactory +import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator +import org.apache.commons.io.output.ByteArrayOutputStream +import org.jetbrains.intellij.build.* import org.jetbrains.intellij.build.impl.ProjectLibraryData +import org.jetbrains.intellij.build.io.ZipFileWriter import java.io.File -import java.io.OutputStream +import java.nio.ByteBuffer import java.nio.file.Files import java.nio.file.Path import java.util.* -internal val Collection.includedModules: Sequence - get() = asSequence().mapNotNull { (it as? ModuleOutputEntry)?.moduleName }.distinct() +internal fun getIncludedModules(entries: Sequence): Sequence { + return entries.mapNotNull { (it as? ModuleOutputEntry)?.moduleName }.distinct() +} -/** - * Provides mapping between files in the product distribution and modules and libraries in the project configuration. The generated JSON file - * contains an array of [DistributionFileEntry]. - */ -internal fun buildJarContentReport(entries: Collection, out: OutputStream?, buildPaths: BuildPaths, context: BuildContext) { - val writer = JsonFactory().createGenerator(out).setPrettyPrinter(IntelliJDefaultPrettyPrinter()) +internal fun buildJarContentReport(contentReport: ContentReport, zipFileWriter: ZipFileWriter, buildPaths: BuildPaths, context: BuildContext) { + zipFileWriter.uncompressedData("platform.yaml", ByteBuffer.wrap(buildPlatformContentReport(contentReport, buildPaths, context.getDistFiles(os = null, arch = null))), null) + zipFileWriter.uncompressedData("bundled-plugins.yaml", ByteBuffer.wrap(buildPluginContentReport(contentReport.bundledPlugins, buildPaths)), null) + zipFileWriter.uncompressedData("non-bundled-plugins.yaml", ByteBuffer.wrap(buildPluginContentReport(contentReport.nonBundledPlugins, buildPaths)), null) +} + +private fun buildPluginContentReport(pluginToEntries: List>>, buildPaths: BuildPaths): ByteArray { + val out = ByteArrayOutputStream() + val writer = createYamlGenerator(out) + + writer.writeStartArray() + for ((plugin, entries) in pluginToEntries) { + val fileToPresentablePath = HashMap() + + val fileToEntry = TreeMap>() + for (entry in entries) { + val presentablePath = fileToPresentablePath.computeIfAbsent(entry.path) { + if (entry.path.startsWith(plugin.dir)) { + plugin.dir.relativize(entry.path).toString().replace(File.separatorChar, '/') + } + else { + shortenAndNormalizePath(it, buildPaths) + } + } + fileToEntry.computeIfAbsent(presentablePath) { mutableListOf() }.add(entry) + } + + writer.writeStartObject() + writer.writeStringField("mainModule", plugin.layout.mainModule) + if (plugin.os != null) { + writer.writeStringField("os", plugin.os.osId) + } + + val contentModuleReason = "<- ${plugin.layout.mainModule} (plugin content)" + + writer.writeArrayFieldStart("content") + for ((filePath, fileEntries) in fileToEntry) { + writer.writeStartObject() + writer.writeStringField("name", filePath) + writeProjectLibs(fileEntries, writer, buildPaths) + + writeModules( + writer = writer, + fileEntries = fileEntries.asSequence().filter { it !is ModuleOutputEntry || it.reason != contentModuleReason }, + buildPaths = buildPaths + ) + writeModules( + writer = writer, + fileEntries = fileEntries.asSequence().filter { it !is ModuleOutputEntry || it.reason == contentModuleReason }, + buildPaths = buildPaths, + fieldName = "contentModules", + writeReason = false, + ) + + writer.writeEndObject() + } + writer.writeEndArray() + + writer.writeEndObject() + } + writer.writeEndArray() + + writer.close() + return out.toByteArray() +} + +private fun createYamlGenerator(out: ByteArrayOutputStream): YAMLGenerator { + return YAMLFactory().createGenerator(out) + .useDefaultPrettyPrinter() + .configure(YAMLGenerator.Feature.MINIMIZE_QUOTES, true) +} + +private fun buildPlatformContentReport(contentReport: ContentReport, buildPaths: BuildPaths, distFiles: Collection): ByteArray { + val out = ByteArrayOutputStream() + val writer = createYamlGenerator(out) val fileToEntry = TreeMap>() val fileToPresentablePath = HashMap() - for (entry in entries) { - val presentablePath = fileToPresentablePath.computeIfAbsent(entry.path) { shortenAndNormalizePath(it, buildPaths) } + for (entry in contentReport.platform) { + val presentablePath = fileToPresentablePath.computeIfAbsent(entry.path) { + shortenAndNormalizePath(it, buildPaths) + } fileToEntry.computeIfAbsent(presentablePath) { mutableListOf() }.add(entry) } writer.writeStartArray() @@ -37,11 +111,11 @@ internal fun buildJarContentReport(entries: Collection, o writer.writeStartObject() writer.writeStringField("name", filePath) writeProjectLibs(fileEntries, writer, buildPaths) - writeModules(writer = writer, fileEntries = fileEntries, buildPaths = buildPaths) + writeModules(writer = writer, fileEntries = fileEntries.asSequence(), buildPaths = buildPaths) writer.writeEndObject() } - for (item in context.getDistFiles(os = null, arch = null)) { + for (item in distFiles) { writer.writeStartObject() writer.writeStringField("name", item.relativePath) @@ -51,17 +125,34 @@ internal fun buildJarContentReport(entries: Collection, o writer.writeEndObject() } + writer.writeStartObject() + + writer.writeObjectField("name", "plugins") + writer.writeArrayFieldStart("bundled") + for (p in contentReport.bundledPlugins) { + writer.writeString(p.first.layout.mainModule) + } + writer.writeEndArray() + writer.writeArrayFieldStart("nonBundled") + for (p in contentReport.nonBundledPlugins) { + writer.writeString(p.first.layout.mainModule) + } + writer.writeEndArray() + + writer.writeEndObject() + writer.writeEndArray() writer.close() + return out.toByteArray() } -internal fun writeProjectStructureReport(entries: Collection, file: Path, buildPaths: BuildPaths, extraRoot: Path? = null) { +internal fun writeProjectStructureReport(contentReport: ContentReport, file: Path, buildPaths: BuildPaths, extraRoot: Path? = null) { Files.createDirectories(file.parent) Files.newOutputStream(file).use { out -> val writer = JsonFactory().createGenerator(out).setPrettyPrinter(IntelliJDefaultPrettyPrinter()) writer.use { writer.writeStartArray() - for (entry in entries) { + for (entry in contentReport.combined()) { writer.writeStartObject() writer.writeStringField("path", shortenAndNormalizePath(entry.path, buildPaths, extraRoot)) @@ -73,7 +164,7 @@ internal fun writeProjectStructureReport(entries: Collection { - writeModuleItem(writer, entry) + writeModuleItem(writer, entry, writeReason = true) } is ModuleTestOutputEntry -> { writer.writeStringField("module", entry.moduleName) @@ -126,7 +217,13 @@ private fun shortenAndNormalizePath(file: Path, buildPaths: BuildPaths, extraRoo return if (result.startsWith("temp/")) result.substring("temp/".length) else result } -private fun writeModules(writer: JsonGenerator, fileEntries: List, buildPaths: BuildPaths) { +private fun writeModules( + writer: JsonGenerator, + fileEntries: Sequence, + buildPaths: BuildPaths, + fieldName: String = "modules", + writeReason: Boolean = true, +) { var opened = false for (entry in fileEntries) { if (entry !is ModuleOutputEntry) { @@ -134,13 +231,13 @@ private fun writeModules(writer: JsonGenerator, fileEntries: List, moduleName: String, writer: JsonGenerator, buildPaths: BuildPaths) { - val entriesGroupedByLibraryName = fileEntries.asSequence() +private fun writeModuleLibraries(fileEntries: Sequence, moduleName: String, writer: JsonGenerator, buildPaths: BuildPaths) { + val entriesGroupedByLibraryName = fileEntries .filterIsInstance() .filter { it.moduleName == moduleName } .groupBy { it.libraryName } diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/runtimeModuleRepositoryGenerator.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/runtimeModuleRepositoryGenerator.kt index baf585d6f8bf..595598ebada0 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/runtimeModuleRepositoryGenerator.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/runtimeModuleRepositoryGenerator.kt @@ -16,7 +16,6 @@ import org.jetbrains.annotations.ApiStatus import org.jetbrains.annotations.VisibleForTesting import org.jetbrains.intellij.build.BuildContext import org.jetbrains.intellij.build.impl.projectStructureMapping.* -import org.jetbrains.jps.model.library.JpsLibrary import org.jetbrains.jps.model.library.JpsOrderRootType import java.io.IOException import java.nio.file.Path @@ -29,15 +28,14 @@ import kotlin.io.path.pathString * (along with information from plugin.xml files and other files describing custom layouts of plugins if necessary) to determine which * resources should be included in the distribution, instead of taking this information from the project model. */ -internal fun generateRuntimeModuleRepository(entries: List, context: BuildContext) { +internal fun generateRuntimeModuleRepository(entries: Sequence, context: BuildContext) { val compiledModulesDescriptors = context.originalModuleRepository.rawRepositoryData val repositoryEntries = ArrayList() val osSpecificDistPaths = listOf(null to context.paths.distAllDir) + SUPPORTED_DISTRIBUTIONS.map { it to getOsAndArchSpecificDistDirectory(it.os, it.arch, context) } for (entry in entries) { - val (distribution, rootPath) = osSpecificDistPaths.find { entry.path.startsWith(it.second) } - ?: continue + val (distribution, rootPath) = osSpecificDistPaths.find { entry.path.startsWith(it.second) } ?: continue val pathInDist = rootPath.relativize(entry.path).pathString repositoryEntries.add(RuntimeModuleRepositoryEntry(distribution, pathInDist, entry)) @@ -221,12 +219,14 @@ private fun computeMainPathsForResourcesCopiedToMultiplePlaces(entries: List entry.origin is ProjectLibraryEntry && entry.origin.isPackedIntoSingleJar() - || entry.origin is ModuleLibraryFileEntry && entry.origin.isPackedIntoSingleJar() + .filter { entry -> entry.origin is ProjectLibraryEntry && isPackedIntoSingleJar(entry.origin) + || entry.origin is ModuleLibraryFileEntry && entry.origin.isPackedIntoSingleJar() || entry.origin is ModuleOutputEntry } .groupBy({ it.origin.runtimeModuleId }, { it.relativePath }) diff --git a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/sbom/SoftwareBillOfMaterialsImpl.kt b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/sbom/SoftwareBillOfMaterialsImpl.kt index 0dfa6b2cf15c..59b77856cb89 100644 --- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/sbom/SoftwareBillOfMaterialsImpl.kt +++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/sbom/SoftwareBillOfMaterialsImpl.kt @@ -1,4 +1,6 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +@file:Suppress("ReplaceGetOrSet") + package org.jetbrains.intellij.build.impl.sbom import com.intellij.openapi.util.SystemInfoRt @@ -441,7 +443,7 @@ internal class SoftwareBillOfMaterialsImpl( private val mavenLibraries: List by lazy { runBlocking(Dispatchers.IO) { - val usedModulesNames = distributionFiles.includedModules.toSet() + val usedModulesNames = getIncludedModules(distributionFiles.asSequence()).toHashSet() val usedModules = context.project.modules.asSequence().filter { usedModulesNames.contains(it.name) }.toSet() @@ -462,8 +464,8 @@ internal class SoftwareBillOfMaterialsImpl( it.first.mavenDescriptor?.mavenId ?: it.first.name }.groupBy({ it.first }, { it.second }).map { (library, modules) -> async { - val libraryName = LibraryLicensesListGenerator.getLibraryName(library) - val libraryEntry = librariesBundledInDistributions[libraryName] + val libraryName = getLibraryFilename(library) + val libraryEntry = librariesBundledInDistributions.get(libraryName) val libraryFile = libraryEntry?.libraryFile ?: return@async null val libraryLicense = context.productProperties.allLibraryLicenses.firstOrNull { it.getLibraryNames().contains(libraryName) @@ -616,9 +618,9 @@ internal class SoftwareBillOfMaterialsImpl( val organizations = (pomModel?.organization?.name?.let { sequenceOf(it) } ?: pomModel?.developers?.asSequence()?.mapNotNull { it.organization }) ?.filter { it.isNotBlank() } - ?.mapNotNull { + ?.map { htmlContent -> @Suppress("HardCodedStringLiteral") - Jsoup.parse(it).wholeText().takeIf { it.isNotBlank() } ?: it + Jsoup.parse(htmlContent).wholeText().takeIf { it.isNotBlank() } ?: htmlContent }?.distinct() ?.joinToString(transform = ::translateSupplier) ?.takeIf { it.isNotBlank() } diff --git a/platform/build-scripts/testFramework/src/com/intellij/platform/buildScripts/testFramework/LibraryLicensesTester.kt b/platform/build-scripts/testFramework/src/com/intellij/platform/buildScripts/testFramework/LibraryLicensesTester.kt index ac4932b1f081..ee686e54cb97 100644 --- a/platform/build-scripts/testFramework/src/com/intellij/platform/buildScripts/testFramework/LibraryLicensesTester.kt +++ b/platform/build-scripts/testFramework/src/com/intellij/platform/buildScripts/testFramework/LibraryLicensesTester.kt @@ -1,9 +1,9 @@ -// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.platform.buildScripts.testFramework import org.assertj.core.api.SoftAssertions import org.jetbrains.intellij.build.LibraryLicense -import org.jetbrains.intellij.build.impl.LibraryLicensesListGenerator +import org.jetbrains.intellij.build.impl.getLibraryFilename import org.jetbrains.jps.model.JpsProject import org.jetbrains.jps.model.java.JpsJavaClasspathKind import org.jetbrains.jps.model.java.JpsJavaExtensionService @@ -35,7 +35,7 @@ class LibraryLicensesTester(private val project: JpsProject, private val license val librariesWithLicenses = licenses.flatMap { it.getLibraryNames() }.toSet() for ((jpsLibrary, jpsModule) in libraries) { - val libraryName = LibraryLicensesListGenerator.getLibraryName(jpsLibrary) + val libraryName = getLibraryFilename(jpsLibrary) if (libraryName !in librariesWithLicenses) { // require licence entry only for a main library (ktor-client), not for sub-libraries if (isImplicitLibrary(libraryName)) { diff --git a/platform/testFramework/ui/plugin-content.yaml b/platform/testFramework/ui/plugin-content.yaml new file mode 100644 index 000000000000..47689e876852 --- /dev/null +++ b/platform/testFramework/ui/plugin-content.yaml @@ -0,0 +1,11 @@ +- name: lib/intellij.remoterobot.remote.fixtures.jar +- name: lib/intellij.remoterobot.robot.server.core.jar +- name: lib/platform-testFramework-ui.jar + projectLibraries: + - name: okhttp + files: + - name: $MAVEN_REPOSITORY$/com/squareup/okhttp3/okhttp/5/okhttp-5.jar + - name: $MAVEN_REPOSITORY$/com/squareup/okio/okio-jvm/3/okio-jvm-3.jar + reason: withProjectLibrary + modules: + - name: intellij.platform.testFramework.ui \ No newline at end of file diff --git a/platform/tracing-ide/plugin-content.yaml b/platform/tracing-ide/plugin-content.yaml new file mode 100644 index 000000000000..9cd0b2c60133 --- /dev/null +++ b/platform/tracing-ide/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/platform-tracing-ide.jar + modules: + - name: intellij.platform.tracing.ide \ No newline at end of file diff --git a/plugins/ByteCodeViewer/plugin-content.yaml b/plugins/ByteCodeViewer/plugin-content.yaml new file mode 100644 index 000000000000..c7203968247c --- /dev/null +++ b/plugins/ByteCodeViewer/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/java-byteCodeViewer.jar + modules: + - name: intellij.java.byteCodeViewer \ No newline at end of file diff --git a/plugins/IntelliLang/plugin-content.yaml b/plugins/IntelliLang/plugin-content.yaml new file mode 100644 index 000000000000..d6445eb926cb --- /dev/null +++ b/plugins/IntelliLang/plugin-content.yaml @@ -0,0 +1,8 @@ +- name: lib/java-langInjection-jps.jar + modules: + - name: intellij.java.langInjection.jps +- name: lib/platform-langInjection.jar + modules: + - name: intellij.java.langInjection + - name: intellij.platform.langInjection + - name: intellij.xml.langInjection \ No newline at end of file diff --git a/plugins/ant/plugin-content.yaml b/plugins/ant/plugin-content.yaml new file mode 100644 index 000000000000..570bcf595a5f --- /dev/null +++ b/plugins/ant/plugin-content.yaml @@ -0,0 +1,6 @@ +- name: lib/ant-jps.jar + modules: + - name: intellij.ant.jps +- name: lib/antIntegration.jar + modules: + - name: intellij.ant \ No newline at end of file diff --git a/plugins/changeReminder/plugin-content.yaml b/plugins/changeReminder/plugin-content.yaml new file mode 100644 index 000000000000..44cb18aa7d90 --- /dev/null +++ b/plugins/changeReminder/plugin-content.yaml @@ -0,0 +1,6 @@ +- name: lib/vcs-changeReminder.jar + modules: + - name: intellij.vcs.changeReminder + libraries: + change-reminder-prediction-model: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/changeReminder/prediction/randomForestRegressor/0/randomForestRegressor-0.jar \ No newline at end of file diff --git a/plugins/classic-ui/plugin-content.yaml b/plugins/classic-ui/plugin-content.yaml new file mode 100644 index 000000000000..ef8e0076931f --- /dev/null +++ b/plugins/classic-ui/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/classic-ui.jar + modules: + - name: intellij.classic.ui \ No newline at end of file diff --git a/plugins/color-schemes/all-hallows-eve-color-scheme/plugin-content.yaml b/plugins/color-schemes/all-hallows-eve-color-scheme/plugin-content.yaml new file mode 100644 index 000000000000..88cd6a7b3249 --- /dev/null +++ b/plugins/color-schemes/all-hallows-eve-color-scheme/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/color-scheme-all_hallows_eve.jar + modules: + - name: intellij.color.scheme.all_hallows_eve \ No newline at end of file diff --git a/plugins/color-schemes/blackboard-color-scheme/plugin-content.yaml b/plugins/color-schemes/blackboard-color-scheme/plugin-content.yaml new file mode 100644 index 000000000000..096fecd2f4b9 --- /dev/null +++ b/plugins/color-schemes/blackboard-color-scheme/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/color-scheme-blackboard.jar + modules: + - name: intellij.color.scheme.blackboard \ No newline at end of file diff --git a/plugins/color-schemes/cobalt-color-scheme/plugin-content.yaml b/plugins/color-schemes/cobalt-color-scheme/plugin-content.yaml new file mode 100644 index 000000000000..afe3605ce757 --- /dev/null +++ b/plugins/color-schemes/cobalt-color-scheme/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/color-scheme-cobalt.jar + modules: + - name: intellij.color.scheme.cobalt \ No newline at end of file diff --git a/plugins/color-schemes/github-color-scheme/plugin-content.yaml b/plugins/color-schemes/github-color-scheme/plugin-content.yaml new file mode 100644 index 000000000000..f99c7300703c --- /dev/null +++ b/plugins/color-schemes/github-color-scheme/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/color-scheme-github.jar + modules: + - name: intellij.color.scheme.github \ No newline at end of file diff --git a/plugins/color-schemes/monokai-color-scheme/plugin-content.yaml b/plugins/color-schemes/monokai-color-scheme/plugin-content.yaml new file mode 100644 index 000000000000..bb597781a60d --- /dev/null +++ b/plugins/color-schemes/monokai-color-scheme/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/color-scheme-monokai.jar + modules: + - name: intellij.color.scheme.monokai \ No newline at end of file diff --git a/plugins/color-schemes/rails-casts-color-scheme/plugin-content.yaml b/plugins/color-schemes/rails-casts-color-scheme/plugin-content.yaml new file mode 100644 index 000000000000..b04310a66908 --- /dev/null +++ b/plugins/color-schemes/rails-casts-color-scheme/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/color-scheme-rails_casts.jar + modules: + - name: intellij.color.scheme.rails_casts \ No newline at end of file diff --git a/plugins/color-schemes/twilight-color-scheme/plugin-content.yaml b/plugins/color-schemes/twilight-color-scheme/plugin-content.yaml new file mode 100644 index 000000000000..b188327bb7e4 --- /dev/null +++ b/plugins/color-schemes/twilight-color-scheme/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/color-scheme-twilight.jar + modules: + - name: intellij.color.scheme.twilight \ No newline at end of file diff --git a/plugins/color-schemes/vibrant-ink-color-scheme/plugin-content.yaml b/plugins/color-schemes/vibrant-ink-color-scheme/plugin-content.yaml new file mode 100644 index 000000000000..45514fc659a7 --- /dev/null +++ b/plugins/color-schemes/vibrant-ink-color-scheme/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/color-scheme-vibrant_ink.jar + modules: + - name: intellij.color.scheme.vibrant_ink \ No newline at end of file diff --git a/plugins/color-schemes/warm-neon-color-scheme/plugin-content.yaml b/plugins/color-schemes/warm-neon-color-scheme/plugin-content.yaml new file mode 100644 index 000000000000..76f305d8acad --- /dev/null +++ b/plugins/color-schemes/warm-neon-color-scheme/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/color-scheme-warmNeon.jar + modules: + - name: intellij.color.scheme.warmNeon \ No newline at end of file diff --git a/plugins/commander/plugin-content.yaml b/plugins/commander/plugin-content.yaml new file mode 100644 index 000000000000..65890457b734 --- /dev/null +++ b/plugins/commander/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/commander.jar + modules: + - name: intellij.commander \ No newline at end of file diff --git a/plugins/completion-ml-ranking-models/plugin-content.yaml b/plugins/completion-ml-ranking-models/plugin-content.yaml new file mode 100644 index 000000000000..da9efa3a1499 --- /dev/null +++ b/plugins/completion-ml-ranking-models/plugin-content.yaml @@ -0,0 +1,38 @@ +- name: lib/completionMlRankingModels.jar + modules: + - name: intellij.completionMlRankingModels + libraries: + completion-ranking-cpp-exp: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-cpp/0/completion-ranking-cpp-0.jar + completion-ranking-css-exp: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-css/0/completion-ranking-css-0.jar + completion-ranking-dart-exp: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-dart/0/completion-ranking-dart-0.jar + completion-ranking-go-exp: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-go/0/completion-ranking-go-0.jar + completion-ranking-html-exp: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-html/0/completion-ranking-html-0.jar + completion-ranking-java-exp: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-java/0/completion-ranking-java-0.jar + completion-ranking-java-exp2: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-java/0/completion-ranking-java-0.jar + completion-ranking-js-exp: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-js/0/completion-ranking-js-0.jar + completion-ranking-kotlin-exp: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-kotlin/0/completion-ranking-kotlin-0.jar + completion-ranking-php-exp: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-php/0/completion-ranking-php-0.jar + completion-ranking-python-exp: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-python/0/completion-ranking-python-0.jar + completion-ranking-ruby-exp: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-ruby/0/completion-ranking-ruby-0.jar + completion-ranking-rust-exp: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-rust/0/completion-ranking-rust-0.jar + completion-ranking-scala-exp: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-scala/0/completion-ranking-scala-0.jar + completion-ranking-sh-exp: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-sh/0/completion-ranking-sh-0.jar + completion-ranking-swift-exp: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-swift/0/completion-ranking-swift-0.jar + completion-ranking-typescript-exp: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-typescript/0/completion-ranking-typescript-0.jar \ No newline at end of file diff --git a/plugins/completion-ml-ranking/plugin-content.yaml b/plugins/completion-ml-ranking/plugin-content.yaml new file mode 100644 index 000000000000..dbb9352ff9a5 --- /dev/null +++ b/plugins/completion-ml-ranking/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/completionMlRanking.jar + modules: + - name: intellij.completionMlRanking \ No newline at end of file diff --git a/plugins/configuration-script/plugin-content.yaml b/plugins/configuration-script/plugin-content.yaml new file mode 100644 index 000000000000..6a692818d7fa --- /dev/null +++ b/plugins/configuration-script/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/configurationScript.jar + modules: + - name: intellij.configurationScript \ No newline at end of file diff --git a/plugins/copyright/plugin-content.yaml b/plugins/copyright/plugin-content.yaml new file mode 100644 index 000000000000..3babe717b0a5 --- /dev/null +++ b/plugins/copyright/plugin-content.yaml @@ -0,0 +1,5 @@ +- name: lib/copyright.jar + modules: + - name: intellij.copyright + contentModules: + - name: intellij.copyright.vcs \ No newline at end of file diff --git a/plugins/coverage/plugin-content.yaml b/plugins/coverage/plugin-content.yaml new file mode 100644 index 000000000000..08d10e1ce0a0 --- /dev/null +++ b/plugins/coverage/plugin-content.yaml @@ -0,0 +1,11 @@ +- name: lib/jacoco.jar +- name: lib/java-coverage-rt.jar + modules: + - name: intellij.java.coverage.rt +- name: lib/java-coverage.jar + modules: + - name: intellij.java.coverage + libraries: + coverage-report: + - name: $MAVEN_REPOSITORY$/org/freemarker/freemarker/2/freemarker-2.jar + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/coverage-report/1/coverage-report-1.jar \ No newline at end of file diff --git a/plugins/dev/intellij.dev/plugin-content.yaml b/plugins/dev/intellij.dev/plugin-content.yaml new file mode 100644 index 000000000000..63024cb6255a --- /dev/null +++ b/plugins/dev/intellij.dev/plugin-content.yaml @@ -0,0 +1,10 @@ +- name: lib/dev.jar + modules: + - name: intellij.dev + contentModules: + - name: intellij.dev.codeInsight + - name: intellij.dev.psiViewer + - name: intellij.groovy.dev + - name: intellij.java.dev + - name: intellij.kotlin.dev + - name: intellij.platform.statistics.devkit \ No newline at end of file diff --git a/plugins/devkit/devkit-core/resources/intellij.devkit.core.xml b/plugins/devkit/devkit-core/resources/intellij.devkit.core.xml index 9a8248a53b9b..4a4d4bf2be18 100644 --- a/plugins/devkit/devkit-core/resources/intellij.devkit.core.xml +++ b/plugins/devkit/devkit-core/resources/intellij.devkit.core.xml @@ -617,6 +617,7 @@ + diff --git a/plugins/devkit/devkit-core/src/contentReport/ContentReportGeneratedSourcesFilter.kt b/plugins/devkit/devkit-core/src/contentReport/ContentReportGeneratedSourcesFilter.kt new file mode 100644 index 000000000000..8c4a3230445e --- /dev/null +++ b/plugins/devkit/devkit-core/src/contentReport/ContentReportGeneratedSourcesFilter.kt @@ -0,0 +1,25 @@ +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package org.jetbrains.idea.devkit.contentReport + +import com.intellij.openapi.project.IntelliJProjectUtil +import com.intellij.openapi.project.Project +import com.intellij.openapi.roots.GeneratedSourceFilterHyperLinkAction +import com.intellij.openapi.roots.GeneratedSourceFilterNotification +import com.intellij.openapi.roots.GeneratedSourcesFilter +import com.intellij.openapi.vfs.VirtualFile + +private class ContentReportGeneratedSourcesFilter : GeneratedSourcesFilter() { + override fun isGeneratedSource(file: VirtualFile, project: Project): Boolean { + return IntelliJProjectUtil.isIntelliJPlatformProject(project) && file.name == "plugin-content.yaml" + } + + override fun getNotification(file: VirtualFile, project: Project): GeneratedSourceFilterNotification { + return GeneratedSourceFilterNotification( + text = "Do not modify manually, content report must be changed by IdeaUltimatePackagingTest", + actions = listOf(GeneratedSourceFilterHyperLinkAction( + text = "Distribution Content Approving", + link = "https://youtrack.jetbrains.com/articles/IDEA-A-80/Distribution-Content-Approving", + )) + ) + } +} \ No newline at end of file diff --git a/plugins/devkit/intellij.devkit/plugin-content.yaml b/plugins/devkit/intellij.devkit/plugin-content.yaml new file mode 100644 index 000000000000..53ea73006a11 --- /dev/null +++ b/plugins/devkit/intellij.devkit/plugin-content.yaml @@ -0,0 +1,25 @@ +- name: lib/devkit-jps.jar + modules: + - name: intellij.devkit.jps +- name: lib/devkit-runtimeModuleRepository-jps.jar + modules: + - name: intellij.devkit.runtimeModuleRepository.jps +- name: lib/devkit.jar + projectLibraries: + - name: workspace-model-codegen + files: + - name: $MAVEN_REPOSITORY$/com/jetbrains/intellij/platform/workspace-model-codegen/0/workspace-model-codegen-0.jar + reason: <- intellij.devkit.workspaceModel + modules: + - name: intellij.devkit + contentModules: + - name: intellij.devkit.core + - name: intellij.devkit.git + - name: intellij.devkit.gradle + - name: intellij.devkit.i18n + - name: intellij.devkit.images + - name: intellij.devkit.intelliLang + - name: intellij.devkit.themes + - name: intellij.devkit.uiDesigner + - name: intellij.devkit.workspaceModel + - name: intellij.kotlin.devkit \ No newline at end of file diff --git a/plugins/eclipse/plugin-content.yaml b/plugins/eclipse/plugin-content.yaml new file mode 100644 index 000000000000..6239d367138b --- /dev/null +++ b/plugins/eclipse/plugin-content.yaml @@ -0,0 +1,9 @@ +- name: lib/eclipse-common.jar + modules: + - name: intellij.eclipse.common +- name: lib/eclipse-jps.jar + modules: + - name: intellij.eclipse.jps +- name: lib/eclipse.jar + modules: + - name: intellij.eclipse \ No newline at end of file diff --git a/plugins/editorconfig/plugin-content.yaml b/plugins/editorconfig/plugin-content.yaml new file mode 100644 index 000000000000..7df4e068de92 --- /dev/null +++ b/plugins/editorconfig/plugin-content.yaml @@ -0,0 +1,8 @@ +- name: lib/editorconfig.jar + projectLibraries: + - name: ec4j-core + files: + - name: $MAVEN_REPOSITORY$/org/ec4j/core/ec4j-core/0/ec4j-core-0.jar + reason: <- intellij.editorconfig + modules: + - name: intellij.editorconfig \ No newline at end of file diff --git a/plugins/emojipicker/plugin-content.yaml b/plugins/emojipicker/plugin-content.yaml new file mode 100644 index 000000000000..e883ffc3a8cf --- /dev/null +++ b/plugins/emojipicker/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/emojipicker.jar + modules: + - name: intellij.emojipicker \ No newline at end of file diff --git a/plugins/evaluation-plugin/plugin-content.yaml b/plugins/evaluation-plugin/plugin-content.yaml new file mode 100644 index 000000000000..308f5699470f --- /dev/null +++ b/plugins/evaluation-plugin/plugin-content.yaml @@ -0,0 +1,29 @@ +- name: lib/evaluationPlugin.jar + projectLibraries: + - name: clikt + files: + - name: $MAVEN_REPOSITORY$/com/github/ajalt/clikt/clikt-jvm/3/clikt-jvm-3.jar + reason: <- intellij.evaluationPlugin + - name: commons-text + files: + - name: $MAVEN_REPOSITORY$/org/apache/commons/commons-text/1/commons-text-1.jar + reason: <- intellij.evaluationPlugin.core + modules: + - name: intellij.evaluationPlugin + - name: intellij.evaluationPlugin.core + reason: <- intellij.evaluationPlugin + - name: intellij.evaluationPlugin.fullLine + - name: intellij.evaluationPlugin.languages + reason: <- intellij.evaluationPlugin + - name: intellij.evaluationPlugin.languages.cpp + - name: intellij.evaluationPlugin.languages.csharp + - name: intellij.evaluationPlugin.languages.go + - name: intellij.evaluationPlugin.languages.java + - name: intellij.evaluationPlugin.languages.js + - name: intellij.evaluationPlugin.languages.kotlin + - name: intellij.evaluationPlugin.languages.php + - name: intellij.evaluationPlugin.languages.python + - name: intellij.evaluationPlugin.languages.ruby + - name: intellij.evaluationPlugin.languages.terraform + - name: intellij.evaluationPlugin.llm + - name: intellij.tools.ide.metrics.collector \ No newline at end of file diff --git a/plugins/filePrediction/plugin-content.yaml b/plugins/filePrediction/plugin-content.yaml new file mode 100644 index 000000000000..e537598294a2 --- /dev/null +++ b/plugins/filePrediction/plugin-content.yaml @@ -0,0 +1,6 @@ +- name: lib/filePrediction.jar + modules: + - name: intellij.filePrediction + libraries: + file-prediction-model: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/filePrediction/model/file-prediction-model/0/file-prediction-model-0.jar \ No newline at end of file diff --git a/plugins/git4idea/plugin-content.yaml b/plugins/git4idea/plugin-content.yaml new file mode 100644 index 000000000000..03b82a7b7f79 --- /dev/null +++ b/plugins/git4idea/plugin-content.yaml @@ -0,0 +1,8 @@ +- name: lib/git4idea-rt.jar + modules: + - name: intellij.vcs.git.rt +- name: lib/vcs-git.jar + modules: + - name: intellij.vcs.git + contentModules: + - name: intellij.vcs.git.coverage \ No newline at end of file diff --git a/plugins/gitlab/plugin-content.yaml b/plugins/gitlab/plugin-content.yaml new file mode 100644 index 000000000000..186f7c26fa6c --- /dev/null +++ b/plugins/gitlab/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/vcs-gitlab.jar + modules: + - name: intellij.vcs.gitlab \ No newline at end of file diff --git a/plugins/gradle-maven/plugin-content.yaml b/plugins/gradle-maven/plugin-content.yaml new file mode 100644 index 000000000000..d970c87eab1b --- /dev/null +++ b/plugins/gradle-maven/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/gradle-java-maven.jar + modules: + - name: intellij.gradle.java.maven \ No newline at end of file diff --git a/plugins/gradle/gradle-dependency-updater/plugin-content.yaml b/plugins/gradle/gradle-dependency-updater/plugin-content.yaml new file mode 100644 index 000000000000..777b2ffb2165 --- /dev/null +++ b/plugins/gradle/gradle-dependency-updater/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/gradle-dependencyUpdater.jar + modules: + - name: intellij.gradle.dependencyUpdater \ No newline at end of file diff --git a/plugins/gradle/intellij.gradle.analysis/plugin-content.yaml b/plugins/gradle/intellij.gradle.analysis/plugin-content.yaml new file mode 100644 index 000000000000..3f2f956aecea --- /dev/null +++ b/plugins/gradle/intellij.gradle.analysis/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/gradle-analysis.jar + modules: + - name: intellij.gradle.analysis \ No newline at end of file diff --git a/plugins/gradle/java/plugin-content.yaml b/plugins/gradle/java/plugin-content.yaml new file mode 100644 index 000000000000..cdc12a69a285 --- /dev/null +++ b/plugins/gradle/java/plugin-content.yaml @@ -0,0 +1,6 @@ +- name: lib/gradle-java.jar + modules: + - name: intellij.gradle.java +- name: lib/gradle-jps.jar + modules: + - name: intellij.gradle.jps \ No newline at end of file diff --git a/plugins/gradle/plugin-content.yaml b/plugins/gradle/plugin-content.yaml new file mode 100644 index 000000000000..f872b4770f61 --- /dev/null +++ b/plugins/gradle/plugin-content.yaml @@ -0,0 +1,173 @@ +- name: lib/ant/ant-antlr.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-antlr.jar + reason: withProjectLibrary +- name: lib/ant/ant-apache-bcel.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-apache-bcel.jar + reason: withProjectLibrary +- name: lib/ant/ant-apache-bsf.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-apache-bsf.jar + reason: withProjectLibrary +- name: lib/ant/ant-apache-log4j.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-apache-log4j.jar + reason: withProjectLibrary +- name: lib/ant/ant-apache-oro.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-apache-oro.jar + reason: withProjectLibrary +- name: lib/ant/ant-apache-regexp.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-apache-regexp.jar + reason: withProjectLibrary +- name: lib/ant/ant-apache-resolver.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-apache-resolver.jar + reason: withProjectLibrary +- name: lib/ant/ant-apache-xalan2.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-apache-xalan2.jar + reason: withProjectLibrary +- name: lib/ant/ant-commons-logging.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-commons-logging.jar + reason: withProjectLibrary +- name: lib/ant/ant-commons-net.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-commons-net.jar + reason: withProjectLibrary +- name: lib/ant/ant-imageio.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-imageio.jar + reason: withProjectLibrary +- name: lib/ant/ant-jai.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-jai.jar + reason: withProjectLibrary +- name: lib/ant/ant-jakartamail.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-jakartamail.jar + reason: withProjectLibrary +- name: lib/ant/ant-javamail.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-javamail.jar + reason: withProjectLibrary +- name: lib/ant/ant-jdepend.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-jdepend.jar + reason: withProjectLibrary +- name: lib/ant/ant-jmf.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-jmf.jar + reason: withProjectLibrary +- name: lib/ant/ant-jsch.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-jsch.jar + reason: withProjectLibrary +- name: lib/ant/ant-junit.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-junit.jar + reason: withProjectLibrary +- name: lib/ant/ant-junit4.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-junit4.jar + reason: withProjectLibrary +- name: lib/ant/ant-junitlauncher.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-junitlauncher.jar + reason: withProjectLibrary +- name: lib/ant/ant-launcher.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-launcher.jar + reason: withProjectLibrary +- name: lib/ant/ant-netrexx.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-netrexx.jar + reason: withProjectLibrary +- name: lib/ant/ant-swing.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-swing.jar + reason: withProjectLibrary +- name: lib/ant/ant-testutil.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-testutil.jar + reason: withProjectLibrary +- name: lib/ant/ant-xz.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant-xz.jar + reason: withProjectLibrary +- name: lib/ant/ant.jar + projectLibraries: + - name: Ant + files: + - name: $PROJECT_DIR$/community/lib/ant/lib/ant.jar + reason: withProjectLibrary +- name: lib/gradle-api-8.9.jar + projectLibraries: + - name: Gradle + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/gradle-api/8/gradle-api-8.jar + reason: withProjectLibrary +- name: lib/gradle-tooling-extension-api.jar + modules: + - name: intellij.gradle.toolingExtension +- name: lib/gradle-tooling-extension-impl.jar + modules: + - name: intellij.gradle.toolingExtension.impl +- name: lib/gradle.jar + modules: + - name: intellij.gradle + - name: intellij.gradle.common + - name: intellij.gradle.toolingProxy \ No newline at end of file diff --git a/plugins/grazie/plugin-content.yaml b/plugins/grazie/plugin-content.yaml new file mode 100644 index 000000000000..3781d61bf112 --- /dev/null +++ b/plugins/grazie/plugin-content.yaml @@ -0,0 +1,81 @@ +- name: lib/grazie.jar + projectLibraries: + - name: commons-text + files: + - name: $MAVEN_REPOSITORY$/org/apache/commons/commons-text/1/commons-text-1.jar + reason: <- intellij.grazie.core + - name: grpc-core + files: + - name: $MAVEN_REPOSITORY$/com/google/android/annotations/4/annotations-4.jar + - name: $MAVEN_REPOSITORY$/io/grpc/grpc-api/1/grpc-api-1.jar + - name: $MAVEN_REPOSITORY$/io/grpc/grpc-context/1/grpc-context-1.jar + - name: $MAVEN_REPOSITORY$/io/grpc/grpc-core/1/grpc-core-1.jar + - name: $MAVEN_REPOSITORY$/io/perfmark/perfmark-api/0/perfmark-api-0.jar + - name: $MAVEN_REPOSITORY$/org/codehaus/mojo/animal-sniffer-annotations/1/animal-sniffer-annotations-1.jar + reason: <- intellij.grazie.core + - name: grpc-protobuf + files: + - name: $MAVEN_REPOSITORY$/com/google/api/grpc/proto-google-common-protos/2/proto-google-common-protos-2.jar + - name: $MAVEN_REPOSITORY$/io/grpc/grpc-protobuf-lite/1/grpc-protobuf-lite-1.jar + - name: $MAVEN_REPOSITORY$/io/grpc/grpc-protobuf/1/grpc-protobuf-1.jar + reason: <- intellij.grazie.core + - name: grpc-stub + files: + - name: $MAVEN_REPOSITORY$/io/grpc/grpc-stub/1/grpc-stub-1.jar + reason: <- intellij.grazie.core + modules: + - name: intellij.grazie + - name: intellij.grazie.core + reason: <- intellij.grazie + libraries: + ai.grazie.nlp.detect: + - name: $MAVEN_REPOSITORY$/ai/grazie/model/model-common-jvm/0/model-common-jvm-0.jar + - name: $MAVEN_REPOSITORY$/ai/grazie/model/model-text-jvm/0/model-text-jvm-0.jar + - name: $MAVEN_REPOSITORY$/ai/grazie/nlp/nlp-common-jvm/0/nlp-common-jvm-0.jar + - name: $MAVEN_REPOSITORY$/ai/grazie/nlp/nlp-detect-jvm/0/nlp-detect-jvm-0.jar + - name: $MAVEN_REPOSITORY$/ai/grazie/nlp/nlp-patterns-jvm/0/nlp-patterns-jvm-0.jar + - name: $MAVEN_REPOSITORY$/ai/grazie/nlp/nlp-similarity-jvm/0/nlp-similarity-jvm-0.jar + - name: $MAVEN_REPOSITORY$/ai/grazie/nlp/nlp-tokenizer-jvm/0/nlp-tokenizer-jvm-0.jar + - name: $MAVEN_REPOSITORY$/ai/grazie/utils/utils-common-jvm/0/utils-common-jvm-0.jar + - name: $MAVEN_REPOSITORY$/ai/grazie/utils/utils-json-jvm/0/utils-json-jvm-0.jar + ai.grazie.nlp.langs: + - name: $MAVEN_REPOSITORY$/ai/grazie/nlp/nlp-langs-jvm/0/nlp-langs-jvm-0.jar + ai.grazie.utils.lucene.lt.compatibility: + - name: $MAVEN_REPOSITORY$/ai/grazie/utils/utils-lucene-lt-compatibility-jvm/0/utils-lucene-lt-compatibility-jvm-0.jar + com.carrotsearch:hppc: + - name: $MAVEN_REPOSITORY$/com/carrotsearch/hppc/0/hppc-0.jar + com.hankcs:aho-corasick-double-array-trie: + - name: $MAVEN_REPOSITORY$/com/hankcs/aho-corasick-double-array-trie/1/aho-corasick-double-array-trie-1.jar + com.vdurmont:emoji-java: + - name: $MAVEN_REPOSITORY$/com/vdurmont/emoji-java/5/emoji-java-5.jar + org.languagetool:languagetool-core: + - name: $MAVEN_REPOSITORY$/edu/washington/cs/knowitall/openregex/1/openregex-1.jar + - name: $MAVEN_REPOSITORY$/org/languagetool/languagetool-core/6/languagetool-core-6.jar + javax.measure:unit-api:1.0: + - name: $MAVEN_REPOSITORY$/javax/measure/unit-api/1/unit-api-1.jar + net.loomchild:segment:2.0.1: + - name: $MAVEN_REPOSITORY$/net/loomchild/segment/2/segment-2.jar + org.carrot2:morfologik-fsa-builders: + - name: $MAVEN_REPOSITORY$/org/carrot2/morfologik-fsa-builders/2/morfologik-fsa-builders-2.jar + org.carrot2:morfologik-fsa: + - name: $MAVEN_REPOSITORY$/org/carrot2/morfologik-fsa/2/morfologik-fsa-2.jar + org.carrot2:morfologik-speller: + - name: $MAVEN_REPOSITORY$/org/carrot2/morfologik-speller/2/morfologik-speller-2.jar + org.carrot2:morfologik-stemming: + - name: $MAVEN_REPOSITORY$/org/carrot2/morfologik-stemming/2/morfologik-stemming-2.jar + org.json:json: + - name: $MAVEN_REPOSITORY$/org/json/json/20240205/json-20240205.jar + org.languagetool:language-en: + - name: $MAVEN_REPOSITORY$/org/languagetool/english-pos-dict/0/english-pos-dict-0.jar + - name: $MAVEN_REPOSITORY$/org/languagetool/language-en/6/language-en-6.jar + tech.units:indriya:1.3: + - name: $MAVEN_REPOSITORY$/tech/units/indriya/1/indriya-1.jar + tech.uom.lib:uom-lib-common:1.1: + - name: $MAVEN_REPOSITORY$/tech/uom/lib/uom-lib-common/1/uom-lib-common-1.jar + contentModules: + - name: intellij.grazie.java + - name: intellij.grazie.json + - name: intellij.grazie.markdown + - name: intellij.grazie.properties + - name: intellij.grazie.xml + - name: intellij.grazie.yaml \ No newline at end of file diff --git a/plugins/groovy/plugin-content.yaml b/plugins/groovy/plugin-content.yaml new file mode 100644 index 000000000000..fcb4f9670f07 --- /dev/null +++ b/plugins/groovy/plugin-content.yaml @@ -0,0 +1,24 @@ +- name: lib/Groovy.jar + modules: + - name: intellij.groovy + - name: intellij.groovy.duplicates + - name: intellij.groovy.duplicatesDetection + - name: intellij.groovy.psi + - name: intellij.groovy.structuralSearch + contentModules: + - name: intellij.groovy.git +- name: lib/groovy-constants-rt.jar + modules: + - name: intellij.groovy.constants.rt +- name: lib/groovy-jps.jar + modules: + - name: intellij.groovy.jps +- name: lib/groovy-rt-class-loader.jar + modules: + - name: intellij.groovy.rt.classLoader +- name: lib/groovy-rt.jar + modules: + - name: intellij.groovy.rt +- name: lib/groovy-spock-rt.jar + modules: + - name: intellij.groovy.spock.rt \ No newline at end of file diff --git a/plugins/hg4idea/plugin-content.yaml b/plugins/hg4idea/plugin-content.yaml new file mode 100644 index 000000000000..6cdcb3abd6e8 --- /dev/null +++ b/plugins/hg4idea/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/vcs-hg.jar + modules: + - name: intellij.vcs.hg \ No newline at end of file diff --git a/plugins/htmltools/plugin-content.yaml b/plugins/htmltools/plugin-content.yaml new file mode 100644 index 000000000000..d3636fdaec4b --- /dev/null +++ b/plugins/htmltools/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/html-tools.jar + modules: + - name: intellij.html.tools \ No newline at end of file diff --git a/plugins/ide-features-trainer/plugin-content.yaml b/plugins/ide-features-trainer/plugin-content.yaml new file mode 100644 index 000000000000..507c904e3b13 --- /dev/null +++ b/plugins/ide-features-trainer/plugin-content.yaml @@ -0,0 +1,20 @@ +- name: lib/featuresTrainer.jar + projectLibraries: + - name: assertJ + files: + - name: $MAVEN_REPOSITORY$/net/bytebuddy/byte-buddy/1/byte-buddy-1.jar + - name: $MAVEN_REPOSITORY$/org/assertj/assertj-core/3/assertj-core-3.jar + reason: <- intellij.featuresTrainer + - name: assertj-swing + files: + - name: $MAVEN_REPOSITORY$/org/assertj/assertj-swing/3/assertj-swing-3.jar + reason: <- intellij.featuresTrainer + - name: git-learning-project + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/ift/git-learning-project/212/git-learning-project-212.jar + reason: <- intellij.vcs.git.featuresTrainer + modules: + - name: intellij.featuresTrainer + contentModules: + - name: intellij.featuresTrainer.onboarding + - name: intellij.vcs.git.featuresTrainer \ No newline at end of file diff --git a/plugins/java-decompiler/plugin/plugin-content.yaml b/plugins/java-decompiler/plugin/plugin-content.yaml new file mode 100644 index 000000000000..36cb0f17b26a --- /dev/null +++ b/plugins/java-decompiler/plugin/plugin-content.yaml @@ -0,0 +1,4 @@ +- name: lib/java-decompiler.jar + modules: + - name: intellij.java.decompiler + - name: intellij.java.decompiler.engine \ No newline at end of file diff --git a/plugins/java-i18n/plugin-content.yaml b/plugins/java-i18n/plugin-content.yaml new file mode 100644 index 000000000000..b28a020f3355 --- /dev/null +++ b/plugins/java-i18n/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/java-i18n.jar + modules: + - name: intellij.java.i18n \ No newline at end of file diff --git a/plugins/javaFX/community/plugin-content.yaml b/plugins/javaFX/community/plugin-content.yaml new file mode 100644 index 000000000000..86c9b8b90472 --- /dev/null +++ b/plugins/javaFX/community/plugin-content.yaml @@ -0,0 +1,8 @@ +- name: lib/javaFX-community.jar + modules: + - name: intellij.javaFX.community + contentModules: + - name: intellij.javaFX.properties +- name: lib/modules/intellij.javaFX.jar + contentModules: + - name: intellij.javaFX \ No newline at end of file diff --git a/plugins/jsonpath/plugin-content.yaml b/plugins/jsonpath/plugin-content.yaml new file mode 100644 index 000000000000..86b23c3d988e --- /dev/null +++ b/plugins/jsonpath/plugin-content.yaml @@ -0,0 +1,10 @@ +- name: lib/jsonpath.jar + projectLibraries: + - name: jsonpath + files: + - name: $MAVEN_REPOSITORY$/com/jayway/jsonpath/json-path/2/json-path-2.jar + - name: $MAVEN_REPOSITORY$/net/minidev/accessors-smart/2/accessors-smart-2.jar + - name: $MAVEN_REPOSITORY$/net/minidev/json-smart/2/json-smart-2.jar + reason: <- intellij.jsonpath + modules: + - name: intellij.jsonpath \ No newline at end of file diff --git a/plugins/junit/plugin-content.yaml b/plugins/junit/plugin-content.yaml new file mode 100644 index 000000000000..c871e41589c6 --- /dev/null +++ b/plugins/junit/plugin-content.yaml @@ -0,0 +1,9 @@ +- name: lib/junit-rt.jar + modules: + - name: intellij.junit.rt +- name: lib/junit.jar + modules: + - name: intellij.junit +- name: lib/junit5-rt.jar + modules: + - name: intellij.junit.v5.rt \ No newline at end of file diff --git a/plugins/keymaps/eclipse-keymap/plugin-content.yaml b/plugins/keymaps/eclipse-keymap/plugin-content.yaml new file mode 100644 index 000000000000..1f9703132119 --- /dev/null +++ b/plugins/keymaps/eclipse-keymap/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/keymap-eclipse.jar + modules: + - name: intellij.keymap.eclipse \ No newline at end of file diff --git a/plugins/keymaps/netbeans5.6-keymap/plugin-content.yaml b/plugins/keymaps/netbeans5.6-keymap/plugin-content.yaml new file mode 100644 index 000000000000..31d8424f2dbc --- /dev/null +++ b/plugins/keymaps/netbeans5.6-keymap/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/keymap-netbeans.jar + modules: + - name: intellij.keymap.netbeans \ No newline at end of file diff --git a/plugins/keymaps/qtcreator-keymap/plugin-content.yaml b/plugins/keymaps/qtcreator-keymap/plugin-content.yaml new file mode 100644 index 000000000000..4fa36e4ce86b --- /dev/null +++ b/plugins/keymaps/qtcreator-keymap/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/keymap-qtcreator.jar + modules: + - name: intellij.keymap.qtcreator \ No newline at end of file diff --git a/plugins/keymaps/resharper-keymap/plugin-content.yaml b/plugins/keymaps/resharper-keymap/plugin-content.yaml new file mode 100644 index 000000000000..6f846edd4d81 --- /dev/null +++ b/plugins/keymaps/resharper-keymap/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/keymap-resharper.jar + modules: + - name: intellij.keymap.resharper \ No newline at end of file diff --git a/plugins/keymaps/visual-assist-keymap/plugin-content.yaml b/plugins/keymaps/visual-assist-keymap/plugin-content.yaml new file mode 100644 index 000000000000..b137db379283 --- /dev/null +++ b/plugins/keymaps/visual-assist-keymap/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/keymap-visualAssist.jar + modules: + - name: intellij.keymap.visualAssist \ No newline at end of file diff --git a/plugins/keymaps/visual-studio-for-mac-keymap/plugin-content.yaml b/plugins/keymaps/visual-studio-for-mac-keymap/plugin-content.yaml new file mode 100644 index 000000000000..585821a6ee3f --- /dev/null +++ b/plugins/keymaps/visual-studio-for-mac-keymap/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/keymap-visualStudioForMac.jar + modules: + - name: intellij.keymap.visualStudioForMac \ No newline at end of file diff --git a/plugins/keymaps/visual-studio-keymap/plugin-content.yaml b/plugins/keymaps/visual-studio-keymap/plugin-content.yaml new file mode 100644 index 000000000000..218414a9905c --- /dev/null +++ b/plugins/keymaps/visual-studio-keymap/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/keymap-visualStudio.jar + modules: + - name: intellij.keymap.visualStudio \ No newline at end of file diff --git a/plugins/keymaps/visual-studio2022-keymap/plugin-content.yaml b/plugins/keymaps/visual-studio2022-keymap/plugin-content.yaml new file mode 100644 index 000000000000..729c7229f9e6 --- /dev/null +++ b/plugins/keymaps/visual-studio2022-keymap/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/keymap-visualStudio2022.jar + modules: + - name: intellij.keymap.visualStudio2022 \ No newline at end of file diff --git a/plugins/keymaps/vscode-keymap/plugin-content.yaml b/plugins/keymaps/vscode-keymap/plugin-content.yaml new file mode 100644 index 000000000000..1327668eb6f9 --- /dev/null +++ b/plugins/keymaps/vscode-keymap/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/keymap-vscode.jar + modules: + - name: intellij.keymap.vscode \ No newline at end of file diff --git a/plugins/keymaps/xcode-keymap/plugin-content.yaml b/plugins/keymaps/xcode-keymap/plugin-content.yaml new file mode 100644 index 000000000000..1c80f5af0a09 --- /dev/null +++ b/plugins/keymaps/xcode-keymap/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/keymap-xcode.jar + modules: + - name: intellij.keymap.xcode \ No newline at end of file diff --git a/plugins/kotlin/plugin/plugin-content.yaml b/plugins/kotlin/plugin/plugin-content.yaml new file mode 100644 index 000000000000..f105941c762b --- /dev/null +++ b/plugins/kotlin/plugin/plugin-content.yaml @@ -0,0 +1,351 @@ +- name: lib/client/kotlin-frontend.jar + modules: + - name: kotlin.frontend +- name: lib/jps/kotlin-jps-plugin.jar + projectLibraries: + - name: kotlinc.kotlin-jps-plugin-classpath + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-plugin-classpath/1/kotlin-jps-plugin-classpath-1.jar + reason: withProjectLibrary +- name: lib/kotlin-base-jps.jar + modules: + - name: kotlin.base.jps +- name: lib/kotlin-gradle-tooling.jar + projectLibraries: + - name: kotlin-gradle-plugin-idea + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-gradle-plugin-idea/1/kotlin-gradle-plugin-idea-1.jar + - name: kotlin-gradle-plugin-idea-proto + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-gradle-plugin-idea-proto/1/kotlin-gradle-plugin-idea-proto-1.jar + - name: kotlin-tooling-core + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-tooling-core/1/kotlin-tooling-core-1.jar + modules: + - name: kotlin.base.project-model + - name: kotlin.gradle.gradle-tooling.impl +- name: lib/kotlin-plugin-shared.jar + modules: + - name: kotlin.base.code-insight.minimal + - name: kotlin.base.resources + - name: kotlin.formatter.minimal + - name: kotlin.highlighting.minimal +- name: lib/kotlin-plugin.jar + projectLibraries: + - name: javaslang + files: + - name: $MAVEN_REPOSITORY$/io/javaslang/javaslang-match/2/javaslang-match-2.jar + - name: $MAVEN_REPOSITORY$/io/javaslang/javaslang/2/javaslang-2.jar + reason: withProjectLibrary + - name: javax-inject + files: + - name: $MAVEN_REPOSITORY$/javax/inject/javax.inject/1/javax.inject-1.jar + reason: withProjectLibrary + - name: kotlinc.analysis-api + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-for-ide/2/analysis-api-for-ide-2.jar + - name: kotlinc.analysis-api-fe10 + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-fe10-for-ide/2/analysis-api-fe10-for-ide-2.jar + - name: kotlinc.analysis-api-impl-base + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-impl-base-for-ide/2/analysis-api-impl-base-for-ide-2.jar + - name: kotlinc.analysis-api-k2 + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-k2-for-ide/2/analysis-api-k2-for-ide-2.jar + - name: kotlinc.analysis-api-platform-interface + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/analysis-api-platform-interface-for-ide/2/analysis-api-platform-interface-for-ide-2.jar + - name: kotlinc.kotlin-compiler-fir + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fir-for-ide/2/kotlin-compiler-fir-for-ide-2.jar + - name: kotlinc.kotlin-gradle-statistics + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-gradle-statistics-for-ide/2/kotlin-gradle-statistics-for-ide-2.jar + - name: kotlinc.kotlin-script-runtime + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-script-runtime/2/kotlin-script-runtime-2.jar + - name: kotlinc.kotlin-scripting-common + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-common/2/kotlin-scripting-common-2.jar + - name: kotlinc.kotlin-scripting-compiler-impl + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-compiler-impl/2/kotlin-scripting-compiler-impl-2.jar + - name: kotlinc.kotlin-scripting-jvm + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-jvm/2/kotlin-scripting-jvm-2.jar + - name: kotlinc.low-level-api-fir + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/low-level-api-fir-for-ide/2/low-level-api-fir-for-ide-2.jar + - name: kotlinc.symbol-light-classes + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/symbol-light-classes-for-ide/2/symbol-light-classes-for-ide-2.jar + modules: + - name: kotlin-ultimate.common-native + - name: kotlin-ultimate.javascript.debugger + - name: kotlin-ultimate.javascript.nodeJs + - name: kotlin-ultimate.profiler + - name: kotlin-ultimate.ultimate-native + - name: kotlin-ultimate.ultimate-plugin + - name: kotlin.base.analysis + - name: kotlin.base.analysis-api-platform + - name: kotlin.base.analysis-api.utils + - name: kotlin.base.code-insight + - name: kotlin.base.compiler-configuration + - name: kotlin.base.compiler-configuration-ui + - name: kotlin.base.external-build-system + - name: kotlin.base.facet + - name: kotlin.base.fe10.analysis + - name: kotlin.base.fe10.analysis-api-platform + - name: kotlin.base.fe10.code-insight + - name: kotlin.base.fe10.kdoc + - name: kotlin.base.fe10.obsolete-compat + - name: kotlin.base.fe10.plugin + - name: kotlin.base.fe10.project-structure + - name: kotlin.base.fir.analysis-api-platform + - name: kotlin.base.fir.code-insight + - name: kotlin.base.fir.project-structure + - name: kotlin.base.indices + - name: kotlin.base.injection + - name: kotlin.base.kdoc + - name: kotlin.base.obsolete-compat + - name: kotlin.base.platforms + - name: kotlin.base.plugin + - name: kotlin.base.project-structure + - name: kotlin.base.psi + - name: kotlin.base.scripting + - name: kotlin.base.statistics + - name: kotlin.base.util + - name: kotlin.bundled-compiler-plugins-support + - name: kotlin.code-insight.api + - name: kotlin.code-insight.descriptions + - name: kotlin.code-insight.fixes.k2 + - name: kotlin.code-insight.impl-base + - name: kotlin.code-insight.inspections.k1 + - name: kotlin.code-insight.inspections.k2 + - name: kotlin.code-insight.inspections.shared + - name: kotlin.code-insight.intentions.k1 + - name: kotlin.code-insight.intentions.k2 + - name: kotlin.code-insight.intentions.shared + - name: kotlin.code-insight.k1 + - name: kotlin.code-insight.k2 + - name: kotlin.code-insight.line-markers.k2 + - name: kotlin.code-insight.line-markers.shared + - name: kotlin.code-insight.live-templates.k1 + - name: kotlin.code-insight.live-templates.k2 + - name: kotlin.code-insight.live-templates.shared + - name: kotlin.code-insight.override-implement.k1 + - name: kotlin.code-insight.override-implement.k2 + - name: kotlin.code-insight.override-implement.shared + - name: kotlin.code-insight.postfix-templates.k1 + - name: kotlin.code-insight.postfix-templates.k2 + - name: kotlin.code-insight.structural-search.k1 + - name: kotlin.code-insight.structural-search.k2 + - name: kotlin.code-insight.utils + - name: kotlin.compiler-plugins.allopen.common.k1 + - name: kotlin.compiler-plugins.allopen.gradle + - name: kotlin.compiler-plugins.allopen.maven + - name: kotlin.compiler-plugins.android-extensions-stubs + - name: kotlin.compiler-plugins.assignment.common.k1 + - name: kotlin.compiler-plugins.assignment.common.k2 + - name: kotlin.compiler-plugins.assignment.gradle + - name: kotlin.compiler-plugins.assignment.maven + - name: kotlin.compiler-plugins.compiler-plugin-support.common + - name: kotlin.compiler-plugins.compiler-plugin-support.gradle + - name: kotlin.compiler-plugins.compiler-plugin-support.maven + - name: kotlin.compiler-plugins.kapt + - name: kotlin.compiler-plugins.kotlinx-serialization.common + - name: kotlin.compiler-plugins.kotlinx-serialization.gradle + - name: kotlin.compiler-plugins.kotlinx-serialization.maven + - name: kotlin.compiler-plugins.lombok.gradle + - name: kotlin.compiler-plugins.lombok.maven + - name: kotlin.compiler-plugins.noarg.common + - name: kotlin.compiler-plugins.noarg.gradle + - name: kotlin.compiler-plugins.noarg.maven + - name: kotlin.compiler-plugins.parcelize.common + - name: kotlin.compiler-plugins.parcelize.gradle + - name: kotlin.compiler-plugins.parcelize.k1 + - name: kotlin.compiler-plugins.parcelize.k2 + - name: kotlin.compiler-plugins.sam-with-receiver.common + - name: kotlin.compiler-plugins.sam-with-receiver.gradle + - name: kotlin.compiler-plugins.sam-with-receiver.maven + - name: kotlin.compiler-plugins.scripting + - name: kotlin.compiler-reference-index + - name: kotlin.completion.api + - name: kotlin.completion.impl.k1 + - name: kotlin.completion.impl.k2 + - name: kotlin.completion.impl.shared + - name: kotlin.copyright + - name: kotlin.core + - name: kotlin.coverage + - name: kotlin.features-trainer + - name: kotlin.fir + - name: kotlin.fir.fir-low-level-api-ide-impl + libraries: + opentest4j: + - name: $MAVEN_REPOSITORY$/org/opentest4j/opentest4j/1/opentest4j-1.jar + - name: kotlin.fir.frontend-independent + - name: kotlin.formatter + - name: kotlin.git + - name: kotlin.gradle.code-insight-common + - name: kotlin.gradle.code-insight-groovy + - name: kotlin.gradle.code-insight-toml + - name: kotlin.gradle.gradle + - name: kotlin.gradle.gradle-java + - name: kotlin.gradle.gradle-tooling + - name: kotlin.grazie + - name: kotlin.highlighting.k1 + - name: kotlin.highlighting.k2 + - name: kotlin.highlighting.shared + - name: kotlin.i18n + - name: kotlin.ide + - name: kotlin.idea + - name: kotlin.injection.k1 + - name: kotlin.injection.k2 + - name: kotlin.inspections + - name: kotlin.inspections-fe10 + - name: kotlin.j2k.k1.new + - name: kotlin.j2k.k1.new.post-processing + - name: kotlin.j2k.k1.old + - name: kotlin.j2k.k1.old.post-processing + - name: kotlin.j2k.k2 + - name: kotlin.j2k.shared + - name: kotlin.jsr223 + - name: kotlin.jvm + - name: kotlin.jvm-debugger.base.util + - name: kotlin.jvm-debugger.core + - name: kotlin.jvm-debugger.core-fe10 + - name: kotlin.jvm-debugger.coroutines + - name: kotlin.jvm-debugger.eval4j + - name: kotlin.jvm-debugger.evaluation + - name: kotlin.jvm-debugger.evaluation.k1 + - name: kotlin.jvm-debugger.sequence.k1 + - name: kotlin.jvm-decompiler + - name: kotlin.maven + - name: kotlin.migration + - name: kotlin.ml-completion + libraries: + completion-ranking-kotlin: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-kotlin/0/completion-ranking-kotlin-0.jar + - name: kotlin.native + - name: kotlin.navigation + - name: kotlin.onboarding + - name: kotlin.onboarding.gradle + - name: kotlin.performanceExtendedPlugin + - name: kotlin.plugin + - name: kotlin.plugin-updater + - name: kotlin.plugin.common + - name: kotlin.plugin.k1 + - name: kotlin.plugin.k2 + - name: kotlin.preferences + - name: kotlin.project-configuration + - name: kotlin.project-wizard.cli + - name: kotlin.project-wizard.compose + - name: kotlin.project-wizard.core + - name: kotlin.project-wizard.gradle + - name: kotlin.project-wizard.idea + - name: kotlin.project-wizard.idea.k1 + - name: kotlin.project-wizard.maven + - name: kotlin.refactorings.common + - name: kotlin.refactorings.k2 + - name: kotlin.refactorings.move.k2 + - name: kotlin.refactorings.rename.k2 + - name: kotlin.repl + - name: kotlin.run-configurations.junit + - name: kotlin.run-configurations.junit-fe10 + - name: kotlin.run-configurations.jvm + - name: kotlin.run-configurations.testng + - name: kotlin.scripting + - name: kotlin.searching.base + - name: kotlin.searching.k2 + - name: kotlin.spellchecker + - name: kotlin.uast.uast-kotlin + - name: kotlin.uast.uast-kotlin-base + - name: kotlin.uast.uast-kotlin-idea + - name: kotlin.uast.uast-kotlin-idea-base + - name: kotlin.uast.uast-kotlin-idea.k2 + - name: kotlin.uast.uast-kotlin.k2 +- name: lib/kotlinc.allopen-compiler-plugin.jar + projectLibraries: + - name: kotlinc.allopen-compiler-plugin + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/allopen-compiler-plugin-for-ide/2/allopen-compiler-plugin-for-ide-2.jar + reason: withProjectLibrary +- name: lib/kotlinc.android-extensions-compiler-plugin.jar + projectLibraries: + - name: kotlinc.android-extensions-compiler-plugin + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/android-extensions-compiler-plugin-for-ide/2/android-extensions-compiler-plugin-for-ide-2.jar + reason: withProjectLibrary +- name: lib/kotlinc.assignment-compiler-plugin.jar + projectLibraries: + - name: kotlinc.assignment-compiler-plugin + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/assignment-compiler-plugin-for-ide/2/assignment-compiler-plugin-for-ide-2.jar + reason: withProjectLibrary +- name: lib/kotlinc.compose-compiler-plugin.jar + projectLibraries: + - name: kotlinc.compose-compiler-plugin + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/compose-compiler-plugin-for-ide/2/compose-compiler-plugin-for-ide-2.jar + reason: withProjectLibrary +- name: lib/kotlinc.kotlin-compiler-common.jar + projectLibraries: + - name: kotlinc.kotlin-compiler-common + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2/kotlin-compiler-common-for-ide-2.jar + reason: withProjectLibrary +- name: lib/kotlinc.kotlin-compiler-fe10.jar + projectLibraries: + - name: kotlinc.kotlin-compiler-fe10 + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2/kotlin-compiler-fe10-for-ide-2.jar + reason: withProjectLibrary +- name: lib/kotlinc.kotlin-compiler-ir.jar + projectLibraries: + - name: kotlinc.kotlin-compiler-ir + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-ir-for-ide/2/kotlin-compiler-ir-for-ide-2.jar + reason: withProjectLibrary +- name: lib/kotlinc.kotlin-jps-common.jar + projectLibraries: + - name: kotlinc.kotlin-jps-common + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-jps-common-for-ide/2/kotlin-jps-common-for-ide-2.jar + reason: withProjectLibrary +- name: lib/kotlinc.kotlinx-serialization-compiler-plugin.jar + projectLibraries: + - name: kotlinc.kotlinx-serialization-compiler-plugin + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlinx-serialization-compiler-plugin-for-ide/2/kotlinx-serialization-compiler-plugin-for-ide-2.jar + reason: withProjectLibrary +- name: lib/kotlinc.lombok-compiler-plugin.jar + projectLibraries: + - name: kotlinc.lombok-compiler-plugin + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/lombok-compiler-plugin-for-ide/2/lombok-compiler-plugin-for-ide-2.jar + reason: withProjectLibrary +- name: lib/kotlinc.noarg-compiler-plugin.jar + projectLibraries: + - name: kotlinc.noarg-compiler-plugin + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/noarg-compiler-plugin-for-ide/2/noarg-compiler-plugin-for-ide-2.jar + reason: withProjectLibrary +- name: lib/kotlinc.parcelize-compiler-plugin.jar + projectLibraries: + - name: kotlinc.parcelize-compiler-plugin + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/parcelize-compiler-plugin-for-ide/2/parcelize-compiler-plugin-for-ide-2.jar + reason: withProjectLibrary +- name: lib/kotlinc.sam-with-receiver-compiler-plugin.jar + projectLibraries: + - name: kotlinc.sam-with-receiver-compiler-plugin + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/sam-with-receiver-compiler-plugin-for-ide/2/sam-with-receiver-compiler-plugin-for-ide-2.jar + reason: withProjectLibrary +- name: lib/kotlinc.scripting-compiler-plugin.jar + projectLibraries: + - name: kotlinc.scripting-compiler-plugin + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/scripting-compiler-plugin-for-ide/2/scripting-compiler-plugin-for-ide-2.jar + reason: withProjectLibrary \ No newline at end of file diff --git a/plugins/kotlin/scripting-plugin/plugin-content.yaml b/plugins/kotlin/scripting-plugin/plugin-content.yaml new file mode 100644 index 000000000000..4c0d9a743f05 --- /dev/null +++ b/plugins/kotlin/scripting-plugin/plugin-content.yaml @@ -0,0 +1,23 @@ +- name: lib/kotlin-scripting-plugin.jar + projectLibraries: + - name: kotlinc.kotlin-script-runtime + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-script-runtime/2/kotlin-script-runtime-2.jar + - name: kotlinc.kotlin-scripting-jvm + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-scripting-jvm/2/kotlin-scripting-jvm-2.jar + modules: + - name: kotlin.jsr223 + - name: kotlin.scripting-plugin +- name: lib/kotlinc.kotlin-compiler-common.jar + projectLibraries: + - name: kotlinc.kotlin-compiler-common + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-common-for-ide/2/kotlin-compiler-common-for-ide-2.jar + reason: withProjectLibrary +- name: lib/kotlinc.kotlin-compiler-fe10.jar + projectLibraries: + - name: kotlinc.kotlin-compiler-fe10 + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-compiler-fe10-for-ide/2/kotlin-compiler-fe10-for-ide-2.jar + reason: withProjectLibrary \ No newline at end of file diff --git a/plugins/laf/macos/plugin-content.yaml b/plugins/laf/macos/plugin-content.yaml new file mode 100644 index 000000000000..84c6112a64f8 --- /dev/null +++ b/plugins/laf/macos/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/laf-macos.jar + modules: + - name: intellij.laf.macos \ No newline at end of file diff --git a/plugins/laf/win10/plugin-content.yaml b/plugins/laf/win10/plugin-content.yaml new file mode 100644 index 000000000000..8f8d46084f96 --- /dev/null +++ b/plugins/laf/win10/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/laf-win10.jar + modules: + - name: intellij.laf.win10 \ No newline at end of file diff --git a/plugins/lombok/plugin-content.yaml b/plugins/lombok/plugin-content.yaml new file mode 100644 index 000000000000..26427ea6f86d --- /dev/null +++ b/plugins/lombok/plugin-content.yaml @@ -0,0 +1,4 @@ +- name: lib/lombok.jar + modules: + - name: intellij.lombok + - name: intellij.lombok.generated \ No newline at end of file diff --git a/plugins/markdown/core/plugin-content.yaml b/plugins/markdown/core/plugin-content.yaml new file mode 100644 index 000000000000..14e1d82ee232 --- /dev/null +++ b/plugins/markdown/core/plugin-content.yaml @@ -0,0 +1,12 @@ +- name: lib/markdown.jar + modules: + - name: intellij.markdown + contentModules: + - name: intellij.markdown.fenceInjection + - name: intellij.markdown.frontmatter + - name: intellij.markdown.frontmatter.toml + - name: intellij.markdown.frontmatter.yaml + - name: intellij.markdown.images + - name: intellij.markdown.model + - name: intellij.markdown.spellchecker + - name: intellij.markdown.xml \ No newline at end of file diff --git a/plugins/marketplace-ml/plugin-content.yaml b/plugins/marketplace-ml/plugin-content.yaml new file mode 100644 index 000000000000..4ebe8de9c51c --- /dev/null +++ b/plugins/marketplace-ml/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/marketplaceMl.jar + modules: + - name: intellij.marketplaceMl \ No newline at end of file diff --git a/plugins/maven-model/plugin-content.yaml b/plugins/maven-model/plugin-content.yaml new file mode 100644 index 000000000000..3b30d9cdf684 --- /dev/null +++ b/plugins/maven-model/plugin-content.yaml @@ -0,0 +1,8 @@ +- name: lib/maven-model.jar + projectLibraries: + - name: jetbrains-annotations-java5 + files: + - name: $MAVEN_REPOSITORY$/org/jetbrains/annotations-java5/24/annotations-java5-24.jar + reason: <- intellij.maven.model + modules: + - name: intellij.maven.model \ No newline at end of file diff --git a/plugins/maven-server-api/plugin-content.yaml b/plugins/maven-server-api/plugin-content.yaml new file mode 100644 index 000000000000..18e39f76091c --- /dev/null +++ b/plugins/maven-server-api/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/maven-server.jar + modules: + - name: intellij.maven.server \ No newline at end of file diff --git a/plugins/maven/plugin-content.yaml b/plugins/maven/plugin-content.yaml new file mode 100644 index 000000000000..e2404b1937fd --- /dev/null +++ b/plugins/maven/plugin-content.yaml @@ -0,0 +1,42 @@ +- name: lib/artifact-resolver-m31.jar + modules: + - name: intellij.maven.artifactResolver.common + - name: intellij.maven.artifactResolver.m31 +- name: lib/intellij.maven.server.indexer/lib/apache.maven.archetype.catalog-no-trans-321.jar +- name: lib/intellij.maven.server.indexer/lib/apache.maven.archetype.common-no-trans-3.2.1.jar +- name: lib/intellij.maven.server.indexer/lib/apache.maven.core-3.8.3.jar +- name: lib/intellij.maven.server.indexer/lib/apache.maven.wagon.provider.api-3.5.2.jar +- name: lib/maven-event-listener.jar + modules: + - name: intellij.maven.server.eventListener +- name: lib/maven-jps.jar + modules: + - name: intellij.maven.jps +- name: lib/maven-server-indexer.jar + modules: + - name: intellij.maven.server.indexer +- name: lib/maven-server-telemetry.jar + modules: + - name: intellij.maven.server.telemetry +- name: lib/maven.jar + modules: + - name: intellij.idea.community.build.dependencies + - name: intellij.maven + libraries: + plexus-archiver: + - name: $MAVEN_REPOSITORY$/org/codehaus/plexus/plexus-archiver/4/plexus-archiver-4.jar + jetbrains.idea.maven.indexer.api.rt: + - name: $MAVEN_REPOSITORY$/org/jetbrains/idea/maven/maven-indexer-api-rt/2023/maven-indexer-api-rt-2023.jar + - name: intellij.maven.errorProne.compiler +- name: lib/maven3-server-common.jar + modules: + - name: intellij.maven.server.m3.common +- name: lib/maven3-server.jar + modules: + - name: intellij.maven.server.m3.impl +- name: lib/maven36-server.jar + modules: + - name: intellij.maven.server.m36.impl +- name: lib/maven40-server.jar + modules: + - name: intellij.maven.server.m40 \ No newline at end of file diff --git a/plugins/performanceTesting/core/plugin-content.yaml b/plugins/performanceTesting/core/plugin-content.yaml new file mode 100644 index 000000000000..bd56e2ecd5fd --- /dev/null +++ b/plugins/performanceTesting/core/plugin-content.yaml @@ -0,0 +1,23 @@ +- name: lib/performanceTesting.jar + projectLibraries: + - name: assertJ + files: + - name: $MAVEN_REPOSITORY$/net/bytebuddy/byte-buddy/1/byte-buddy-1.jar + - name: $MAVEN_REPOSITORY$/org/assertj/assertj-core/3/assertj-core-3.jar + reason: <- intellij.performanceTesting.remoteDriver + - name: assertj-swing + files: + - name: $MAVEN_REPOSITORY$/org/assertj/assertj-swing/3/assertj-swing-3.jar + reason: <- intellij.performanceTesting.remoteDriver + modules: + - name: intellij.driver.client + - name: intellij.driver.impl + - name: intellij.driver.model + - name: intellij.performanceTesting + libraries: + github.oshi.core: + - name: $MAVEN_REPOSITORY$/com/github/oshi/oshi-core/6/oshi-core-6.jar + - name: intellij.tools.ide.starter.bus + contentModules: + - name: intellij.performanceTesting.remoteDriver + - name: intellij.performanceTesting.vcs \ No newline at end of file diff --git a/plugins/performanceTesting/scripts-ui/plugin-content.yaml b/plugins/performanceTesting/scripts-ui/plugin-content.yaml new file mode 100644 index 000000000000..80c7d6986d50 --- /dev/null +++ b/plugins/performanceTesting/scripts-ui/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/performanceTesting-ui.jar + modules: + - name: intellij.performanceTesting.ui \ No newline at end of file diff --git a/plugins/properties/plugin-content.yaml b/plugins/properties/plugin-content.yaml new file mode 100644 index 000000000000..54e910f52e48 --- /dev/null +++ b/plugins/properties/plugin-content.yaml @@ -0,0 +1,7 @@ +- name: lib/properties.jar + modules: + - name: intellij.properties + - name: intellij.properties.psi + reason: <- intellij.properties + - name: intellij.properties.psi.impl + reason: <- intellij.properties \ No newline at end of file diff --git a/plugins/properties/properties-resource-bundle-editor/plugin-content.yaml b/plugins/properties/properties-resource-bundle-editor/plugin-content.yaml new file mode 100644 index 000000000000..c4ce85cb74b9 --- /dev/null +++ b/plugins/properties/properties-resource-bundle-editor/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/properties-resource-bundle-editor.jar + modules: + - name: intellij.properties.resource.bundle.editor \ No newline at end of file diff --git a/plugins/rareJavaRefactorings/plugin-content.yaml b/plugins/rareJavaRefactorings/plugin-content.yaml new file mode 100644 index 000000000000..669c52ba703d --- /dev/null +++ b/plugins/rareJavaRefactorings/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/java-rareRefactorings.jar + modules: + - name: intellij.java.rareRefactorings \ No newline at end of file diff --git a/plugins/remote-control/plugin-content.yaml b/plugins/remote-control/plugin-content.yaml new file mode 100644 index 000000000000..d919f6c0d48b --- /dev/null +++ b/plugins/remote-control/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/remoteControl.jar + modules: + - name: intellij.remoteControl \ No newline at end of file diff --git a/plugins/repository-search/plugin-content.yaml b/plugins/repository-search/plugin-content.yaml new file mode 100644 index 000000000000..870a5caa0882 --- /dev/null +++ b/plugins/repository-search/plugin-content.yaml @@ -0,0 +1,16 @@ +- name: lib/repository-search.jar + projectLibraries: + - name: ktor-client-logging + files: + - name: $MAVEN_REPOSITORY$/io/ktor/ktor-client-logging-jvm/2/ktor-client-logging-jvm-2.jar + reason: <- intellij.repository.search + - name: package-search-api-client + files: + - name: $MAVEN_REPOSITORY$/com/soywiz/korlibs/krypto/krypto-jvm/4/krypto-jvm-4.jar + - name: $MAVEN_REPOSITORY$/org/jetbrains/packagesearch/packagesearch-api-client-jvm/3/packagesearch-api-client-jvm-3.jar + - name: $MAVEN_REPOSITORY$/org/jetbrains/packagesearch/packagesearch-api-models-jvm/3/packagesearch-api-models-jvm-3.jar + - name: $MAVEN_REPOSITORY$/org/jetbrains/packagesearch/packagesearch-http-models-jvm/3/packagesearch-http-models-jvm-3.jar + - name: $MAVEN_REPOSITORY$/org/jetbrains/packagesearch/packagesearch-version-utils-jvm/3/packagesearch-version-utils-jvm-3.jar + reason: <- intellij.repository.search + modules: + - name: intellij.repository.search \ No newline at end of file diff --git a/plugins/search-everywhere-ml/plugin-content.yaml b/plugins/search-everywhere-ml/plugin-content.yaml new file mode 100644 index 000000000000..96f2779c2583 --- /dev/null +++ b/plugins/search-everywhere-ml/plugin-content.yaml @@ -0,0 +1,39 @@ +- name: lib/modules/intellij.searchEverywhereMl.ranking.core.jar + contentModules: + - name: intellij.searchEverywhereMl.ranking.core + libraries: + find-action-model: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/searchEverywhere/model/find-action-model/231.0.0/find-action-model-231.0.0.jar + size: 236768 + find-action-model-experimental: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/searchEverywhere/model/find-action-model/233.0.1/find-action-model-233.0.1.jar + size: 314360 + find-all-model-experimental: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/searchEverywhere/model/find-all-model/232.1.1/find-all-model-232.1.1.jar + size: 188471 + find-classes-model: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/searchEverywhere/model/find-classes-model/231.0.0/find-classes-model-231.0.0.jar + size: 146583 + find-classes-model-experimental: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/searchEverywhere/model/find-classes-model/233.1.1/find-classes-model-233.1.1.jar + size: 527225 + find-file-model: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/searchEverywhere/model/find-file-model/232.1.1/find-file-model-232.1.1.jar + size: 70478 + find-file-model-experimental: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/searchEverywhere/model/find-file-model/233.1.1/find-file-model-233.1.1.jar + size: 139933 +- name: lib/searchEverywhereMl.jar + modules: + - name: intellij.searchEverywhereMl + contentModules: + - name: intellij.searchEverywhereMl.ranking.ext + - name: intellij.searchEverywhereMl.ranking.java + - name: intellij.searchEverywhereMl.ranking.vcs + - name: intellij.searchEverywhereMl.ranking.yaml + - name: intellij.searchEverywhereMl.semantics + - name: intellij.searchEverywhereMl.semantics.java + - name: intellij.searchEverywhereMl.semantics.kotlin + - name: intellij.searchEverywhereMl.semantics.python + - name: intellij.searchEverywhereMl.semantics.testCommands + - name: intellij.searchEverywhereMl.typos \ No newline at end of file diff --git a/plugins/settings-repository/plugin-content.yaml b/plugins/settings-repository/plugin-content.yaml new file mode 100644 index 000000000000..dbef27387429 --- /dev/null +++ b/plugins/settings-repository/plugin-content.yaml @@ -0,0 +1,14 @@ +- name: lib/settingsRepository.jar + projectLibraries: + - name: jetbrains.intellij.deps.eclipse.jgit + files: + - name: $MAVEN_REPOSITORY$/com/googlecode/javaewah/JavaEWAH/1/JavaEWAH-1.jar + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/org.eclipse.jgit/6/org.eclipse.jgit-6.jar + reason: <- intellij.settingsRepository + modules: + - name: intellij.settingsRepository + libraries: + JSch: + - name: $MAVEN_REPOSITORY$/com/jcraft/jsch/0/jsch-0.jar + eclipse.jgit.ssh.jsch: + - name: $MAVEN_REPOSITORY$/org/eclipse/jgit/org.eclipse.jgit.ssh.jsch/6/org.eclipse.jgit.ssh.jsch-6.jar \ No newline at end of file diff --git a/plugins/settings-sync/plugin-content.yaml b/plugins/settings-sync/plugin-content.yaml new file mode 100644 index 000000000000..0c4e6ace9af9 --- /dev/null +++ b/plugins/settings-sync/plugin-content.yaml @@ -0,0 +1,11 @@ +- name: lib/settingsSync.jar + projectLibraries: + - name: jetbrains.intellij.deps.eclipse.jgit + files: + - name: $MAVEN_REPOSITORY$/com/googlecode/javaewah/JavaEWAH/1/JavaEWAH-1.jar + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/org.eclipse.jgit/6/org.eclipse.jgit-6.jar + reason: <- intellij.settingsSync + modules: + - name: intellij.settingsSync + contentModules: + - name: intellij.settingsSync.git \ No newline at end of file diff --git a/plugins/sh/plugin-content.yaml b/plugins/sh/plugin-content.yaml new file mode 100644 index 000000000000..9e1236437ae2 --- /dev/null +++ b/plugins/sh/plugin-content.yaml @@ -0,0 +1,10 @@ +- name: lib/sh.jar + modules: + - name: intellij.sh + - name: intellij.sh.core + reason: <- intellij.sh + contentModules: + - name: intellij.sh.copyright + - name: intellij.sh.markdown + - name: intellij.sh.python + - name: intellij.sh.terminal \ No newline at end of file diff --git a/plugins/stats-collector/plugin-content.yaml b/plugins/stats-collector/plugin-content.yaml new file mode 100644 index 000000000000..7c8cf974d781 --- /dev/null +++ b/plugins/stats-collector/plugin-content.yaml @@ -0,0 +1,6 @@ +- name: lib/statsCollector.jar + modules: + - name: intellij.statsCollector + libraries: + completion-log-events: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-log-events/0/completion-log-events-0.jar \ No newline at end of file diff --git a/plugins/stream-debugger/plugin-content.yaml b/plugins/stream-debugger/plugin-content.yaml new file mode 100644 index 000000000000..8b9df77028af --- /dev/null +++ b/plugins/stream-debugger/plugin-content.yaml @@ -0,0 +1,3 @@ +- name: lib/java-debugger-streams.jar + modules: + - name: intellij.java.debugger.streams \ No newline at end of file diff --git a/plugins/svn4idea/plugin-content.yaml b/plugins/svn4idea/plugin-content.yaml new file mode 100644 index 000000000000..353034439684 --- /dev/null +++ b/plugins/svn4idea/plugin-content.yaml @@ -0,0 +1,8 @@ +- name: lib/vcs-svn.jar + projectLibraries: + - name: sqlite + files: + - name: $MAVEN_REPOSITORY$/org/xerial/sqlite-jdbc/3/sqlite-jdbc-3.jar + reason: <- intellij.vcs.svn + modules: + - name: intellij.vcs.svn \ No newline at end of file diff --git a/plugins/tasks/tasks-core/plugin-content.yaml b/plugins/tasks/tasks-core/plugin-content.yaml new file mode 100644 index 000000000000..d0eff6b65feb --- /dev/null +++ b/plugins/tasks/tasks-core/plugin-content.yaml @@ -0,0 +1,29 @@ +- name: lib/tasks-core.jar + projectLibraries: + - name: XmlRPC + files: + - name: $MAVEN_REPOSITORY$/org/apache/ws/xmlrpc/xmlrpc/2/xmlrpc-2.jar + reason: <- intellij.tasks.jira + - name: jsonpath + files: + - name: $MAVEN_REPOSITORY$/com/jayway/jsonpath/json-path/2/json-path-2.jar + - name: $MAVEN_REPOSITORY$/net/minidev/accessors-smart/2/accessors-smart-2.jar + - name: $MAVEN_REPOSITORY$/net/minidev/json-smart/2/json-smart-2.jar + reason: <- intellij.tasks.core + modules: + - name: intellij.tasks + - name: intellij.tasks.compatibility + libraries: + http-client-3.1: + - name: $PROJECT_DIR$/community/lib/commons-httpclient-3.jar + - name: intellij.tasks.core + libraries: + commons-discovery: + - name: $MAVEN_REPOSITORY$/commons-discovery/commons-discovery/0/commons-discovery-0.jar + axis-1.4: + - name: $PROJECT_DIR$/community/plugins/tasks/tasks-core/lib/axis-1.jar + - name: $PROJECT_DIR$/community/plugins/tasks/tasks-core/lib/axis-jaxrpc-1.jar + - name: $PROJECT_DIR$/community/plugins/tasks/tasks-core/lib/axis-saaj-1.jar + - name: $PROJECT_DIR$/community/plugins/tasks/tasks-core/lib/wsdl4j-1.jar + - name: intellij.tasks.java + - name: intellij.tasks.jira \ No newline at end of file diff --git a/plugins/terminal/plugin-content.yaml b/plugins/terminal/plugin-content.yaml new file mode 100644 index 000000000000..b47b995e993c --- /dev/null +++ b/plugins/terminal/plugin-content.yaml @@ -0,0 +1,14 @@ +- name: lib/terminal.jar + modules: + - name: intellij.terminal + libraries: + completion-ranking-sh: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-sh/0/completion-ranking-sh-0.jar + terminal-completion-db-with-extensions: + - name: $MAVEN_REPOSITORY$/org/jetbrains/terminal/completion-db-with-extensions/0/completion-db-with-extensions-0.jar + - name: intellij.terminal.completion + libraries: + terminal-completion-spec: + - name: $MAVEN_REPOSITORY$/org/jetbrains/terminal/completion-spec/0/completion-spec-0.jar + contentModules: + - name: intellij.terminal.sh \ No newline at end of file diff --git a/plugins/testng/plugin-content.yaml b/plugins/testng/plugin-content.yaml new file mode 100644 index 000000000000..d1897a235185 --- /dev/null +++ b/plugins/testng/plugin-content.yaml @@ -0,0 +1,13 @@ +- name: lib/testng-plugin.jar + projectLibraries: + - name: TestNG + files: + - name: $MAVEN_REPOSITORY$/com/beust/jcommander/1/jcommander-1.jar + - name: $MAVEN_REPOSITORY$/org/testng/testng/7/testng-7.jar + - name: $MAVEN_REPOSITORY$/org/webjars/jquery/3/jquery-3.jar + reason: withProjectLibrary + modules: + - name: intellij.testng +- name: lib/testng-rt.jar + modules: + - name: intellij.testng.rt \ No newline at end of file diff --git a/plugins/textmate/plugin-content.yaml b/plugins/textmate/plugin-content.yaml new file mode 100644 index 000000000000..981913609f60 --- /dev/null +++ b/plugins/textmate/plugin-content.yaml @@ -0,0 +1,11 @@ +- name: lib/textmate.jar + projectLibraries: + - name: joni + files: + - name: $MAVEN_REPOSITORY$/org/jruby/jcodings/jcodings/1/jcodings-1.jar + - name: $MAVEN_REPOSITORY$/org/jruby/joni/joni/2/joni-2.jar + reason: <- intellij.textmate.core + modules: + - name: intellij.textmate + - name: intellij.textmate.core + reason: <- intellij.textmate \ No newline at end of file diff --git a/plugins/toml/plugin-content.yaml b/plugins/toml/plugin-content.yaml new file mode 100644 index 000000000000..85eb5d167839 --- /dev/null +++ b/plugins/toml/plugin-content.yaml @@ -0,0 +1,8 @@ +- name: lib/toml.jar + modules: + - name: intellij.toml + - name: intellij.toml.core + reason: <- intellij.toml + contentModules: + - name: intellij.toml.grazie + - name: intellij.toml.json \ No newline at end of file diff --git a/plugins/turboComplete/plugin-content.yaml b/plugins/turboComplete/plugin-content.yaml new file mode 100644 index 000000000000..e3a5b877e083 --- /dev/null +++ b/plugins/turboComplete/plugin-content.yaml @@ -0,0 +1,10 @@ +- name: lib/modules/intellij.turboComplete.languages.kotlin.jar + contentModules: + - name: intellij.turboComplete.languages.kotlin + libraries: + completion-performance-kotlin: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/performance-kotlin/0.0.9/performance-kotlin-0.0.9.jar + size: 343946 +- name: lib/turboComplete.jar + modules: + - name: intellij.turboComplete \ No newline at end of file diff --git a/plugins/ui-designer/plugin-content.yaml b/plugins/ui-designer/plugin-content.yaml new file mode 100644 index 000000000000..bd12b850bc6f --- /dev/null +++ b/plugins/ui-designer/plugin-content.yaml @@ -0,0 +1,6 @@ +- name: lib/jps/java-guiForms-jps.jar + modules: + - name: intellij.java.guiForms.jps +- name: lib/uiDesigner.jar + modules: + - name: intellij.java.guiForms.designer \ No newline at end of file diff --git a/plugins/webp/plugin-content.yaml b/plugins/webp/plugin-content.yaml new file mode 100644 index 000000000000..610d01821fbd --- /dev/null +++ b/plugins/webp/plugin-content.yaml @@ -0,0 +1,6 @@ +- name: lib/webp.jar + modules: + - name: intellij.webp + libraries: + libwebp.jar: + - name: $PROJECT_DIR$/community/plugins/webp/lib/libwebp.jar \ No newline at end of file diff --git a/plugins/xpath/plugin-content.yaml b/plugins/xpath/plugin-content.yaml new file mode 100644 index 000000000000..cafea405ec05 --- /dev/null +++ b/plugins/xpath/plugin-content.yaml @@ -0,0 +1,6 @@ +- name: lib/rt/xslt-rt.jar + modules: + - name: intellij.xpath.rt +- name: lib/xpath.jar + modules: + - name: intellij.xpath \ No newline at end of file diff --git a/plugins/xslt-debugger/plugin-content.yaml b/plugins/xslt-debugger/plugin-content.yaml new file mode 100644 index 000000000000..a4deb389c1ba --- /dev/null +++ b/plugins/xslt-debugger/plugin-content.yaml @@ -0,0 +1,14 @@ +- name: lib/rmi-stubs.jar +- name: lib/rt/saxon.jar +- name: lib/rt/saxon9he.jar +- name: lib/rt/serializer-2.7.3.jar +- name: lib/rt/xalan-2.7.3.jar +- name: lib/rt/xslt-debugger-impl-rt.jar + modules: + - name: intellij.xslt.debugger.impl.rt +- name: lib/xslt-debugger-rt.jar + modules: + - name: intellij.xslt.debugger.rt +- name: lib/xslt-debugger.jar + modules: + - name: intellij.xslt.debugger \ No newline at end of file diff --git a/plugins/yaml/plugin-content.yaml b/plugins/yaml/plugin-content.yaml new file mode 100644 index 000000000000..74b94805c39a --- /dev/null +++ b/plugins/yaml/plugin-content.yaml @@ -0,0 +1,9 @@ +- name: lib/client/yaml-frontend.jar + modules: + - name: intellij.yaml.frontend +- name: lib/yaml-editing.jar + modules: + - name: intellij.yaml.editing +- name: lib/yaml.jar + modules: + - name: intellij.yaml \ No newline at end of file diff --git a/python/pluginCore/plugin-content.yaml b/python/pluginCore/plugin-content.yaml new file mode 100644 index 000000000000..5b81d38d4be2 --- /dev/null +++ b/python/pluginCore/plugin-content.yaml @@ -0,0 +1,53 @@ +- name: lib/python-ce.jar + projectLibraries: + - name: XmlRPC + files: + - name: $MAVEN_REPOSITORY$/org/apache/ws/xmlrpc/xmlrpc/2/xmlrpc-2.jar + reason: withProjectLibrary + - name: jsr305 + files: + - name: $MAVEN_REPOSITORY$/com/google/code/findbugs/jsr305/3/jsr305-3.jar + reason: <- intellij.python.community.impl + - name: libthrift + files: + - name: $MAVEN_REPOSITORY$/org/apache/thrift/libthrift/0/libthrift-0.jar + reason: withProjectLibrary + modules: + - name: intellij.python.community + - name: intellij.python.community.core.impl + - name: intellij.python.community.impl + libraries: + ml-completion-prev-exprs-models: + - name: $MAVEN_REPOSITORY$/completion/ml/python/features/ml-completion-prev-exprs-models/1/ml-completion-prev-exprs-models-1.jar + tuweni-toml: + - name: $MAVEN_REPOSITORY$/org/antlr/antlr4-runtime/4/antlr4-runtime-4.jar + - name: $MAVEN_REPOSITORY$/org/apache/tuweni/tuweni-toml/2/tuweni-toml-2.jar + completion-ranking-python-with-full-line: + - name: $MAVEN_REPOSITORY$/org/jetbrains/intellij/deps/completion/completion-ranking-python-with-full-line/0/completion-ranking-python-with-full-line-0.jar + - name: intellij.python.community.plugin + - name: intellij.python.psi + - name: intellij.python.psi.impl + - name: intellij.python.pydev + - name: intellij.python.sdk + contentModules: + - name: intellij.commandInterface + - name: intellij.python.community.communityOnly + - name: intellij.python.community.deprecated.extensions + - name: intellij.python.community.impl.huggingFace + - name: intellij.python.community.plugin.impl + - name: intellij.python.community.plugin.java + - name: intellij.python.community.plugin.minor + - name: intellij.python.community.plugin.minorRider + - name: intellij.python.copyright + - name: intellij.python.featuresTrainer + - name: intellij.python.grazie + - name: intellij.python.langInjection + - name: intellij.python.markdown + - name: intellij.python.reStructuredText + - name: intellij.python.terminal +- name: lib/python-common.jar + modules: + - name: intellij.python.ast + - name: intellij.python.parser + - name: intellij.python.syntax + - name: intellij.python.syntax.core \ No newline at end of file