-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
117 lines (97 loc) · 3.03 KB
/
Copy pathbuild.gradle.kts
File metadata and controls
117 lines (97 loc) · 3.03 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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
import org.jetbrains.grammarkit.tasks.GenerateLexerTask
import org.jetbrains.grammarkit.tasks.GenerateParserTask
plugins {
id("java")
id("org.jetbrains.kotlin.jvm") version "2.1.20"
id("org.jetbrains.intellij.platform") version "2.10.2"
id("org.jetbrains.grammarkit") version "2022.3.2.2"
}
group = "plus.wcj.jetbrains.plugins"
version = run {
LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy.M.d.1HHmmss"))
}
repositories {
mavenCentral()
intellijPlatform {
defaultRepositories()
}
}
apply(from = "tdengine-jdbc-artifacts.gradle.kts")
// Read more: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin.html
dependencies {
testImplementation(kotlin("test"))
testRuntimeOnly("junit:junit:4.13.2")
intellijPlatform {
// Build against IntelliJ IDEA Ultimate 2024.3 (contains Database plugin) to target IDEA/DataGrip 2024.3+.
// intellijIdeaUltimate("2025.2.4")
datagrip("2025.2.4")
// datagrip("2024.3")
bundledPlugin("com.intellij.database")
testFramework(org.jetbrains.intellij.platform.gradle.TestFrameworkType.Platform)
}
}
intellijPlatform {
pluginConfiguration {
ideaVersion {
sinceBuild = "243.0"
untilBuild = provider { null }
}
}
publishing {
token = providers.gradleProperty("intellijPlatformPublishingToken")
}
}
grammarKit {
grammarKitRelease.set("2022.3.2")
jflexRelease.set("1.9.2")
}
sourceSets {
main {
java.srcDir("src/main/gen")
}
}
tasks {
// Set the JVM compatibility versions
withType<JavaCompile> {
sourceCompatibility = "21"
targetCompatibility = "21"
}
named<GenerateLexerTask>("generateLexer") {
sourceFile.set(file("src/main/grammars/Tdengine.flex"))
targetOutputDir.set(file("src/main/gen/plus/wcj/jetbrains/plugins/tdengine/sql/lexer"))
purgeOldFiles.set(true)
outputs.upToDateWhen { false }
}
named<GenerateParserTask>("generateParser") {
sourceFile.set(file("src/main/grammars/Tdengine.bnf"))
targetRootOutputDir.set(file("src/main/gen"))
pathToParser.set("plus/wcj/jetbrains/plugins/tdengine/sql/grammar/TdengineGrammarParser.java")
pathToPsiRoot.set("plus/wcj/jetbrains/plugins/tdengine/sql/grammar/psi")
purgeOldFiles.set(true)
outputs.upToDateWhen { false }
}
named("compileJava") {
dependsOn("generateLexer", "generateParser")
}
named("compileKotlin") {
dependsOn("generateLexer", "generateParser")
}
named("runIde") {
dependsOn("generateLexer", "generateParser")
}
named<Test>("test") {
useJUnitPlatform()
}
}
kotlin {
compilerOptions {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_21)
}
}
val runIdeWithPsiViewer by intellijPlatformTesting.runIde.registering {
plugins {
plugin("PsiViewer", "252.23892.248")
}
}