mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-30 02:07:50 +08:00
tools_intellij_platform_gradle_plugin_recipes.md: Resolve plugin from JetBrains Marketplace in the latest compatible version
This commit is contained in:
parent
a84ea7040b
commit
2487bfcbb8
@ -319,18 +319,20 @@ val IntelliJPlatformDependenciesExtension.pluginRepository by lazy {
|
|||||||
PluginRepositoryFactory.create("https://plugins.jetbrains.com")
|
PluginRepositoryFactory.create("https://plugins.jetbrains.com")
|
||||||
}
|
}
|
||||||
|
|
||||||
fun IntelliJPlatformDependenciesExtension.pluginInLatestCompatibleVersion(vararg pluginId: String) =
|
fun IntelliJPlatformDependenciesExtension.pluginsInLatestCompatibleVersion(vararg pluginIds: String) =
|
||||||
plugin(provider {
|
plugins(provider {
|
||||||
val platformType = intellijPlatform.productInfo.productCode
|
pluginIds.map { pluginId ->
|
||||||
val platformVersion = intellijPlatform.productInfo.buildNumber
|
val platformType = intellijPlatform.productInfo.productCode
|
||||||
|
val platformVersion = intellijPlatform.productInfo.buildNumber
|
||||||
|
|
||||||
val plugin = pluginRepository.pluginManager.searchCompatibleUpdates(
|
val plugin = pluginRepository.pluginManager.searchCompatibleUpdates(
|
||||||
build = "$platformType-$platformVersion",
|
build = "$platformType-$platformVersion",
|
||||||
xmlIds = listOf(pluginId),
|
xmlIds = listOf(pluginId),
|
||||||
).firstOrNull()
|
).firstOrNull()
|
||||||
?: throw GradleException("No plugin update with id='$pluginId' compatible with '$platformType-$platformVersion' found in JetBrains Marketplace")
|
?: throw GradleException("No plugin update with id='$pluginId' compatible with '$platformType-$platformVersion' found in JetBrains Marketplace")
|
||||||
|
|
||||||
"${plugin.pluginXmlId}:${plugin.version}"
|
"${plugin.pluginXmlId}:${plugin.version}"
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
@ -338,7 +340,7 @@ dependencies {
|
|||||||
|
|
||||||
intellijPlatform {
|
intellijPlatform {
|
||||||
// ...
|
// ...
|
||||||
pluginInLatestCompatibleVersion("org.coffeescript")
|
pluginsInLatestCompatibleVersion("org.coffeescript", ...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Loading…
x
Reference in New Issue
Block a user