ProductInfo

@Serializable
data class ProductInfo(val name: String? = null, val version: String = "", val versionSuffix: String? = null, val buildNumber: String = "", val productCode: String = "", val dataDirectoryName: String? = 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 = "", dataDirectoryName: String? = 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()) : 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
Link copied to clipboard

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 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 list of modules of the product.

Link copied to clipboard
val name: String? = null

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

Link copied to clipboard

The product code, like "IU".

Link copied to clipboard
val productVendor: String? = null

The vendor of the product.

Link copied to clipboard
val svgIconPath: String? = null

The path to the SVG icon of the product.

Link copied to clipboard

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

Link copied to clipboard
val versionSuffix: String? = null

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.