diff --git a/build-logic/src/main/kotlin/org/jetbrains/conventions/base-unit-test.gradle.kts b/build-logic/src/main/kotlin/org/jetbrains/conventions/base-unit-test.gradle.kts new file mode 100644 index 00000000000..3ece2e8d61f --- /dev/null +++ b/build-logic/src/main/kotlin/org/jetbrains/conventions/base-unit-test.gradle.kts @@ -0,0 +1,39 @@ +package org.jetbrains.conventions + +/** + * Utility to run ynit tests for K1 and K2 (analysis API). + */ + +plugins { + id("org.jetbrains.conventions.base") + id("org.jetbrains.conventions.base-java") +} + +val descriptorsTestConfiguration: Configuration by configurations.creating { + extendsFrom(configurations.testImplementation.get()) +} +val symbolsTestConfiguration: Configuration by configurations.creating { + extendsFrom(configurations.testImplementation.get()) +} + +val symbolsTest = tasks.register("symbolsTest") { + useJUnitPlatform { + excludeTags("onlyDescriptors", "onlyDescriptorsMPP", "javaCode", "usingJDK") + } + classpath += symbolsTestConfiguration +} +// run symbols and descriptors tests +tasks.test { + //enabled = false + classpath += descriptorsTestConfiguration + dependsOn(symbolsTest) +} + +val descriptorsTest = tasks.register("descriptorsTest") { + classpath += descriptorsTestConfiguration +} + +tasks.check { + dependsOn(symbolsTest) +} + diff --git a/plugins/android-documentation/build.gradle.kts b/plugins/android-documentation/build.gradle.kts index 4dfc972ddb8..5e00809ea70 100644 --- a/plugins/android-documentation/build.gradle.kts +++ b/plugins/android-documentation/build.gradle.kts @@ -3,6 +3,7 @@ import org.jetbrains.registerDokkaArtifactPublication plugins { id("org.jetbrains.conventions.kotlin-jvm") id("org.jetbrains.conventions.maven-publish") + id("org.jetbrains.conventions.base-unit-test") } dependencies { @@ -17,6 +18,12 @@ dependencies { testImplementation(projects.core.testApi) testImplementation(platform(libs.junit.bom)) testImplementation(libs.junit.jupiter) + + symbolsTestConfiguration(project(path = ":subprojects:analysis-kotlin-symbols", configuration = "shadow")) + descriptorsTestConfiguration(project(path = ":subprojects:analysis-kotlin-descriptors", configuration = "shadow")) + testImplementation(projects.plugins.base.baseTestUtils) { + exclude(module = "analysis-kotlin-descriptors") + } } registerDokkaArtifactPublication("androidDocumentationPlugin") { diff --git a/plugins/base/build.gradle.kts b/plugins/base/build.gradle.kts index d7fcdd51cfe..2f9f5863eb6 100644 --- a/plugins/base/build.gradle.kts +++ b/plugins/base/build.gradle.kts @@ -4,6 +4,7 @@ plugins { id("org.jetbrains.conventions.kotlin-jvm") id("org.jetbrains.conventions.maven-publish") id("org.jetbrains.conventions.dokka-html-frontend-files") + id("org.jetbrains.conventions.base-unit-test") } dependencies { @@ -26,6 +27,8 @@ dependencies { } // Test only + symbolsTestConfiguration(project(path = ":subprojects:analysis-kotlin-symbols", configuration = "shadow")) + descriptorsTestConfiguration(project(path = ":subprojects:analysis-kotlin-descriptors", configuration = "shadow")) testImplementation(projects.plugins.base.baseTestUtils) { exclude(module = "analysis-kotlin-descriptors") } @@ -39,38 +42,11 @@ dependencies { } } -val descriptorsTestConfiguration: Configuration by configurations.creating { - extendsFrom(configurations.testImplementation.get()) -} -val symbolsTestConfiguration: Configuration by configurations.creating { - extendsFrom(configurations.testImplementation.get()) -} -dependencies { - symbolsTestConfiguration(project(path = ":subprojects:analysis-kotlin-symbols", configuration = "shadow")) - descriptorsTestConfiguration(project(path = ":subprojects:analysis-kotlin-descriptors", configuration = "shadow")) -} -val symbolsTest = tasks.register("symbolsTest") { - useJUnitPlatform { - excludeTags("onlyDescriptors", "onlyDescriptorsMPP", "javaCode", "usingJDK") - } - classpath += symbolsTestConfiguration -} -// run symbols and descriptors tests -tasks.test { - //enabled = false - classpath += descriptorsTestConfiguration - dependsOn(symbolsTest) -} -val descriptorsTest = tasks.register("descriptorsTest") { - classpath += descriptorsTestConfiguration -} -tasks.check { - dependsOn(symbolsTest) -} + // access the frontend files via the dependency on :plugins:base:frontend val dokkaHtmlFrontendFiles: Provider = diff --git a/plugins/base/src/test/kotlin/superFields/PsiSuperFieldsTest.kt b/plugins/base/src/test/kotlin/superFields/PsiSuperFieldsTest.kt index 9c1265a6ac6..5c7124cdc52 100644 --- a/plugins/base/src/test/kotlin/superFields/PsiSuperFieldsTest.kt +++ b/plugins/base/src/test/kotlin/superFields/PsiSuperFieldsTest.kt @@ -9,9 +9,11 @@ import org.jetbrains.dokka.model.isJvmField import org.junit.jupiter.api.Assertions.assertNotNull import org.junit.jupiter.api.Assertions.assertNull import org.junit.jupiter.api.Test +import utils.JavaCode import kotlin.test.assertEquals +@JavaCode class PsiSuperFieldsTest : BaseAbstractTest() { private val commonTestConfiguration = dokkaConfiguration { diff --git a/plugins/base/src/test/kotlin/translators/Bug1341.kt b/plugins/base/src/test/kotlin/translators/Bug1341.kt index a8c9e3420ab..3e1b403d279 100644 --- a/plugins/base/src/test/kotlin/translators/Bug1341.kt +++ b/plugins/base/src/test/kotlin/translators/Bug1341.kt @@ -4,8 +4,10 @@ import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest import org.jetbrains.dokka.links.DRI import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Test +import utils.JavaCode class Bug1341 : BaseAbstractTest() { + @JavaCode @Test fun `reproduce bug #1341`() { val configuration = dokkaConfiguration { diff --git a/plugins/mathjax/build.gradle.kts b/plugins/mathjax/build.gradle.kts index 4c5724504fb..1d10d838836 100644 --- a/plugins/mathjax/build.gradle.kts +++ b/plugins/mathjax/build.gradle.kts @@ -3,6 +3,7 @@ import org.jetbrains.registerDokkaArtifactPublication plugins { id("org.jetbrains.conventions.kotlin-jvm") id("org.jetbrains.conventions.maven-publish") + id("org.jetbrains.conventions.base-unit-test") } dependencies { @@ -13,12 +14,17 @@ dependencies { implementation(kotlin("reflect")) testImplementation(libs.jsoup) - testImplementation(projects.plugins.base.baseTestUtils) testImplementation(projects.core.contentMatcherTestUtils) testImplementation(kotlin("test-junit")) testImplementation(projects.core.testApi) testImplementation(platform(libs.junit.bom)) testImplementation(libs.junit.jupiter) + + symbolsTestConfiguration(project(path = ":subprojects:analysis-kotlin-symbols", configuration = "shadow")) + descriptorsTestConfiguration(project(path = ":subprojects:analysis-kotlin-descriptors", configuration = "shadow")) + testImplementation(projects.plugins.base.baseTestUtils) { + exclude(module = "analysis-kotlin-descriptors") + } } registerDokkaArtifactPublication("mathjaxPlugin") {