split content report

GitOrigin-RevId: ef449bdf4c5480a6ee3ce43b4af118c2c6e31219
This commit is contained in:
Vladimir Krivosheev
2024-07-25 08:52:02 +02:00
committed by intellij-monorepo-bot
parent 3bd32f51f1
commit 398ebce1d5
110 changed files with 1805 additions and 116 deletions

View File

@@ -0,0 +1,3 @@
- name: lib/platform-images.jar
modules:
- name: intellij.platform.images

View File

@@ -0,0 +1,3 @@
- name: lib/java-ide-customization.jar
modules:
- name: intellij.java.ide.customization

View File

@@ -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

View File

@@ -234,10 +234,11 @@
<orderEntry type="library" name="jbr-api" level="project" />
<orderEntry type="library" name="kotlinx-serialization-protobuf" level="project" />
<orderEntry type="library" scope="RUNTIME" name="jackson-module-kotlin" level="project" />
<orderEntry type="library" scope="RUNTIME" name="jackson-dataformat-yaml" level="project" />
<orderEntry type="library" name="jackson-dataformat-yaml" level="project" />
<orderEntry type="library" name="ion" level="project" />
<orderEntry type="module" module-name="intellij.platform.boot" />
<orderEntry type="module" module-name="intellij.platform.ijent.community.buildConstants" />
<orderEntry type="library" name="ktor-client-core" level="project" />
<orderEntry type="library" name="snakeyaml" level="project" />
</component>
</module>

View File

@@ -161,6 +161,7 @@ fun reorderJar(jarFile: Path, orderedNames: List<String>) {
internal data class PluginBuildDescriptor(
@JvmField val dir: Path,
@JvmField val os: OsFamily?,
@JvmField val layout: PluginLayout,
@JvmField val moduleNames: List<String>,
)

View File

@@ -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,
)
}
}

View File

