plugins { id("java") id("org.jetbrains.intellij") version "1.17.3" kotlin("jvm") version "1.9.22" kotlin("plugin.serialization") version "1.9.22" } group = "io.gitlab.jfronny" version = "1.2-SNAPSHOT" repositories { mavenCentral() } // Configure Gradle IntelliJ Plugin // Read more: https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html intellij { version.set("2024.1.1") type.set("CL") // Target IDE Platform plugins.set(listOf(/* Plugin Dependencies */)) } dependencies { implementation("io.ktor:ktor-client-core:2.3.11") implementation("io.ktor:ktor-client-java:2.3.11") implementation("io.ktor:ktor-client-auth:2.3.11") implementation("io.ktor:ktor-client-content-negotiation:2.3.11") implementation("io.ktor:ktor-serialization-kotlinx-json:2.3.11") implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3") } tasks { // Set the JVM compatibility versions withType { sourceCompatibility = "17" targetCompatibility = "17" } withType { kotlinOptions.jvmTarget = "17" } patchPluginXml { sinceBuild.set("241") untilBuild.set("242.*") } signPlugin { certificateChain.set(System.getenv("CERTIFICATE_CHAIN")) privateKey.set(System.getenv("PRIVATE_KEY")) password.set(System.getenv("PRIVATE_KEY_PASSWORD")) } publishPlugin { token.set(System.getenv("PUBLISH_TOKEN")) } run { // workaround for https://youtrack.jetbrains.com/issue/IDEA-285839/Classpath-clash-when-using-coroutines-in-an-unbundled-IntelliJ-plugin buildPlugin { exclude { "coroutines" in it.name } } prepareSandbox { exclude { "coroutines" in it.name } } } }