Skip to content

Commit fb531fc

Browse files
authored
chore: Enable test coverage (#14)
1 parent 5adf0be commit fb531fc

File tree

3 files changed

+56
-36
lines changed

3 files changed

+56
-36
lines changed

.github/workflows/pr.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
distribution: 'temurin'
2323

2424
- name: Build the plugin using Gradle
25-
run: ./gradlew buildPlugin
25+
run: ./gradlew check buildPlugin
2626

2727
- name: Upload artifacts
2828
uses: actions/upload-artifact@v4
@@ -39,11 +39,16 @@ jobs:
3939
strategy:
4040
matrix:
4141
ide-version:
42+
- clion:2024.1
43+
- goland:2024.1
4244
- ideaIC:2024.1
45+
- ideaIC:LATEST-EAP-SNAPSHOT
4346
- ideaIU:2024.1
44-
- goland:2024.1
47+
- phpstorm:2024.1
48+
- pycharmPC:2024.1
49+
- pycharmPY:2024.1
4550
- riderRD:2024.1
46-
- ideaIC:LATEST-EAP-SNAPSHOT
51+
- webstorm:2024.1
4752
steps:
4853
- name: Check out repository
4954
uses: actions/checkout@v4

build.gradle.kts

Lines changed: 47 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
1-
21
plugins {
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

119
group = "dev.openfga.intellijplugin"
1210
version = "0.1.0"
11+
sourceSets["main"].java.srcDirs("src/main/java", "src/generated/java")
1312

1413
repositories {
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
3227
intellij {
@@ -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
}

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ org.gradle.caching=true
77

88
pluginGroup=dev.openfga.intellijplugin
99
pluginName=OpenFgaIntellijPlugin
10-
pluginVersion=0.0.1
10+
pluginVersion=0.1.0

0 commit comments

Comments
 (0)