@@ -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<String>, fieldName: String,
}
}
private suspend fun buildSourcesArchive(entries: List<DistributionFileEntry>, 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) {

View File

@@ -57,7 +57,7 @@ internal suspend fun buildDistribution(
state: DistributionBuilderState,
context: BuildContext,
isUpdateFromSources: Boolean = false,
): List<DistributionFileEntry> = 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<DistributionFileEntry> {
): List<Pair<PluginBuildDescriptor, List<DistributionFileEntry>>> {
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<DistributionFileEntry> {
): List<Pair<PluginBuildDescriptor, List<DistributionFileEntry>>> {
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<DistributionFileEntry>, List<DistributionFileEntry>> {
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<DistributionFileEntry>()
val entries = mutableListOf<Pair<PluginBuildDescriptor, List<DistributionFileEntry>>>()
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<PluginLayout>,
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<DistributionFileEntry>, context: BuildContext): Job? {
private fun CoroutineScope.createBuildThirdPartyLibraryListJob(entries: Sequence<DistributionFileEntry>, 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<String> {
val (lib, plugins) = generateProjectStructureMapping(context = context, platformLayout = platform)
val contentReport = generateProjectStructureMapping(context = context, platformLayout = platform)
val pluginLayouts = context.productProperties.productLayout.pluginLayouts
val classPath = LinkedHashSet<Path>()
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) {

View File

@@ -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,

View File

@@ -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<LibraryLicense>) {
companion object {
fun create(project: JpsProject,
licensesList: List<LibraryLicense>,
usedModulesNames: Set<String>,
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<LibraryLicense>,
usedModulesNames: Set<String>,
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<LibraryLicense>) {
fun generateHtml(file: Path) {
val out = StringBuilder()
out.append("""
@@ -147,7 +147,7 @@ private fun generateLicenses(project: JpsProject, licensesList: List<LibraryLice
val usedLibraries = HashMap<String, String>()
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)
}
}

View File

@@ -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
}

View File

@@ -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<DistributionFileEntry>,
@JvmField val bundledPlugins: List<Pair<PluginBuildDescriptor, List<DistributionFileEntry>>>,
@JvmField val nonBundledPlugins: List<Pair<PluginBuildDescriptor, List<DistributionFileEntry>>>,
) {
fun combined(): Sequence<DistributionFileEntry> {
return sequence {
yieldAll(platform)
yieldAll(bundledPlugins.flatMap { it.second })
yieldAll(nonBundledPlugins.flatMap { it.second })
}
}
}
sealed interface DistributionFileEntry {
/**
* Path to a file in IDE distribution

View File

@@ -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<DistributionFileEntry>.includedModules: Sequence<String>
get() = asSequence().mapNotNull { (it as? ModuleOutputEntry)?.moduleName }.distinct()
internal fun getIncludedModules(entries: Sequence<DistributionFileEntry>): Sequence<String> {
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<DistributionFileEntry>, 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<Pair<PluginBuildDescriptor, List<DistributionFileEntry>>>, buildPaths: BuildPaths): ByteArray {
val out = ByteArrayOutputStream()
val writer = createYamlGenerator(out)
writer.writeStartArray()
for ((plugin, entries) in pluginToEntries) {
val fileToPresentablePath = HashMap<Path, String>()
val fileToEntry = TreeMap<String, MutableList<DistributionFileEntry>>()
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<DistFile>): ByteArray {
val out = ByteArrayOutputStream()
val writer = createYamlGenerator(out)
val fileToEntry = TreeMap<String, MutableList<DistributionFileEntry>>()
val fileToPresentablePath = HashMap<Path, String>()
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<DistributionFileEntry>, 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<DistributionFileEntry>, 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<DistributionFileEntry>, 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<DistributionFileEnt
writer.writeNumberField("size", entry.size)
}
is ModuleOutputEntry -> {
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<DistributionFileEntry>, buildPaths: BuildPaths) {
private fun writeModules(
writer: JsonGenerator,
fileEntries: Sequence<DistributionFileEntry>,
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<DistributionFi
}
if (!opened) {
writer.writeArrayFieldStart("modules")
writer.writeArrayFieldStart(fieldName)
opened = true
}
writer.writeStartObject()
val moduleName = entry.moduleName
writeModuleItem(writer, entry)
writeModuleItem(writer, entry, writeReason = writeReason)
writeModuleLibraries(fileEntries = fileEntries, moduleName = moduleName, writer = writer, buildPaths = buildPaths)
writer.writeEndObject()
}
@@ -149,16 +246,18 @@ private fun writeModules(writer: JsonGenerator, fileEntries: List<DistributionFi
}
}
private fun writeModuleItem(writer: JsonGenerator, entry: ModuleOutputEntry) {
private fun writeModuleItem(writer: JsonGenerator, entry: ModuleOutputEntry, writeReason: Boolean) {
writer.writeStringField("name", entry.moduleName)
writer.writeNumberField("size", entry.size)
entry.reason?.let {
writer.writeStringField("reason", it)
if (writeReason) {
entry.reason?.let {
writer.writeStringField("reason", it)
}
}
}
private fun writeModuleLibraries(fileEntries: List<DistributionFileEntry>, moduleName: String, writer: JsonGenerator, buildPaths: BuildPaths) {
val entriesGroupedByLibraryName = fileEntries.asSequence()
private fun writeModuleLibraries(fileEntries: Sequence<DistributionFileEntry>, moduleName: String, writer: JsonGenerator, buildPaths: BuildPaths) {
val entriesGroupedByLibraryName = fileEntries
.filterIsInstance<ModuleLibraryFileEntry>()
.filter { it.moduleName == moduleName }
.groupBy { it.libraryName }

View File

@@ -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<DistributionFileEntry>, context: BuildContext) {
internal fun generateRuntimeModuleRepository(entries: Sequence<DistributionFileEntry>, context: BuildContext) {
val compiledModulesDescriptors = context.originalModuleRepository.rawRepositoryData
val repositoryEntries = ArrayList<RuntimeModuleRepositoryEntry>()
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<Run
.filter { it.getFiles(JpsOrderRootType.COMPILED).size == 1 }
.mapTo(HashSet()) { it.name }
fun ProjectLibraryEntry.isPackedIntoSingleJar() = data.libraryName in singleFileProjectLibraries
|| data.packMode == LibraryPackMode.MERGED
|| data.packMode == LibraryPackMode.STANDALONE_MERGED
fun isPackedIntoSingleJar(projectLibraryEntry: ProjectLibraryEntry): Boolean {
return (projectLibraryEntry.data.libraryName in singleFileProjectLibraries
|| projectLibraryEntry.data.packMode == LibraryPackMode.MERGED
|| projectLibraryEntry.data.packMode == LibraryPackMode.STANDALONE_MERGED)
}
fun ModuleLibraryFileEntry.isPackedIntoSingleJar(): Boolean {
val library = context.findRequiredModule(moduleName).libraryCollection.libraries.find { LibraryLicensesListGenerator.getLibraryName(it) == libraryName }
val library = context.findRequiredModule(moduleName).libraryCollection.libraries.find { getLibraryFilename(it) == libraryName }
require(library != null) { "Cannot find module-level library '$libraryName' in '$moduleName'" }
return library.getFiles(JpsOrderRootType.COMPILED).size == 1
}
@@ -236,8 +236,8 @@ private fun computeMainPathsForResourcesCopiedToMultiplePlaces(entries: List<Run
//exclude libraries which may be packed in multiple JARs from consideration, because multiple entries may not indicate that a library is copied to multiple places in such cases,
//and all resource roots should be kept
val moduleIdsToPaths = entries.asSequence()
.filter { entry -> 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 })

View File

@@ -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<MavenLibrary> 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() }

View File

@@ -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)) {

View File

@@ -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

View File

@@ -0,0 +1,3 @@
- name: lib/platform-tracing-ide.jar
modules:
- name: intellij.platform.tracing.ide

View File

@@ -0,0 +1,3 @@
- name: lib/java-byteCodeViewer.jar
modules:
- name: intellij.java.byteCodeViewer

View File

@@ -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

View File

@@ -0,0 +1,6 @@
- name: lib/ant-jps.jar
modules:
- name: intellij.ant.jps
- name: lib/antIntegration.jar
modules:
- name: intellij.ant

View File

@@ -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

View File

@@ -0,0 +1,3 @@
- name: lib/classic-ui.jar
modules:
- name: intellij.classic.ui

View File

@@ -0,0 +1,3 @@
- name: lib/color-scheme-all_hallows_eve.jar
modules:
- name: intellij.color.scheme.all_hallows_eve

View File

@@ -0,0 +1,3 @@
- name: lib/color-scheme-blackboard.jar
modules:
- name: intellij.color.scheme.blackboard

View File

@@ -0,0 +1,3 @@
- name: lib/color-scheme-cobalt.jar
modules:
- name: intellij.color.scheme.cobalt

View File

@@ -0,0 +1,3 @@
- name: lib/color-scheme-github.jar
modules:
- name: intellij.color.scheme.github

View File

@@ -0,0 +1,3 @@
- name: lib/color-scheme-monokai.jar
modules:
- name: intellij.color.scheme.monokai

View File

@@ -0,0 +1,3 @@
- name: lib/color-scheme-rails_casts.jar
modules:
- name: intellij.color.scheme.rails_casts

View File

@@ -0,0 +1,3 @@
- name: lib/color-scheme-twilight.jar
modules:
- name: intellij.color.scheme.twilight

View File

@@ -0,0 +1,3 @@
- name: lib/color-scheme-vibrant_ink.jar
modules:
- name: intellij.color.scheme.vibrant_ink

View File

@@ -0,0 +1,3 @@
- name: lib/color-scheme-warmNeon.jar
modules:
- name: intellij.color.scheme.warmNeon

View File

@@ -0,0 +1,3 @@
- name: lib/commander.jar
modules:
- name: intellij.commander

View File

@@ -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

View File

@@ -0,0 +1,3 @@
- name: lib/completionMlRanking.jar
modules:
- name: intellij.completionMlRanking

View File

@@ -0,0 +1,3 @@
- name: lib/configurationScript.jar
modules:
- name: intellij.configurationScript

View File

@@ -0,0 +1,5 @@
- name: lib/copyright.jar
modules:
- name: intellij.copyright
contentModules:
- name: intellij.copyright.vcs

View File

@@ -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

View File

@@ -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

View File

@@ -617,6 +617,7 @@
<fileIconProvider implementation="org.jetbrains.idea.devkit.apiDump.ApiDumpFileIconProvider"/>
<generatedSourcesFilter implementation="org.jetbrains.idea.devkit.apiDump.ApiDumpGeneratedSourcesFilter"/>
<generatedSourcesFilter implementation="org.jetbrains.idea.devkit.contentReport.ContentReportGeneratedSourcesFilter"/>
<!-- INTERNAL -->
<consoleFilterProvider implementation="org.jetbrains.idea.devkit.run.ModulePathFilterProvider"/>

View File

@@ -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",
))
)
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,3 @@
- name: lib/emojipicker.jar
modules:
- name: intellij.emojipicker

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,3 @@
- name: lib/vcs-gitlab.jar
modules:
- name: intellij.vcs.gitlab

View File

@@ -0,0 +1,3 @@
- name: lib/gradle-java-maven.jar
modules:
- name: intellij.gradle.java.maven

View File

@@ -0,0 +1,3 @@
- name: lib/gradle-dependencyUpdater.jar
modules:
- name: intellij.gradle.dependencyUpdater

View File

@@ -0,0 +1,3 @@
- name: lib/gradle-analysis.jar
modules:
- name: intellij.gradle.analysis

View File

@@ -0,0 +1,6 @@
- name: lib/gradle-java.jar
modules:
- name: intellij.gradle.java
- name: lib/gradle-jps.jar
modules:
- name: intellij.gradle.jps

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,3 @@
- name: lib/vcs-hg.jar
modules:
- name: intellij.vcs.hg

View File

@@ -0,0 +1,3 @@
- name: lib/html-tools.jar
modules:
- name: intellij.html.tools

View File

@@ -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

View File

@@ -0,0 +1,4 @@
- name: lib/java-decompiler.jar
modules:
- name: intellij.java.decompiler
- name: intellij.java.decompiler.engine

View File

@@ -0,0 +1,3 @@
- name: lib/java-i18n.jar
modules:
- name: intellij.java.i18n

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,3 @@
- name: lib/keymap-eclipse.jar
modules:
- name: intellij.keymap.eclipse

View File

@@ -0,0 +1,3 @@
- name: lib/keymap-netbeans.jar
modules:
- name: intellij.keymap.netbeans

View File

@@ -0,0 +1,3 @@
- name: lib/keymap-qtcreator.jar
modules:
- name: intellij.keymap.qtcreator

View File

@@ -0,0 +1,3 @@
- name: lib/keymap-resharper.jar
modules:
- name: intellij.keymap.resharper

View File

@@ -0,0 +1,3 @@
- name: lib/keymap-visualAssist.jar
modules:
- name: intellij.keymap.visualAssist

View File

@@ -0,0 +1,3 @@
- name: lib/keymap-visualStudioForMac.jar
modules:
- name: intellij.keymap.visualStudioForMac

View File

@@ -0,0 +1,3 @@
- name: lib/keymap-visualStudio.jar
modules:
- name: intellij.keymap.visualStudio

View File

@@ -0,0 +1,3 @@
- name: lib/keymap-visualStudio2022.jar
modules:
- name: intellij.keymap.visualStudio2022

View File

@@ -0,0 +1,3 @@
- name: lib/keymap-vscode.jar
modules:
- name: intellij.keymap.vscode

View File

@@ -0,0 +1,3 @@
- name: lib/keymap-xcode.jar
modules:
- name: intellij.keymap.xcode

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,3 @@
- name: lib/laf-macos.jar
modules:
- name: intellij.laf.macos

View File

@@ -0,0 +1,3 @@
- name: lib/laf-win10.jar
modules:
- name: intellij.laf.win10

View File

@@ -0,0 +1,4 @@
- name: lib/lombok.jar
modules:
- name: intellij.lombok
- name: intellij.lombok.generated

View File

@@ -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

View File

@@ -0,0 +1,3 @@
- name: lib/marketplaceMl.jar
modules:
- name: intellij.marketplaceMl

View File

@@ -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

View File

@@ -0,0 +1,3 @@
- name: lib/maven-server.jar
modules:
- name: intellij.maven.server

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,3 @@
- name: lib/performanceTesting-ui.jar
modules:
- name: intellij.performanceTesting.ui

View File

@@ -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

View File

@@ -0,0 +1,3 @@
- name: lib/properties-resource-bundle-editor.jar
modules:
- name: intellij.properties.resource.bundle.editor

View File

@@ -0,0 +1,3 @@
- name: lib/java-rareRefactorings.jar
modules:
- name: intellij.java.rareRefactorings

View File

@@ -0,0 +1,3 @@
- name: lib/remoteControl.jar
modules:
- name: intellij.remoteControl

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,3 @@
- name: lib/java-debugger-streams.jar
modules:
- name: intellij.java.debugger.streams

View File

@@ -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

View File

@@ -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

View File

@@ -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

Some files were not shown because too many files have changed in this diff Show More