1-
21plugins {
32 id(" java" )
3+ id(" jacoco" )
44 id(" org.jetbrains.kotlin.jvm" ) version " 1.9.24"
55 id(" org.jetbrains.intellij" ) version " 1.17.3"
66 id(" org.jetbrains.grammarkit" ) version " 2022.3.2"
7-
8- id(" jacoco" )
97}
108
119group = " dev.openfga.intellijplugin"
1210version = " 0.1.0"
11+ sourceSets[" main" ].java.srcDirs(" src/main/java" , " src/generated/java" )
1312
1413repositories {
1514 mavenCentral()
@@ -23,10 +22,6 @@ dependencies {
2322 testImplementation(" junit:junit:4.13.2" )
2423}
2524
26-
27- sourceSets[" main" ].java.srcDirs(" src/generated/java" , " src/main/java" )
28-
29-
3025// Configure Gradle IntelliJ Plugin
3126// Read more: https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
3227intellij {
@@ -42,23 +37,23 @@ grammarKit {
4237 intellijRelease.set(" 203.7717.81" )
4338}
4439
45- tasks {
40+ tasks.withType< org.jetbrains.kotlin.gradle.tasks.KotlinCompile > ().configureEach {
41+ kotlinOptions {
42+ jvmTarget = " 17"
43+ }
44+ }
4645
47- compileJava {
46+ tasks.withType<JavaCompile >().configureEach {
47+ options.encoding = " UTF-8"
48+ sourceCompatibility = " 17"
49+ targetCompatibility = " 17"
50+ dependsOn(" generateLexer" , " generateParser" )
51+ }
4852
49- dependsOn(
50- generateLexer,
51- generateParser,
52- )
53- }
53+ tasks {
5454
55- // Set the JVM compatibility versions
56- withType<JavaCompile > {
57- sourceCompatibility = " 17"
58- targetCompatibility = " 17"
59- }
60- withType< org.jetbrains.kotlin.gradle.tasks.KotlinCompile > {
61- kotlinOptions.jvmTarget = " 17"
55+ check {
56+ dependsOn(jacocoTestReport)
6257 }
6358
6459 generateLexer {
@@ -71,13 +66,41 @@ tasks {
7166 generateParser {
7267 sourceFile.set(file(" src/main/java/dev/openfga/intellijplugin/parsing/openfga.bnf" ))
7368 targetRoot.set(" src/generated/java" )
74- pathToParser.set(" dev/openfga/intellijplugin/parsing/RustParser .java" )
69+ pathToParser.set(" dev/openfga/intellijplugin/parsing/OpenFGAParser .java" )
7570 pathToPsiRoot.set(" dev/openfga/intellijplugin/psi" )
7671 purgeOldFiles.set(true )
7772 }
7873
74+ test {
75+ useJUnit()
76+
77+ configure<JacocoTaskExtension > {
78+ isEnabled = true
79+ isIncludeNoLocationClasses = true
80+ excludes = listOf (" jdk.internal.*" )
81+ }
82+
83+ testLogging {
84+ showStandardStreams = true
85+ events(" PASSED" , " SKIPPED" , " FAILED" , " STANDARD_OUT" , " STANDARD_ERROR" )
86+ }
87+ }
88+
89+ jacocoTestReport {
90+ classDirectories.setFrom(instrumentCode)
91+
92+ reports {
93+ xml.required = true
94+ html.required = true
95+ }
96+ }
97+
98+ jacocoTestCoverageVerification {
99+ classDirectories.setFrom(instrumentCode)
100+ }
101+
79102 patchPluginXml {
80- sinceBuild.set(" 222 " )
103+ sinceBuild.set(" 233 " )
81104 untilBuild.set(" 241.*" )
82105 }
83106
@@ -88,14 +111,6 @@ tasks {
88111 }
89112
90113 publishPlugin {
91- token.set(System .getenv(" PUBLISH_TOKEN" ))
92- }
93-
94- test {
95- finalizedBy(jacocoTestReport)
96- }
97-
98- jacocoTestReport {
99- dependsOn(test)
114+ token.set(System .getenv(" JETBRAINS_API_TOKEN" ))
100115 }
101116}
0 commit comments