plugins { id 'java' id 'org.jetbrains.intellij' version '1.14.1' } group = "com.codemp" version = "1.0-SNAPSHOT" java { sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17 } repositories { mavenCentral() } // Configure Gradle IntelliJ Plugin // Read more: https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html intellij { version.set("2022.2.5") type.set("IC") // Target IDE Platform //plugins.set(listOf(/* Plugin Dependencies */)) } tasks { patchPluginXml { sinceBuild.set("222") untilBuild.set("232.*") } 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")) } } //define rust tasks def jniSourcesFolder = 'src/main/java/com/codemp/intellij/jni' tasks.register('cargoBuild', Exec) { workingDir '.' commandLine 'cargo', 'build' } compileJava.dependsOn cargoBuild tasks.register('prepareJniFolder') { mkdir jniSourcesFolder } cargoBuild.dependsOn prepareJniFolder tasks.register('cargoClean', Exec) { workingDir '.' commandLine 'cargo', 'clean' } clean.dependsOn cargoClean tasks.register('deleteGeneratedNativeInterface', Delete) { delete jniSourcesFolder } cargoClean.dependsOn deleteGeneratedNativeInterface