diff options
author | sebastian.sellmair <sebastian.sellmair@jetbrains.com> | 2020-07-02 09:44:50 +0200 |
---|---|---|
committer | Paweł Marks <Kordyjan@users.noreply.github.com> | 2020-07-02 12:48:53 +0200 |
commit | 3a5de4fada9dae8eb75816abe740152480409165 (patch) | |
tree | 0676702e0dcca2b2e8731b30e6b6d5b6c419372c | |
parent | 0af0ef9ae462b9153758625410b67d7dc5b57a3d (diff) | |
download | dokka-3a5de4fada9dae8eb75816abe740152480409165.tar.gz dokka-3a5de4fada9dae8eb75816abe740152480409165.tar.bz2 dokka-3a5de4fada9dae8eb75816abe740152480409165.zip |
Implement template mechanism for Gradle integration tests
6 files changed, 49 insertions, 37 deletions
diff --git a/integration-tests/gradle/projects/it-basic/build.gradle.kts b/integration-tests/gradle/projects/it-basic/build.gradle.kts index 80c2bbea..e5a44555 100644 --- a/integration-tests/gradle/projects/it-basic/build.gradle.kts +++ b/integration-tests/gradle/projects/it-basic/build.gradle.kts @@ -3,18 +3,9 @@ plugins { id("org.jetbrains.dokka") } -repositories { - maven("https://dl.bintray.com/kotlin/kotlin-dev/") - jcenter() - mavenLocal() - mavenCentral() -} +apply(from = "../template.root.gradle.kts") dependencies { implementation(kotlin("stdlib")) } -afterEvaluate { - logger.quiet("Gradle version: ${gradle.gradleVersion}") - logger.quiet("Kotlin version: ${properties["dokka_it_kotlin_version"]}") -} diff --git a/integration-tests/gradle/projects/it-basic/settings.gradle.kts b/integration-tests/gradle/projects/it-basic/settings.gradle.kts index ca697588..833995e5 100644 --- a/integration-tests/gradle/projects/it-basic/settings.gradle.kts +++ b/integration-tests/gradle/projects/it-basic/settings.gradle.kts @@ -1,27 +1,5 @@ @file:Suppress("LocalVariableName", "UnstableApiUsage") -pluginManagement { - val dokka_it_kotlin_version: String by settings - - plugins { - id("org.jetbrains.kotlin.jvm") version dokka_it_kotlin_version - } - - resolutionStrategy { - eachPlugin { - if (requested.id.id == "org.jetbrains.dokka") { - useModule("org.jetbrains.dokka:dokka-gradle-plugin:for-integration-tests-SNAPSHOT") - } - } - } - repositories { - maven("https://dl.bintray.com/kotlin/kotlin-dev/") - mavenLocal() - mavenCentral() - jcenter() - gradlePluginPortal() - } -} - +apply(from = "../template.settings.gradle.kts") rootProject.name = "it-basic" diff --git a/integration-tests/gradle/projects/template.root.gradle.kts b/integration-tests/gradle/projects/template.root.gradle.kts new file mode 100644 index 00000000..02e6c715 --- /dev/null +++ b/integration-tests/gradle/projects/template.root.gradle.kts @@ -0,0 +1,11 @@ +repositories { + maven("https://dl.bintray.com/kotlin/kotlin-dev/") + jcenter() + mavenLocal() + mavenCentral() +} + +afterEvaluate { + logger.quiet("Gradle version: ${gradle.gradleVersion}") + logger.quiet("Kotlin version: ${properties["dokka_it_kotlin_version"]}") +} diff --git a/integration-tests/gradle/projects/template.settings.gradle.kts b/integration-tests/gradle/projects/template.settings.gradle.kts new file mode 100644 index 00000000..faee1f18 --- /dev/null +++ b/integration-tests/gradle/projects/template.settings.gradle.kts @@ -0,0 +1,24 @@ +@file:Suppress("LocalVariableName", "UnstableApiUsage") + +pluginManagement { + val dokka_it_kotlin_version: String by settings + + plugins { + id("org.jetbrains.kotlin.jvm") version dokka_it_kotlin_version + } + + resolutionStrategy { + eachPlugin { + if (requested.id.id == "org.jetbrains.dokka") { + useModule("org.jetbrains.dokka:dokka-gradle-plugin:for-integration-tests-SNAPSHOT") + } + } + } + repositories { + maven("https://dl.bintray.com/kotlin/kotlin-dev/") + mavenLocal() + mavenCentral() + jcenter() + gradlePluginPortal() + } +} diff --git a/integration-tests/gradle/src/main/kotlin/org/jetbrains/dokka/it/gradle/AbstractGradleIntegrationTest.kt b/integration-tests/gradle/src/main/kotlin/org/jetbrains/dokka/it/gradle/AbstractGradleIntegrationTest.kt index d8a9a60f..2efb9c55 100644 --- a/integration-tests/gradle/src/main/kotlin/org/jetbrains/dokka/it/gradle/AbstractGradleIntegrationTest.kt +++ b/integration-tests/gradle/src/main/kotlin/org/jetbrains/dokka/it/gradle/AbstractGradleIntegrationTest.kt @@ -4,17 +4,25 @@ import org.gradle.testkit.runner.GradleRunner import org.junit.Rule import org.junit.rules.TemporaryFolder import java.io.File +import kotlin.test.BeforeTest import kotlin.test.assertFalse abstract class AbstractGradleIntegrationTest { @get:Rule - val projectTemporaryFolder = TemporaryFolder() + val temporaryTestFolder = TemporaryFolder() - val projectPath get() = projectTemporaryFolder.root.toPath() + val projectDir get() = File(temporaryTestFolder.root, "project") - val projectDir get() = projectTemporaryFolder.root + val projectPath get() = projectDir.toPath() + @BeforeTest + fun copyTemplates() { + File("projects").listFiles().orEmpty() + .filter { it.isFile } + .filter { it.name.startsWith("template.") } + .forEach { file -> file.copyTo(File(temporaryTestFolder.root, file.name)) } + } fun createGradleRunner( buildVersions: BuildVersions, arguments: Array<String> diff --git a/plugins/base/src/main/kotlin/renderers/DefaultRenderer.kt b/plugins/base/src/main/kotlin/renderers/DefaultRenderer.kt index 4313f1e3..f2fce191 100644 --- a/plugins/base/src/main/kotlin/renderers/DefaultRenderer.kt +++ b/plugins/base/src/main/kotlin/renderers/DefaultRenderer.kt @@ -172,4 +172,4 @@ abstract class DefaultRenderer<T>( } } -fun ContentPage.sourceSets() = this.content.sourceSets
\ No newline at end of file +fun ContentPage.sourceSets() = this.content.sourceSets |