-
Notifications
You must be signed in to change notification settings - Fork 2
/
build.gradle
103 lines (84 loc) · 2.53 KB
/
build.gradle
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
import org.jetbrains.intellij.platform.gradle.IntelliJPlatformType
import org.jetbrains.intellij.platform.gradle.models.ProductRelease
plugins {
id 'org.jetbrains.intellij.platform' version '2.1.0'
id 'org.jetbrains.kotlin.jvm' version '1.9.22'
id 'org.jetbrains.grammarkit' version '2022.3.2.2'
id 'idea'
}
group 'com.mdrobnak'
version '0.2.15'
repositories {
mavenCentral()
intellijPlatform {
defaultRepositories()
}
}
dependencies {
implementation 'io.sentry:sentry:7.16.0'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2'
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.8.2'
intellijPlatform {
// Test with a recent EAP or release
clion("243.20847.43")
plugin 'com.jetbrains.rust:243.20847.53'
pluginVerifier()
instrumentationTools()
}
}
// Add the generated source files into the build
sourceSets.main.java.srcDirs 'src/main/gen'
idea.module.generatedSourceDirs.add(file('src/main/gen'))
generateLexer {
sourceFile = file("src/main/grammars/LalrpopLexer.flex")
targetOutputDir = file("src/main/gen/com/mdrobnak/lalrpop/lexer")
targetClass = "LalrpopLexer"
purgeOldFiles = true
}
generateParser {
sourceFile = file("src/main/grammars/LalrpopParser.bnf")
targetRootOutputDir = file("src/main/gen/")
pathToParser = "/com/mdrobnak/lalrpop/parser/LalrpopParser.java"
pathToPsiRoot = "/com/mdrobnak/lalrpop/psi"
purgeOldFiles = true
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellijPlatform {
// This is really flaky and we probably don't need it
buildSearchableOptions = false
pluginConfiguration {
ideaVersion {
// Support 2024.2+ IDEs
sinceBuild = "242"
}
}
publishing {
token = System.getenv("ORG_GRADLE_PROJECT_intellijPublishToken")
}
pluginVerification {
ides {
select {
it.types = [
IntelliJPlatformType.RustRover,
IntelliJPlatformType.CLion,
IntelliJPlatformType.IntellijIdeaUltimate
]
it.sinceBuild = "242"
it.untilBuild = "243.*"
it.channels = [ProductRelease.Channel.RELEASE, ProductRelease.Channel.EAP]
}
}
}
}
kotlin {
jvmToolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
compileKotlin {
dependsOn(generateLexer, generateParser)
}
test {
useJUnitPlatform()
maxHeapSize = "1G"
}