plugins { id 'java' id 'org.jetbrains.intellij' version '1.16.0' } group = "com.codemp" version = "1.0-SNAPSHOT" java { sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17 } repositories { mavenCentral() maven { url "https://jitpack.io" } } dependencies { implementation 'com.github.adamheinrich:native-utils:master-SNAPSHOT' implementation 'org.slf4j:slf4j-api:2.0.9' implementation 'ch.qos.logback:logback-classic:1.4.6' } // 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 tasks.register('cargoBuild', Exec) { workingDir '.' commandLine 'cargo', 'build' } compileJava.dependsOn cargoBuild tasks.register('copyBinary', Copy) { from "target/debug" into "src/main/resources" include "*.so", "*.dll" dependsOn cargoBuild } patchPluginXml.dependsOn copyBinary tasks.register('deleteGeneratedNativeInterface', Delete) { delete 'src/main/java/com/codemp/intellij/jni' } tasks.register('cargoClean', Exec) { workingDir '.' commandLine 'cargo', 'clean' dependsOn deleteGeneratedNativeInterface } clean.dependsOn cargoClean