codemp-intellij/build.gradle

77 lines
1.6 KiB
Groovy

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