| import org.jetbrains.intellij.pluginRepository.PluginRepositoryInstance |
| |
| buildscript { |
| repositories { |
| mavenCentral() |
| maven("https://dl.bintray.com/jetbrains/intellij-plugin-service") |
| } |
| |
| dependencies { |
| classpath("org.jetbrains.intellij:plugin-repository-rest-client:0.4.32") |
| } |
| } |
| |
| task("uploadPlugins") { |
| doLast { |
| val kotlinPluginId = 6954 |
| val channel = (project.findProperty("plugins.repository.channel") as String?) |
| ?.let { if (it == "_default_") null else it } |
| val path = project.findProperty("plugins.path") as String? ?: "." |
| val token = project.property("plugins.repository.token") as String |
| |
| val repo = PluginRepositoryInstance("https://plugins.jetbrains.com/", token) |
| |
| val pluginFiles = File(path) |
| .listFiles { _, fileName -> |
| fileName.toLowerCase().let { |
| it.startsWith("kotlin-plugin") && |
| it.endsWith(".zip") && |
| // don't publish CIDR plugins to IDEA channel |
| !it.contains("clion") && |
| !it.contains("appcode") |
| } |
| } |
| |
| pluginFiles |
| ?.sorted() |
| ?.forEach { pluginFile -> |
| println("Uploading ${pluginFile.name}") |
| repo.uploadPlugin(kotlinPluginId, pluginFile, channel) |
| } |
| } |
| } |