IJPL-177442 Changes required for rebase.

It was impossible to solve the conflicts, because PluginUiModel was changed in almost all following commits.


(cherry picked from commit c234adb6a5d3d8c46475561c345d3b74758adcd6)

IJ-MR-163725

GitOrigin-RevId: 8c0216b0cfebaca71a5b06884469edece71628de
This commit is contained in:
Denis Zaichenko
2025-06-05 13:48:29 +00:00
committed by intellij-monorepo-bot
parent 893680351e
commit 1d7ac70529
18 changed files with 94 additions and 169 deletions
-1
View File
@@ -197,7 +197,6 @@ bf:com.intellij.openapi.extensions.PluginId$$serializer
- f:deserialize(kotlinx.serialization.encoding.Decoder):com.intellij.openapi.extensions.PluginId
- f:getDescriptor():kotlinx.serialization.descriptors.SerialDescriptor
- f:serialize(kotlinx.serialization.encoding.Encoder,com.intellij.openapi.extensions.PluginId):V
- typeParametersSerializers():kotlinx.serialization.KSerializer[]
f:com.intellij.openapi.extensions.PluginId$Companion
- f:findId(java.lang.String):com.intellij.openapi.extensions.PluginId
- f:findId(java.lang.String[]):com.intellij.openapi.extensions.PluginId
@@ -3429,19 +3429,6 @@ e:com.intellij.ide.plugins.PluginNode$Status
- sf:UNKNOWN:com.intellij.ide.plugins.PluginNode$Status
- s:valueOf(java.lang.String):com.intellij.ide.plugins.PluginNode$Status
- s:values():com.intellij.ide.plugins.PluginNode$Status[]
f:com.intellij.ide.plugins.PluginNodeVendorDetails
- <init>(java.lang.String,java.lang.String,java.lang.Boolean,java.lang.Boolean):V
- b:<init>(java.lang.String,java.lang.String,java.lang.Boolean,java.lang.Boolean,I,kotlin.jvm.internal.DefaultConstructorMarker):V
- f:component1():java.lang.String
- f:component2():java.lang.String
- f:copy(java.lang.String,java.lang.String,java.lang.Boolean,java.lang.Boolean):com.intellij.ide.plugins.PluginNodeVendorDetails
- bs:copy$default(com.intellij.ide.plugins.PluginNodeVendorDetails,java.lang.String,java.lang.String,java.lang.Boolean,java.lang.Boolean,I,java.lang.Object):com.intellij.ide.plugins.PluginNodeVendorDetails
- equals(java.lang.Object):Z
- f:getName():java.lang.String
- f:getUrl():java.lang.String
- hashCode():I
- f:isTrader():Z
- f:isVerified():Z
f:com.intellij.ide.plugins.PluginStateManager
- <init>():V
- s:addStateListener(com.intellij.ide.plugins.PluginStateListener):V
@@ -3575,14 +3562,6 @@ f:com.intellij.ide.plugins.marketplace.IdeCompatibleUpdate
- f:getPluginId():java.lang.String
- f:getVersion():java.lang.String
- hashCode():I
bf:com.intellij.ide.plugins.marketplace.IdeCompatibleUpdate$$serializer
- kotlinx.serialization.internal.GeneratedSerializer
- sf:INSTANCE:com.intellij.ide.plugins.marketplace.IdeCompatibleUpdate$$serializer
- f:childSerializers():kotlinx.serialization.KSerializer[]
- f:deserialize(kotlinx.serialization.encoding.Decoder):com.intellij.ide.plugins.marketplace.IdeCompatibleUpdate
- f:getDescriptor():kotlinx.serialization.descriptors.SerialDescriptor
- f:serialize(kotlinx.serialization.encoding.Encoder,com.intellij.ide.plugins.marketplace.IdeCompatibleUpdate):V
- typeParametersSerializers():kotlinx.serialization.KSerializer[]
f:com.intellij.ide.plugins.marketplace.IdeCompatibleUpdate$Companion
- f:serializer():kotlinx.serialization.KSerializer
f:com.intellij.ide.plugins.marketplace.MarketplaceRequestsKt
+30
View File
@@ -216,6 +216,29 @@ com.intellij.ide.plugins.PluginManagerMain$PluginEnabler
- enable(java.util.Collection):Z
- enableById(java.util.Set):Z
- isDisabled(com.intellij.openapi.extensions.PluginId):Z
f:com.intellij.ide.plugins.PluginNodeVendorDetails
- sf:Companion:com.intellij.ide.plugins.PluginNodeVendorDetails$Companion
- <init>(java.lang.String,java.lang.String,java.lang.Boolean,java.lang.Boolean):V
- b:<init>(java.lang.String,java.lang.String,java.lang.Boolean,java.lang.Boolean,I,kotlin.jvm.internal.DefaultConstructorMarker):V
- f:component1():java.lang.String
- f:component2():java.lang.String
- f:copy(java.lang.String,java.lang.String,java.lang.Boolean,java.lang.Boolean):com.intellij.ide.plugins.PluginNodeVendorDetails
- bs:copy$default(com.intellij.ide.plugins.PluginNodeVendorDetails,java.lang.String,java.lang.String,java.lang.Boolean,java.lang.Boolean,I,java.lang.Object):com.intellij.ide.plugins.PluginNodeVendorDetails
- equals(java.lang.Object):Z
- f:getName():java.lang.String
- f:getUrl():java.lang.String
- hashCode():I
- f:isTrader():Z
- f:isVerified():Z
bf:com.intellij.ide.plugins.PluginNodeVendorDetails$$serializer
- kotlinx.serialization.internal.GeneratedSerializer
- sf:INSTANCE:com.intellij.ide.plugins.PluginNodeVendorDetails$$serializer
- f:childSerializers():kotlinx.serialization.KSerializer[]
- f:deserialize(kotlinx.serialization.encoding.Decoder):com.intellij.ide.plugins.PluginNodeVendorDetails
- f:getDescriptor():kotlinx.serialization.descriptors.SerialDescriptor
- f:serialize(kotlinx.serialization.encoding.Encoder,com.intellij.ide.plugins.PluginNodeVendorDetails):V
f:com.intellij.ide.plugins.PluginNodeVendorDetails$Companion
- f:serializer():kotlinx.serialization.KSerializer
com.intellij.ide.plugins.PluginStateListener
- a:install(com.intellij.ide.plugins.IdeaPluginDescriptor):V
- uninstall(com.intellij.ide.plugins.IdeaPluginDescriptor):V
@@ -230,6 +253,13 @@ com.intellij.ide.plugins.auth.PluginRepositoryAuthProvider
- sf:EP_NAME:com.intellij.openapi.extensions.ExtensionPointName
- a:canHandle(java.lang.String):Z
- a:getAuthHeaders(java.lang.String):java.util.Map
bf:com.intellij.ide.plugins.marketplace.IdeCompatibleUpdate$$serializer
- kotlinx.serialization.internal.GeneratedSerializer
- sf:INSTANCE:com.intellij.ide.plugins.marketplace.IdeCompatibleUpdate$$serializer
- f:childSerializers():kotlinx.serialization.KSerializer[]
- f:deserialize(kotlinx.serialization.encoding.Decoder):com.intellij.ide.plugins.marketplace.IdeCompatibleUpdate
- f:getDescriptor():kotlinx.serialization.descriptors.SerialDescriptor
- f:serialize(kotlinx.serialization.encoding.Encoder,com.intellij.ide.plugins.marketplace.IdeCompatibleUpdate):V
com.intellij.ide.startup.StartupActionScriptManager$ActionCommand
- a:execute():V
com.intellij.ide.trustedProjects.TrustedProjectsLocator
@@ -2,10 +2,12 @@
package com.intellij.ide.plugins
import com.intellij.openapi.util.NlsSafe
import kotlinx.serialization.Serializable
/**
* Marketplace vendor details.
*/
@Serializable
data class PluginNodeVendorDetails(
@NlsSafe val name: String,
val url: String? = null,
@@ -2,6 +2,7 @@
package com.intellij.ide.plugins.api
import com.intellij.ide.plugins.IdeaPluginDescriptor
import com.intellij.ide.plugins.PluginNodeVendorDetails
import com.intellij.ide.plugins.newui.PluginDependencyModel
import com.intellij.ide.plugins.newui.PluginSource
import com.intellij.ide.plugins.newui.PluginUiModel
@@ -44,6 +45,7 @@ class PluginDto(
override var releaseVersion: Int = 0
override var displayCategory: String? = null
override var vendorDetails: PluginNodeVendorDetails? = null
override var reviewComments: ReviewsPageContainer? = null
// Mutable properties
@@ -53,9 +55,6 @@ class PluginDto(
override var documentationUrl: String? = null
override var sourceCodeUrl: String? = null
override var reportPluginUrl: String? = null
override var verifiedName: String? = null
override var isVerified: Boolean = false
override var isTrader: Boolean = false
override var screenShots: List<String>? = null
override var externalPluginIdForScreenShots: String? = null
override var externalPluginId: String? = null
@@ -121,9 +120,7 @@ class PluginDto(
documentationUrl = model.documentationUrl
sourceCodeUrl = model.sourceCodeUrl
reportPluginUrl = model.reportPluginUrl
verifiedName = model.verifiedName
isVerified = model.isVerified
isTrader = model.isTrader
vendorDetails = model.vendorDetails
reviewComments = model.reviewComments
screenShots = model.screenShots?.toList()
externalPluginIdForScreenShots = model.externalPluginIdForScreenShots
@@ -1,24 +1,18 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.ide.plugins.api
import com.intellij.ide.plugins.ContainerDescriptor
import com.intellij.ide.plugins.ContentModule
import com.intellij.ide.plugins.IdeaPluginDescriptorEx
import com.intellij.ide.plugins.ModuleDependencies
import com.intellij.ide.plugins.ModuleLoadingRule
import com.intellij.ide.plugins.IdeaPluginDescriptor
import com.intellij.ide.plugins.PluginDependencyImpl
import com.intellij.ide.plugins.PluginDependency
import com.intellij.openapi.extensions.ExtensionDescriptor
import com.intellij.openapi.extensions.PluginId
import com.intellij.openapi.util.NlsSafe
import com.intellij.platform.plugins.parser.impl.elements.ActionElement
import org.jetbrains.annotations.ApiStatus
import org.jetbrains.annotations.Nls
import java.nio.file.Path
import java.util.Date
@ApiStatus.Internal
class PluginDtoDescriptorWrapper(private val pluginDto: PluginDto) : IdeaPluginDescriptorEx {
class PluginDtoDescriptorWrapper(private val pluginDto: PluginDto) : IdeaPluginDescriptor {
private val dependenciesList: List<PluginDependency> by lazy {
pluginDto.dependencies.map {
@@ -102,70 +96,11 @@ class PluginDtoDescriptorWrapper(private val pluginDto: PluginDto) : IdeaPluginD
throw UnsupportedOperationException("No direct mapping for pluginClassLoader in PluginDto")
}
override val moduleName: String?
get() = throw UnsupportedOperationException("No direct mapping for moduleName in PluginDto")
override val moduleLoadingRule: ModuleLoadingRule
get() = throw UnsupportedOperationException("No direct mapping for moduleLoadingRule in PluginDto")
override val incompatiblePlugins: List<PluginId>
get() = throw UnsupportedOperationException("No direct mapping for incompatiblePlugins in PluginDto")
override val pluginAliases: List<PluginId>
get() = throw UnsupportedOperationException("No direct mapping for pluginAliases in PluginDto")
override val moduleDependencies: ModuleDependencies
get() = throw UnsupportedOperationException("No direct mapping for moduleDependencies in PluginDto")
override val packagePrefix: String?
get() = throw UnsupportedOperationException("No direct mapping for packagePrefix in PluginDto")
override val contentModules: List<ContentModule>
get() = throw UnsupportedOperationException("No direct mapping for contentModules in PluginDto")
override val appContainerDescriptor: ContainerDescriptor
get() = throw UnsupportedOperationException("No direct mapping for appContainerDescriptor in PluginDto")
override val projectContainerDescriptor: ContainerDescriptor
get() = throw UnsupportedOperationException("No direct mapping for projectContainerDescriptor in PluginDto")
override val moduleContainerDescriptor: ContainerDescriptor
get() = throw UnsupportedOperationException("No direct mapping for moduleContainerDescriptor in PluginDto")
override val extensions: Map<String, List<ExtensionDescriptor>>
get() = throw UnsupportedOperationException("No direct mapping for extensions in PluginDto")
override val actions: List<ActionElement>
get() = throw UnsupportedOperationException("No direct mapping for actions in PluginDto")
override val isUseIdeaClassLoader: Boolean
get() = throw UnsupportedOperationException("No direct mapping for isUseIdeaClassLoader in PluginDto")
override val isIndependentFromCoreClassLoader: Boolean
get() = throw UnsupportedOperationException("No direct mapping for isIndependentFromCoreClassLoader in PluginDto")
override val useCoreClassLoader: Boolean
get() = throw UnsupportedOperationException("No direct mapping for useCoreClassLoader in PluginDto")
override var isMarkedForLoading: Boolean = pluginDto.isEnabled
@Deprecated("Deprecated in Java")
override fun isEnabled(): Boolean = pluginDto.isEnabled
@Deprecated("Deprecated in Java")
override fun setEnabled(enabled: Boolean) {
// Cannot modify the PluginDto directly here
isMarkedForLoading = enabled
throw UnsupportedOperationException("Write operations are not allowed here")
}
override fun toString(): String =
"PluginDtoDescriptorWrapper(name=${getName()}, id=${getPluginId()}, version=${getVersion()}, isBundled=${isBundled()})"
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (other !is IdeaPluginDescriptorEx) return false
return getPluginId() == other.pluginId
}
override fun hashCode(): Int = getPluginId().hashCode()
}
@@ -4,6 +4,7 @@ package com.intellij.ide.plugins.marketplace
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
import com.fasterxml.jackson.annotation.JsonProperty
import com.intellij.ide.plugins.PluginNode
import com.intellij.ide.plugins.PluginNodeVendorDetails
import com.intellij.ide.plugins.RepositoryHelper
import com.intellij.ide.plugins.advertiser.PluginData
import com.intellij.ide.plugins.newui.PluginUiModel
@@ -30,7 +31,7 @@ data class IdeCompatibleUpdate(
val externalPluginId: String = "",
@get:JsonProperty("pluginXmlId")
val pluginId: String = "",
val version: String = ""
val version: String = "",
)
/**
@@ -55,7 +56,7 @@ data class IntellijUpdateMetadata(
val until: String? = null,
val productCode: String? = null,
val url: String? = null,
val size: Int = 0
val size: Int = 0,
) {
fun toUiModel(): PluginUiModel {
val pluginId = PluginId.getId(id)
@@ -107,7 +108,7 @@ class MarketplaceSearchPluginData(
val externalPluginId: String? = null,
val downloads: String = "",
@get:JsonProperty("nearestUpdate")
val nearestUpdate: NearestUpdate? = null
val nearestUpdate: NearestUpdate? = null,
) {
fun toPluginNode(): PluginNode {
val pluginNode = PluginNode(PluginId.getId(id))
@@ -130,7 +131,7 @@ class MarketplaceSearchPluginData(
builder.setName(name)
builder.setRating("%.2f".format(Locale.US, rating))
builder.setDownloads(downloads)
builder.setOrganization(organization)
builder.setVendorDetails(organization)
builder.setExternalPluginId(externalPluginId)
builder.setExternalUpdateId(externalUpdateId ?: nearestUpdate?.id)
builder.setIsPaid(isPaid)
@@ -159,7 +160,7 @@ class NearestUpdate(
@get:JsonProperty("updateCompatibility")
val updateCompatibility: Map<String, Long> = emptyMap(),
@get:JsonProperty("isCompatible")
val compatible: Boolean = true
val compatible: Boolean = true,
)
/**
@@ -205,7 +206,7 @@ internal class MarketplaceBrokenPlugin(
val since: String? = null,
val until: String? = null,
val originalSince: String? = null,
val originalUntil: String? = null
val originalUntil: String? = null,
)
@Serializable
@@ -217,7 +218,7 @@ data class PluginReviewComment(
val comment: @Nls String = "",
val rating: Int = 0,
val author: ReviewCommentAuthor = ReviewCommentAuthor(),
val plugin: ReviewCommentPlugin = ReviewCommentPlugin()
val plugin: ReviewCommentPlugin = ReviewCommentPlugin(),
) {
fun getDate(): Long = parseLong(cdate, 0)
}
@@ -226,14 +227,14 @@ data class PluginReviewComment(
@ApiStatus.Internal
@JsonIgnoreProperties(ignoreUnknown = true)
data class ReviewCommentAuthor(
val name: @Nls String = ""
val name: @Nls String = "",
)
@Serializable
@ApiStatus.Internal
@JsonIgnoreProperties(ignoreUnknown = true)
data class ReviewCommentPlugin(
val link: @Nls String = ""
val link: @Nls String = "",
)
@Serializable
@@ -241,7 +242,7 @@ data class ReviewCommentPlugin(
@JsonIgnoreProperties(ignoreUnknown = true)
data class SalesMetadata(
val trialPeriod: Int? = null,
val customTrialPeriods: List<CustomTrialPeriod>? = null
val customTrialPeriods: List<CustomTrialPeriod>? = null,
)
@Serializable
@@ -249,7 +250,7 @@ data class SalesMetadata(
@JsonIgnoreProperties(ignoreUnknown = true)
data class CustomTrialPeriod(
@JsonProperty("productCode") val productCode: String,
@JsonProperty("trialPeriod") val trialPeriod: Int
@JsonProperty("trialPeriod") val trialPeriod: Int,
)
@Serializable
@@ -264,7 +265,7 @@ data class IntellijPluginMetadata(
val documentationUrl: String? = null,
val sourceCodeUrl: String? = null,
val reportPluginUrl: String? = null,
val salesInfo: SalesMetadata? = null
val salesInfo: SalesMetadata? = null,
) {
fun toPluginNode(pluginNode: PluginNode) {
@@ -283,32 +284,31 @@ data class IntellijPluginMetadata(
pluginNode.sourceCodeUrl = sourceCodeUrl
pluginNode.reportPluginUrl = reportPluginUrl
pluginNode.defaultTrialPeriod = salesInfo?.trialPeriod
pluginNode.setCustomTrialPeriodMap(salesInfo?.customTrialPeriods?.associate {
p -> p.productCode to p.trialPeriod
pluginNode.setCustomTrialPeriodMap(salesInfo?.customTrialPeriods?.associate { p ->
p.productCode to p.trialPeriod
})
}
@ApiStatus.Internal
fun toPluginUiModel(model: PluginUiModel) {
if (vendor != null) {
model.verifiedName = vendor.name
model.isVerified = vendor.verified
model.isTrader = vendor.trader
val details = PluginNodeVendorDetails(vendor.name, vendor.url, vendor.trader, vendor.verified)
model.vendorDetails = details
}
model.forumUrl = forumUrl
model.licenseUrl = licenseUrl
model.bugtrackerUrl = bugtrackerUrl
model.documentationUrl = documentationUrl
model.sourceCodeUrl = sourceCodeUrl
model.reportPluginUrl = reportPluginUrl
screenshots?.let { model.screenShots = it }
model.defaultTrialPeriod = salesInfo?.trialPeriod
model.customTrialPeriods = salesInfo?.customTrialPeriods?.associate {
p -> p.productCode to p.trialPeriod
model.customTrialPeriods = salesInfo?.customTrialPeriods?.associate { p ->
p.productCode to p.trialPeriod
}
}
}
@@ -322,5 +322,5 @@ data class PluginVendorMetadata(
@get:JsonProperty("isTrader")
val trader: Boolean = false,
@get:JsonProperty("isVerified")
val verified: Boolean = false
val verified: Boolean = false,
)
@@ -402,7 +402,7 @@ object DefaultUiPluginManagerController : UiPluginManagerController {
for (pluginId in requiredPluginIds) {
var result: IdeaPluginDescriptor? = plugins.find { pluginId == it.pluginId }
if (result == null && looksLikePlatformPluginAlias(pluginId)) {
result = plugins.find { it is IdeaPluginDescriptorEx && it.pluginAliases.contains(pluginId) }
result = plugins.find { it is IdeaPluginDescriptorImpl && it.pluginAliases.contains(pluginId) }
if (result != null) {
session.pluginStates[pluginId] = PluginEnabledState.ENABLED
pluginsToEnable.add(pluginId)
@@ -1,16 +1,15 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.ide.plugins.newui
import com.intellij.ide.plugins.PluginDependency
import com.intellij.ide.plugins.PluginNodeVendorDetails
import com.intellij.ide.plugins.api.PluginDto
import com.intellij.openapi.extensions.PluginId
import org.jetbrains.annotations.ApiStatus
import java.text.SimpleDateFormat
import java.util.Date
import java.util.Locale
@ApiStatus.Internal
class PluginDtoModelBuilder(pluginId: PluginId): PluginUiModelBuilder {
class PluginDtoModelBuilder(pluginId: PluginId) : PluginUiModelBuilder {
private val resultDto = PluginDto(null, pluginId)
override fun setId(id: String): PluginDtoModelBuilder {
@@ -103,7 +102,8 @@ class PluginDtoModelBuilder(pluginId: PluginId): PluginUiModelBuilder {
try {
val format = SimpleDateFormat("yyyy-MM-dd", Locale.US)
resultDto.date = format.parse(date).time
} catch (e: Exception) {
}
catch (e: Exception) {
// If date parsing fails, leave date as 0
}
return this
@@ -132,11 +132,6 @@ class PluginDtoModelBuilder(pluginId: PluginId): PluginUiModelBuilder {
return this
}
override fun setOrganization(string: String?): PluginUiModelBuilder {
resultDto.organization = string
return this
}
override fun setIsConverted(converted: Boolean): PluginUiModelBuilder {
resultDto.isConverted = converted
return this
@@ -177,6 +172,13 @@ class PluginDtoModelBuilder(pluginId: PluginId): PluginUiModelBuilder {
return this
}
override fun setVendorDetails(organization: String?): PluginUiModelBuilder {
if (organization != null) {
resultDto.vendorDetails = PluginNodeVendorDetails(organization)
}
return this
}
override fun build(): PluginUiModel {
return resultDto
}
@@ -79,6 +79,11 @@ class PluginNodeModelBuilder(private val pluginId: PluginId) : PluginUiModelBuil
return this
}
override fun setVendorDetails(organization: String?): PluginUiModelBuilder {
pluginNode.setVendorDetails(organization)
return this
}
override fun setSize(size: String?): PluginUiModelBuilder {
if (size != null) pluginNode.size = size
return this
@@ -130,11 +135,6 @@ class PluginNodeModelBuilder(private val pluginId: PluginId) : PluginUiModelBuil
return this
}
override fun setOrganization(string: String?): PluginUiModelBuilder {
pluginNode.organization = string
return this
}
override fun setIsConverted(converted: Boolean): PluginUiModelBuilder {
pluginNode.isConverted = converted
return this
@@ -3,6 +3,7 @@ package com.intellij.ide.plugins.newui
import com.intellij.ide.plugins.IdeaPluginDescriptor
import com.intellij.ide.plugins.PluginManagerConfigurable
import com.intellij.ide.plugins.PluginNodeVendorDetails
import com.intellij.ide.plugins.api.ReviewsPageContainer
import com.intellij.ide.plugins.getTags
import com.intellij.openapi.extensions.PluginId
@@ -80,15 +81,10 @@ interface PluginUiModel {
@get:NlsSafe
var reportPluginUrl: String?
@get:NlsSafe
var verifiedName: String?
var isVerified: Boolean
var isTrader: Boolean
var reviewComments: ReviewsPageContainer?
var screenShots: List<String>?
var externalPluginIdForScreenShots: String?
var vendorDetails: PluginNodeVendorDetails?
@get:NlsSafe
var downloadUrl: String?
@@ -9,6 +9,7 @@ import com.intellij.ide.plugins.PluginManagementPolicy
import com.intellij.ide.plugins.PluginManagerCore
import com.intellij.ide.plugins.PluginManagerCore.getUnfulfilledOsRequirement
import com.intellij.ide.plugins.PluginNode
import com.intellij.ide.plugins.PluginNodeVendorDetails
import com.intellij.ide.plugins.api.ReviewsPageContainer
import com.intellij.ide.plugins.marketplace.PluginReviewComment
import com.intellij.openapi.extensions.PluginId
@@ -122,28 +123,14 @@ class PluginUiModelAdapter(
pluginDescriptor.reportPluginUrl = value
}
}
override var verifiedName: String?
get() = if (pluginDescriptor is PluginNode) pluginDescriptor.verifiedName else null
override var vendorDetails: PluginNodeVendorDetails?
get() = if(pluginDescriptor is PluginNode) pluginDescriptor.vendorDetails else null
set(value) {
if (pluginDescriptor is PluginNode) {
pluginDescriptor.verifiedName = value
}
}
override var isVerified: Boolean
get() = if (pluginDescriptor is PluginNode) pluginDescriptor.isVerified else false
set(value) {
if (pluginDescriptor is PluginNode) {
pluginDescriptor.isVerified = value
pluginDescriptor.vendorDetails = value
}
}
override var isTrader: Boolean
get() = if (pluginDescriptor is PluginNode) pluginDescriptor.isTrader else false
set(value) {
if (pluginDescriptor is PluginNode) {
pluginDescriptor.isTrader = value
}
}
override var screenShots: List<String>?
get() = if (pluginDescriptor is PluginNode) pluginDescriptor.screenShots else null
set(value) {
@@ -1,7 +1,6 @@
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.ide.plugins.newui
import com.intellij.ide.plugins.PluginDependency
import com.intellij.openapi.extensions.PluginId
import com.intellij.openapi.util.registry.Registry
import org.jetbrains.annotations.ApiStatus
@@ -34,7 +33,6 @@ interface PluginUiModelBuilder {
fun addDependency(id: String, optional: Boolean): PluginUiModelBuilder
fun addTag(tag: String): PluginUiModelBuilder
fun setIncomplete(incomplete: Boolean): PluginUiModelBuilder
fun setOrganization(string: String?): PluginUiModelBuilder
fun setIsConverted(converted: Boolean): PluginUiModelBuilder
fun setIsPaid(isPaid: Boolean): PluginUiModelBuilder
fun setIsFromMarketPlace(isFromMarketPlace: Boolean): PluginUiModelBuilder
@@ -43,6 +41,7 @@ interface PluginUiModelBuilder {
fun setTags(tags: List<String>?): PluginUiModelBuilder
fun setDate(date: Long): PluginUiModelBuilder
fun setRepositoryName(repositoryName: String): PluginUiModelBuilder
fun setVendorDetails(organization: String?): PluginUiModelBuilder
fun build(): PluginUiModel
}
@@ -121,7 +121,7 @@ final class PluginUpdateDialog extends DialogWrapper {
node.setChangeNotes(model.getChangeNotes());
node.setVersion(model.getVersion());
node.setVendor(model.getVendor());
node.setVendorDetails(descriptor.getOrganization())
node.setVendorDetails(model.getOrganization());
List<PluginDependencyImpl> dependencies =
ContainerUtil.map(model.getDependencies(), it -> new PluginDependencyImpl(it.getPluginId(), null, it.isOptional()));
node.setDependencies(dependencies);
@@ -332,7 +332,7 @@ open class PluginAdvertiserServiceImpl(
.map { getSuggestionReason(it) }
if (suggestedFeatures.isNotEmpty()) {
(descriptor as PluginNode).suggestedFeatures = suggestedFeatures
(descriptor.getDescriptor() as? PluginNode)?.suggestedFeatures = suggestedFeatures
}
}
}
@@ -365,7 +365,6 @@ open class PluginAdvertiserServiceImpl(
.setVersion(descriptor.version)
.setVendor(descriptor.vendor)
.setVendorDetails(descriptor.organization)
.setDependencies(descriptor.dependencies)
.setIsConverted(true)
descriptor.dependencies.forEach { builder.addDependency(it.pluginId.idString, it.isOptional) }
@@ -9,8 +9,8 @@
<compilerArguments>
<stringArguments>
<stringArg name="jvmTarget" arg="17" />
<stringArg name="apiVersion" arg="2.1" />
<stringArg name="languageVersion" arg="2.1" />
<stringArg name="apiVersion" arg="2.2" />
<stringArg name="languageVersion" arg="2.2" />
</stringArguments>
<arrayArguments>
<arrayArg name="pluginClasspaths">
@@ -9,8 +9,8 @@
<compilerArguments>
<stringArguments>
<stringArg name="jvmTarget" arg="17" />
<stringArg name="apiVersion" arg="2.1" />
<stringArg name="languageVersion" arg="2.1" />
<stringArg name="apiVersion" arg="2.2" />
<stringArg name="languageVersion" arg="2.2" />
</stringArguments>
<arrayArguments>
<arrayArg name="pluginClasspaths">
@@ -9,8 +9,8 @@
<compilerArguments>
<stringArguments>
<stringArg name="jvmTarget" arg="17" />
<stringArg name="apiVersion" arg="2.1" />
<stringArg name="languageVersion" arg="2.1" />
<stringArg name="apiVersion" arg="2.2" />
<stringArg name="languageVersion" arg="2.2" />
</stringArguments>
<arrayArguments>
<arrayArg name="pluginClasspaths">