You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.8 KiB
49 lines
1.8 KiB
import org.gradle.api.Project |
|
import org.gradle.kotlin.dsl.named |
|
import org.jetbrains.intellij.IntelliJPluginExtension |
|
import org.jetbrains.intellij.tasks.PatchPluginXmlTask |
|
import org.jetbrains.intellij.tasks.PublishPluginTask |
|
import org.jetbrains.intellij.tasks.RunPluginVerifierTask |
|
|
|
/* |
|
* Copyright 2020-2022 JetBrains s.r.o. and respective authors and developers. |
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file. |
|
*/ |
|
|
|
fun Project.intellijPlugin(group: String, fn: IntelliJPluginExtension.() -> Unit = {}) { |
|
plugins.apply("org.jetbrains.intellij") |
|
|
|
val idePluginProperties = IdePluginBuildProperties(project) |
|
project.group = group |
|
project.version = idePluginProperties.deployVersion.get() |
|
|
|
val intellij = project.extensions.getByType(IntelliJPluginExtension::class.java) |
|
intellij.apply { |
|
pluginName.set(idePluginProperties.pluginName) |
|
type.set(idePluginProperties.platformType) |
|
version.set(idePluginProperties.platformVersion) |
|
downloadSources.set(idePluginProperties.platformDownloadSources) |
|
plugins.set(idePluginProperties.pluginDependencies) |
|
} |
|
|
|
fn(intellij) |
|
|
|
tasks.named("buildSearchableOptions").configure { |
|
// temporary workaround |
|
enabled = false |
|
} |
|
|
|
tasks.named<PublishPluginTask>("publishPlugin").configure { |
|
token.set(idePluginProperties.publishToken) |
|
channels.set(idePluginProperties.pluginChannels) |
|
} |
|
|
|
tasks.named<PatchPluginXmlTask>("patchPluginXml").configure { |
|
sinceBuild.set(idePluginProperties.pluginSinceBuild) |
|
untilBuild.set(idePluginProperties.pluginUntilBuild) |
|
} |
|
|
|
tasks.named<RunPluginVerifierTask>("runPluginVerifier").configure { |
|
ideVersions.set(idePluginProperties.pluginVerifierIdeVersions) |
|
} |
|
} |