ProductInfo

@Serializable
data class ProductInfo(val name: String? = null, val version: String = "", val versionSuffix: String? = null, val buildNumber: String = "", val productCode: String = "", val envVarBaseName: String? = null, val dataDirectoryName: String? = null, val minRequiredJavaVersion: Int? = null, val svgIconPath: String? = null, val productVendor: String? = null, val launch: List<ProductInfo.Launch> = mutableListOf(), val customProperties: List<ProductInfo.CustomProperty> = mutableListOf(), val bundledPlugins: List<String> = mutableListOf(), val fileExtensions: List<String> = mutableListOf(), val modules: List<String> = mutableListOf(), val layout: List<ProductInfo.LayoutItem> = mutableListOf()) : Serializable

Represents information about the IntelliJ Platform product. The information is retrieved from the product-info.json file in the IntelliJ Platform directory.

Constructors

Link copied to clipboard
constructor(name: String? = null, version: String = "", versionSuffix: String? = null, buildNumber: String = "", productCode: String = "", envVarBaseName: String? = null, dataDirectoryName: String? = null, minRequiredJavaVersion: Int? = null, svgIconPath: String? = null, productVendor: String? = null, launch: List<ProductInfo.Launch> = mutableListOf(), customProperties: List<ProductInfo.CustomProperty> = mutableListOf(), bundledPlugins: List<String> = mutableListOf(), fileExtensions: List<String> = mutableListOf(), modules: List<String> = mutableListOf(), layout: List<ProductInfo.LayoutItem> = mutableListOf())

Types

Link copied to clipboard
@Serializable
data class CustomProperty(val key: String? = null, val value: String? = null) : Serializable

Represents a custom property with a key-value pair.

Link copied to clipboard
@Serializable
data class Launch(val os: ProductInfo.Launch.OS? = null, val arch: String? = null, val launcherPath: String? = null, val javaExecutablePath: String? = null, val vmOptionsFilePath: String? = null, val startupWmClass: String? = null, val bootClassPathJarNames: List<String> = mutableListOf(), val additionalJvmArguments: List<String> = mutableListOf(), val mainClass: String? = null, val envVarBaseName: String? = null, val dataDirectoryName: String? = null, val customCommands: List<ProductInfo.Launch.CustomCommand> = mutableListOf()) : Serializable

Represents a launch configuration for a product.

Link copied to clipboard
@Serializable
data class LayoutItem(val name: String, val kind: ProductInfo.LayoutItemKind, val classPath: List<String> = mutableListOf()) : Serializable

Represents a layout item in the product structure.

Link copied to clipboard

Represents the different kinds of layout items.

Properties

Link copied to clipboard

The build number of the product, like "232.8660.185".

Link copied to clipboard

The list of bundled plugins provided with the current release.

Link copied to clipboard

The list of custom properties of the product.

Link copied to clipboard

The directory name of the product data.

Link copied to clipboard

The base name for environment variables.

Link copied to clipboard

The list of file extensions associated with the product.

Link copied to clipboard

The list of OS- and arch-specific launch configurations for the product.

Link copied to clipboard
Link copied to clipboard

The minimum Java version required by the product.

Link copied to clipboard

The list of modules of the product.

Link copied to clipboard
val name: String?

The product's name, like "IntelliJ IDEA".

Link copied to clipboard

The product code, like "IU".

Link copied to clipboard

The vendor of the product.

Link copied to clipboard

The path to the SVG icon of the product.

Link copied to clipboard
Link copied to clipboard

The marketing version of the product, like "2023.2".

Link copied to clipboard

The suffix of the version, like "EAP".

Functions

Link copied to clipboard

Validates that the resolved IntelliJ Platform is supported by checking against the minimal supported IntelliJ Platform version.