From d85297839387609ddc24de84b2de784f9bef8ef9 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sat, 4 Jan 2025 13:35:27 +0800 Subject: [PATCH 1/6] Add Issue and IssueExtension --- .../gradle/plugins/shadow/util/Issue.kt | 31 +++++++++++++++++++ .../org.junit.jupiter.api.extension.Extension | 1 + 2 files changed, 32 insertions(+) create mode 100644 src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/util/Issue.kt create mode 100644 src/intiTest/resources/META-INF/services/org.junit.jupiter.api.extension.Extension diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/util/Issue.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/util/Issue.kt new file mode 100644 index 000000000..e7b936358 --- /dev/null +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/util/Issue.kt @@ -0,0 +1,31 @@ +package com.github.jengelman.gradle.plugins.shadow.util + +import org.junit.jupiter.api.Tags +import org.junit.jupiter.api.extension.BeforeEachCallback +import org.junit.jupiter.api.extension.ExtensionContext +import org.junit.jupiter.api.extension.ExtensionContext.Namespace + +/** + * This is related to [spock.lang.Issue](https://github.com/spockframework/spock/blob/master/spock-core/src/main/java/spock/lang/Issue.java) but is used for JUnit 5 tests. + * + * @see [Tags] + */ +@Target(AnnotationTarget.FUNCTION, AnnotationTarget.CLASS) +@Retention(AnnotationRetention.RUNTIME) +annotation class Issue(vararg val values: String) + +class IssueExtension : BeforeEachCallback { + override fun beforeEach(context: ExtensionContext) { + val issueAnnotation = context.requiredTestMethod.getAnnotation(Issue::class.java) ?: return + val store = context.getStore(Namespace.create(IssueExtension::class.java, context.requiredTestClass)) + store.put("tags", issueAnnotation.values.map(::issueLinkToTag)) + } +} + +private fun issueLinkToTag(link: String): String { + return issueLinkRegex.replace(link) { matchResult -> + "ISSUE-${matchResult.groupValues[1]}" + } +} + +private val issueLinkRegex = "https://github\\.com/[^/]+/[^/]+/issues/(\\d+)".toRegex() diff --git a/src/intiTest/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/src/intiTest/resources/META-INF/services/org.junit.jupiter.api.extension.Extension new file mode 100644 index 000000000..fd3002933 --- /dev/null +++ b/src/intiTest/resources/META-INF/services/org.junit.jupiter.api.extension.Extension @@ -0,0 +1 @@ +com.github.jengelman.gradle.plugins.shadow.util.IssueExtension From f1b776b753ecd6e625d95ece7dc608950bcfe207 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sat, 4 Jan 2025 13:39:08 +0800 Subject: [PATCH 2/6] Replace issue links --- .../gradle/plugins/shadow/RelocationTest.kt | 29 ++++++------- .../gradle/plugins/shadow/ShadowPluginTest.kt | 42 ++++++++++--------- 2 files changed, 37 insertions(+), 34 deletions(-) diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/RelocationTest.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/RelocationTest.kt index a80671375..b0e002124 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/RelocationTest.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/RelocationTest.kt @@ -5,6 +5,7 @@ import assertk.assertThat import assertk.assertions.exists import assertk.assertions.isEqualTo import assertk.assertions.isInstanceOf +import com.github.jengelman.gradle.plugins.shadow.util.Issue import java.net.URLClassLoader import java.util.jar.JarFile import kotlin.io.path.appendText @@ -50,9 +51,9 @@ class RelocationTest : BasePluginTest() { ) } - /** - * https://github.com/GradleUp/shadow/issues/58 - */ + @Issue( + "https://github.com/GradleUp/shadow/issues/58", + ) @Test fun relocateDependencyFiles() { projectScriptPath.appendText( @@ -179,10 +180,10 @@ class RelocationTest : BasePluginTest() { ) } - /** - * https://github.com/GradleUp/shadow/issues/53 - * https://github.com/GradleUp/shadow/issues/55 - */ + @Issue( + "https://github.com/GradleUp/shadow/issues/53", + "https://github.com/GradleUp/shadow/issues/55", + ) @Test fun remapClassNamesForRelocatedFilesInProjectSource() { projectScriptPath.appendText( @@ -314,10 +315,10 @@ class RelocationTest : BasePluginTest() { ) } - /** - * https://github.com/GradleUp/shadow/issues/93 - * https://github.com/GradleUp/shadow/issues/114 - */ + @Issue( + "https://github.com/GradleUp/shadow/issues/93", + "https://github.com/GradleUp/shadow/issues/114", + ) @Test fun relocateResourceFiles() { repo.module("shadow", "dep", "1.0") @@ -363,9 +364,9 @@ class RelocationTest : BasePluginTest() { ) } - /** - * https://github.com/GradleUp/shadow/issues/294 - */ + @Issue( + "https://github.com/GradleUp/shadow/issues/294", + ) @Test fun doesNotErrorOnRelocatingJava9Classes() { projectScriptPath.appendText( diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowPluginTest.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowPluginTest.kt index e29791cf0..7aa7674ff 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowPluginTest.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ShadowPluginTest.kt @@ -9,6 +9,7 @@ import assertk.assertions.isNull import assertk.assertions.isTrue import com.github.jengelman.gradle.plugins.shadow.legacy.LegacyShadowPlugin import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar +import com.github.jengelman.gradle.plugins.shadow.util.Issue import java.util.jar.JarFile import kotlin.io.path.appendText import kotlin.io.path.readText @@ -556,9 +557,9 @@ class ShadowPluginTest : BasePluginTest() { assertThat(attributes.getValue("Class-Path")).isNull() } - /** - * https://github.com/GradleUp/shadow/issues/65 - */ + @Issue( + "https://github.com/GradleUp/shadow/issues/65", + ) @Test fun addShadowConfigurationToClassPathInManifest() { projectScriptPath.appendText( @@ -581,9 +582,9 @@ class ShadowPluginTest : BasePluginTest() { assertThat(attributes.getValue("Class-Path")).isEqualTo("/libs/a.jar junit-3.8.2.jar") } - /** - * https://github.com/GradleUp/shadow/issues/92 - */ + @Issue( + "https://github.com/GradleUp/shadow/issues/92", + ) @Test fun doNotIncludeNullValueInClassPathWhenJarFileDoesNotContainClassPath() { projectScriptPath.appendText( @@ -601,9 +602,9 @@ class ShadowPluginTest : BasePluginTest() { assertThat(attributes.getValue("Class-Path")).isEqualTo("junit-3.8.2.jar") } - /** - * https://github.com/GradleUp/shadow/issues/203 - */ + @Issue( + "https://github.com/GradleUp/shadow/issues/203", + ) @Test fun supportZipCompressionStored() { projectScriptPath.appendText( @@ -625,9 +626,10 @@ class ShadowPluginTest : BasePluginTest() { /** * This spec requires > 15 minutes and > 8GB of disk space to run - * - * https://github.com/GradleUp/shadow/issues/143 */ + @Issue( + "https://github.com/GradleUp/shadow/issues/143", + ) @Disabled @Test fun checkLargeZipFilesWithZip64Enabled() { @@ -690,9 +692,9 @@ class ShadowPluginTest : BasePluginTest() { assertThat(result.output).contains("TestApp: Hello World! (foo)") } - /** - * https://github.com/GradleUp/shadow/issues/609 - */ + @Issue( + "https://github.com/GradleUp/shadow/issues/609", + ) @Test fun doesNotErrorWhenUsingApplicationMainClassProperty() { projectScriptPath.appendText( @@ -724,9 +726,9 @@ class ShadowPluginTest : BasePluginTest() { assertThat(result.output).contains("TestApp: Hello World! (foo)") } - /** - * https://github.com/GradleUp/shadow/pull/459 - */ + @Issue( + "https://github.com/GradleUp/shadow/issues/459", + ) @Test fun excludeGradleApiByDefault() { projectScriptPath.writeText( @@ -759,9 +761,9 @@ class ShadowPluginTest : BasePluginTest() { assertThat(entries.count { it.name.endsWith(".class") }).isEqualTo(1) } - /** - * https://github.com/GradleUp/shadow/issues/1070 - */ + @Issue( + "https://github.com/GradleUp/shadow/issues/1070", + ) @Test fun canRegisterCustomShadowJarTask() { val testShadowJarTask = "testShadowJar" From ff13d020f83e103b11a577c77a2dc5b5a710f9c2 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sat, 4 Jan 2025 13:57:40 +0800 Subject: [PATCH 3/6] Add ExtensionRegistryTests for IssueExtension --- build.gradle.kts | 2 + gradle/libs.versions.toml | 2 + .../plugins/shadow/ExtensionRegistryTests.kt | 51 +++++++++++++++++++ .../gradle/plugins/shadow/util/Issue.kt | 12 ++++- 4 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ExtensionRegistryTests.kt diff --git a/build.gradle.kts b/build.gradle.kts index 4fd1f40de..2d84f95ec 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -95,6 +95,8 @@ dependencies { intiTestImplementation(libs.apache.maven.repositoryMetadata) // TODO: this will be removed after we migrated all functional tests to Kotlin. intiTestImplementation(sourceSets.main.get().output) + intiTestImplementation(libs.junit.jupiterEngine) + intiTestImplementation(libs.mockito) lintChecks(libs.androidx.gradlePluginLints) lintChecks(libs.assertk.lint) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9112523a9..da96e247c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -31,6 +31,8 @@ spock = "org.spockframework:spock-core:2.3-groovy-3.0" junit-bom = "org.junit:junit-bom:5.11.4" junit-jupiter = { module = "org.junit.jupiter:junit-jupiter" } junit-platformLauncher = { module = "org.junit.platform:junit-platform-launcher" } +junit-jupiterEngine = { module = "org.junit.jupiter:junit-jupiter-engine" } +mockito = { module = "org.mockito:mockito-junit-jupiter", version = "5.14.1" } assertk = "com.willowtreeapps.assertk:assertk:0.28.1" [plugins] diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ExtensionRegistryTests.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ExtensionRegistryTests.kt new file mode 100644 index 000000000..c822f4d32 --- /dev/null +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ExtensionRegistryTests.kt @@ -0,0 +1,51 @@ +package com.github.jengelman.gradle.plugins.shadow + +import com.github.jengelman.gradle.plugins.shadow.util.Issue +import com.github.jengelman.gradle.plugins.shadow.util.IssueExtension +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Assertions.assertFalse +import org.junit.jupiter.api.Assertions.assertTrue +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.extension.ExtendWith +import org.junit.jupiter.api.extension.Extension +import org.junit.jupiter.engine.config.JupiterConfiguration +import org.junit.jupiter.engine.extension.ExtensionRegistry +import org.junit.jupiter.engine.extension.MutableExtensionRegistry +import org.mockito.Mockito +import org.mockito.Mockito.mock + +/** + * Copied from [ExtensionRegistryTests.java](https://github.com/junit-team/junit5/blob/16c6f72c1c728c015e35cb739ea75884f19f990c/jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/ExtensionRegistryTests.java). + */ +@ExtendWith(IssueExtension::class) +class ExtensionRegistryTests { + private val configuration: JupiterConfiguration = mock() + private lateinit var registry: MutableExtensionRegistry + + @Test + fun newRegistryWithoutParentHasDefaultExtensionsPlusAutodetectedExtensionsLoadedViaServiceLoader() { + Mockito.`when`(configuration.isExtensionAutoDetectionEnabled).thenReturn(true) + registry = MutableExtensionRegistry.createRegistryWithDefaultExtensions(configuration) + + val extensions = registry.getExtensions(Extension::class.java) + + assertEquals(NUM_DEFAULT_EXTENSIONS + 1, extensions.size) + + assertExtensionRegistered(registry, IssueExtension::class.java) + } + + @Issue("https://github.com/GradleUp/shadow/issues/82") + @Test + fun testWithIssueTag() { + val tags = IssueExtension.getTagsForTest(this::class.java, "testWithIssueTag") + assertTrue(tags.contains("ISSUE-82")) + } + + private fun assertExtensionRegistered(registry: ExtensionRegistry, extensionType: Class) { + assertFalse(registry.getExtensions(extensionType).isEmpty()) { + extensionType.simpleName + " should be present" + } + } +} + +private const val NUM_DEFAULT_EXTENSIONS = 7 diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/util/Issue.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/util/Issue.kt index e7b936358..99d297df3 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/util/Issue.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/util/Issue.kt @@ -18,7 +18,17 @@ class IssueExtension : BeforeEachCallback { override fun beforeEach(context: ExtensionContext) { val issueAnnotation = context.requiredTestMethod.getAnnotation(Issue::class.java) ?: return val store = context.getStore(Namespace.create(IssueExtension::class.java, context.requiredTestClass)) - store.put("tags", issueAnnotation.values.map(::issueLinkToTag)) + val tags = issueAnnotation.values.map(::issueLinkToTag) + store.put("tags", tags) + tagsMap["${context.requiredTestClass.name}#${context.requiredTestMethod.name}"] = tags + } + + companion object { + private val tagsMap = mutableMapOf>() + + fun getTagsForTest(testClass: Class<*>, testName: String): List { + return tagsMap["${testClass.name}#$testName"] ?: emptyList() + } } } From 47c2469cbf05fd5e12a9a4d431b5327508e2e92a Mon Sep 17 00:00:00 2001 From: Goooler Date: Sat, 4 Jan 2025 16:40:18 +0800 Subject: [PATCH 4/6] Enable junit.jupiter.extensions.autodetection.enabled for IssueExtension --- build.gradle.kts | 4 ++++ .../jengelman/gradle/plugins/shadow/ExtensionRegistryTests.kt | 2 -- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 2d84f95ec..8aba9d6f8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -108,6 +108,10 @@ val integrationTest by tasks.registering(Test::class) { testClassesDirs = intiTest.output.classesDirs classpath = intiTest.runtimeClasspath + // TODO: this should be moved into functionalTest after we migrated all functional tests to Kotlin. + // Required to enable IssueExtension for all tests. + systemProperty("junit.jupiter.extensions.autodetection.enabled", true) + val docsDir = file("src/docs") // Add src/docs as an input directory to trigger ManualCodeSnippetTests re-run on changes. inputs.dir(docsDir) diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ExtensionRegistryTests.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ExtensionRegistryTests.kt index c822f4d32..5fd5cc498 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ExtensionRegistryTests.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ExtensionRegistryTests.kt @@ -6,7 +6,6 @@ import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertFalse import org.junit.jupiter.api.Assertions.assertTrue import org.junit.jupiter.api.Test -import org.junit.jupiter.api.extension.ExtendWith import org.junit.jupiter.api.extension.Extension import org.junit.jupiter.engine.config.JupiterConfiguration import org.junit.jupiter.engine.extension.ExtensionRegistry @@ -17,7 +16,6 @@ import org.mockito.Mockito.mock /** * Copied from [ExtensionRegistryTests.java](https://github.com/junit-team/junit5/blob/16c6f72c1c728c015e35cb739ea75884f19f990c/jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/ExtensionRegistryTests.java). */ -@ExtendWith(IssueExtension::class) class ExtensionRegistryTests { private val configuration: JupiterConfiguration = mock() private lateinit var registry: MutableExtensionRegistry From 19fb74407e4c6ac253d853c5bb4d5a06f54d99b2 Mon Sep 17 00:00:00 2001 From: Goooler Date: Sat, 4 Jan 2025 16:45:15 +0800 Subject: [PATCH 5/6] Revert "Add ExtensionRegistryTests for IssueExtension" This reverts commit ff13d020 --- build.gradle.kts | 2 - gradle/libs.versions.toml | 2 - .../plugins/shadow/ExtensionRegistryTests.kt | 49 ------------------- .../gradle/plugins/shadow/util/Issue.kt | 12 +---- 4 files changed, 1 insertion(+), 64 deletions(-) delete mode 100644 src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ExtensionRegistryTests.kt diff --git a/build.gradle.kts b/build.gradle.kts index 8aba9d6f8..715a8ed71 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -95,8 +95,6 @@ dependencies { intiTestImplementation(libs.apache.maven.repositoryMetadata) // TODO: this will be removed after we migrated all functional tests to Kotlin. intiTestImplementation(sourceSets.main.get().output) - intiTestImplementation(libs.junit.jupiterEngine) - intiTestImplementation(libs.mockito) lintChecks(libs.androidx.gradlePluginLints) lintChecks(libs.assertk.lint) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index da96e247c..9112523a9 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -31,8 +31,6 @@ spock = "org.spockframework:spock-core:2.3-groovy-3.0" junit-bom = "org.junit:junit-bom:5.11.4" junit-jupiter = { module = "org.junit.jupiter:junit-jupiter" } junit-platformLauncher = { module = "org.junit.platform:junit-platform-launcher" } -junit-jupiterEngine = { module = "org.junit.jupiter:junit-jupiter-engine" } -mockito = { module = "org.mockito:mockito-junit-jupiter", version = "5.14.1" } assertk = "com.willowtreeapps.assertk:assertk:0.28.1" [plugins] diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ExtensionRegistryTests.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ExtensionRegistryTests.kt deleted file mode 100644 index 5fd5cc498..000000000 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/ExtensionRegistryTests.kt +++ /dev/null @@ -1,49 +0,0 @@ -package com.github.jengelman.gradle.plugins.shadow - -import com.github.jengelman.gradle.plugins.shadow.util.Issue -import com.github.jengelman.gradle.plugins.shadow.util.IssueExtension -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertFalse -import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.extension.Extension -import org.junit.jupiter.engine.config.JupiterConfiguration -import org.junit.jupiter.engine.extension.ExtensionRegistry -import org.junit.jupiter.engine.extension.MutableExtensionRegistry -import org.mockito.Mockito -import org.mockito.Mockito.mock - -/** - * Copied from [ExtensionRegistryTests.java](https://github.com/junit-team/junit5/blob/16c6f72c1c728c015e35cb739ea75884f19f990c/jupiter-tests/src/test/java/org/junit/jupiter/engine/extension/ExtensionRegistryTests.java). - */ -class ExtensionRegistryTests { - private val configuration: JupiterConfiguration = mock() - private lateinit var registry: MutableExtensionRegistry - - @Test - fun newRegistryWithoutParentHasDefaultExtensionsPlusAutodetectedExtensionsLoadedViaServiceLoader() { - Mockito.`when`(configuration.isExtensionAutoDetectionEnabled).thenReturn(true) - registry = MutableExtensionRegistry.createRegistryWithDefaultExtensions(configuration) - - val extensions = registry.getExtensions(Extension::class.java) - - assertEquals(NUM_DEFAULT_EXTENSIONS + 1, extensions.size) - - assertExtensionRegistered(registry, IssueExtension::class.java) - } - - @Issue("https://github.com/GradleUp/shadow/issues/82") - @Test - fun testWithIssueTag() { - val tags = IssueExtension.getTagsForTest(this::class.java, "testWithIssueTag") - assertTrue(tags.contains("ISSUE-82")) - } - - private fun assertExtensionRegistered(registry: ExtensionRegistry, extensionType: Class) { - assertFalse(registry.getExtensions(extensionType).isEmpty()) { - extensionType.simpleName + " should be present" - } - } -} - -private const val NUM_DEFAULT_EXTENSIONS = 7 diff --git a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/util/Issue.kt b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/util/Issue.kt index 99d297df3..e7b936358 100644 --- a/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/util/Issue.kt +++ b/src/intiTest/kotlin/com/github/jengelman/gradle/plugins/shadow/util/Issue.kt @@ -18,17 +18,7 @@ class IssueExtension : BeforeEachCallback { override fun beforeEach(context: ExtensionContext) { val issueAnnotation = context.requiredTestMethod.getAnnotation(Issue::class.java) ?: return val store = context.getStore(Namespace.create(IssueExtension::class.java, context.requiredTestClass)) - val tags = issueAnnotation.values.map(::issueLinkToTag) - store.put("tags", tags) - tagsMap["${context.requiredTestClass.name}#${context.requiredTestMethod.name}"] = tags - } - - companion object { - private val tagsMap = mutableMapOf>() - - fun getTagsForTest(testClass: Class<*>, testName: String): List { - return tagsMap["${testClass.name}#$testName"] ?: emptyList() - } + store.put("tags", issueAnnotation.values.map(::issueLinkToTag)) } } From b37568bb03b5b970f95316fad97ccabd4266d128 Mon Sep 17 00:00:00 2001 From: Zongle Wang Date: Sat, 4 Jan 2025 16:51:11 +0800 Subject: [PATCH 6/6] Update build.gradle.kts --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 715a8ed71..2c951a4d1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -107,7 +107,7 @@ val integrationTest by tasks.registering(Test::class) { classpath = intiTest.runtimeClasspath // TODO: this should be moved into functionalTest after we migrated all functional tests to Kotlin. - // Required to enable IssueExtension for all tests. + // Required to enable `IssueExtension` for all tests. systemProperty("junit.jupiter.extensions.autodetection.enabled", true) val docsDir = file("src/docs")