build.gradle.kts (50 lines of code) (raw):
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
id("java")
id("org.jetbrains.kotlin.jvm") version "2.1.21"
id("org.jetbrains.intellij.platform") version "2.6.0"
}
group = "org.intellij.sdk"
version = "0.3.13"
repositories {
mavenCentral()
intellijPlatform { // adds the JetBrains repositories the plugin needs
defaultRepositories()
}
}
dependencies {
intellijPlatform {
intellijIdeaCommunity("2024.3.6")
bundledPlugin("com.intellij.java")
bundledPlugin("org.jetbrains.kotlin")
}
implementation(project(":core"))
implementation(project(":nasm"))
implementation("com.github.zhkl0228:capstone:3.1.8") {
exclude(group = "net.java.dev.jna", module = "jna")
exclude(group = "org.scijava", module = "native-lib-loader")
}
}
tasks {
withType<JavaCompile>().configureEach {
sourceCompatibility = "17"
targetCompatibility = "17"
}
withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach {
compilerOptions.jvmTarget = JvmTarget.JVM_17
}
patchPluginXml {
sinceBuild.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"))
}
runIde {
jvmArgs("-Xmx14G", "-Xms2G", "-XX:+AllowEnhancedClassRedefinition", "-Djna.debug_load=true", "-Djna.debug_load.jna=true")
}
}