-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
91 lines (73 loc) · 2.1 KB
/
Copy pathbuild.gradle.kts
File metadata and controls
91 lines (73 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
plugins {
id("java")
id("org.jetbrains.kotlin.jvm") version "1.9.25"
id("org.jetbrains.intellij.platform") version "2.3.0"
}
group = "com.intfloatbool"
version = "1.0"
kotlin {
jvmToolchain(21)
}
repositories {
mavenCentral()
intellijPlatform {
defaultRepositories()
}
}
// Configure Gradle IntelliJ Plugin
// Read more: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin.html
dependencies {
intellijPlatform {
create("IC", "2024.2.5")
//intellijIdeaCommunity("2024.2.1")
// testFramework(org.jetbrains.intellij.platform.gradle.TestFrameworkType.Platform)
// Add necessary plugin dependencies for compilation here, example:
bundledPlugin("com.intellij.java")
bundledPlugin("org.jetbrains.kotlin")
}
implementation("io.github.tree-sitter:ktreesitter:0.24.1")
// jna уже есть в клиенте jetbrains (поэтому complieOnly), иначе будетjava.lang.NoClassDefFoundError
compileOnly("net.java.dev.jna:jna:5.13.0")
testImplementation(kotlin("test"))
testImplementation("org.jetbrains.kotlin:kotlin-test-junit5")
testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.0")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.0")
}
intellijPlatform {
pluginConfiguration {
ideaVersion {
sinceBuild = "241"
}
changeNotes = """
Initial version
""".trimIndent()
}
}
tasks {
// Set the JVM compatibility versions
withType<JavaCompile> {
sourceCompatibility = "21"
targetCompatibility = "21"
}
withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions.jvmTarget = "21"
}
}
tasks.test {
useJUnitPlatform()
}
tasks.processResources {
from("src/main/resources/lib") {
into("lib")
}
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
tasks {
patchPluginXml {
sinceBuild.set("241")
untilBuild.set("999.*") // или просто убери
}
buildPlugin {
dependsOn(patchPluginXml)
}
}