From e3bf37c0ef8c88755f1d2d15d3ba6d07d649e005 Mon Sep 17 00:00:00 2001 From: "sebastian.sellmair" Date: Thu, 13 Aug 2020 19:54:42 +0200 Subject: Use List for representing classpaths instead of Set --- core/src/main/kotlin/configuration.kt | 4 ++-- core/src/main/kotlin/defaultConfiguration.kt | 4 ++-- core/src/test/kotlin/utilities/DokkaConfigurationJsonTest.kt | 6 +++--- .../base/test-utils/src/main/kotlin/renderers/defaultSourceSet.kt | 2 +- runners/cli/src/main/kotlin/cli/main.kt | 6 ++---- .../main/kotlin/org/jetbrains/dokka/gradle/DokkaCollectorTask.kt | 2 +- .../main/kotlin/org/jetbrains/dokka/gradle/DokkaMultiModuleTask.kt | 2 +- .../src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt | 2 +- .../main/kotlin/org/jetbrains/dokka/gradle/toDokkaSourceSetImpl.kt | 2 +- .../jetbrains/dokka/gradle/ConfigureWithKotlinSourceSetGistTest.kt | 2 +- .../kotlin/org/jetbrains/dokka/gradle/DokkaCollectorTaskTest.kt | 2 +- .../kotlin/org/jetbrains/dokka/gradle/DokkaMultiModuleTaskTest.kt | 2 +- runners/maven-plugin/src/main/kotlin/DokkaMojo.kt | 6 +++--- testApi/src/main/kotlin/testApi/testRunner/TestRunner.kt | 4 ++-- 14 files changed, 22 insertions(+), 24 deletions(-) diff --git a/core/src/main/kotlin/configuration.kt b/core/src/main/kotlin/configuration.kt index f0e77f09..e0f973d7 100644 --- a/core/src/main/kotlin/configuration.kt +++ b/core/src/main/kotlin/configuration.kt @@ -80,14 +80,14 @@ interface DokkaConfiguration : Serializable { val failOnWarning: Boolean val sourceSets: List val modules: List - val pluginsClasspath: Set + val pluginsClasspath: List val pluginsConfiguration: Map interface DokkaSourceSet : Serializable { val sourceSetID: DokkaSourceSetID val displayName: String val moduleDisplayName: String - val classpath: Set + val classpath: List val sourceRoots: Set val dependentSourceSets: Set val samples: Set diff --git a/core/src/main/kotlin/defaultConfiguration.kt b/core/src/main/kotlin/defaultConfiguration.kt index 4f70cfbb..f37c1add 100644 --- a/core/src/main/kotlin/defaultConfiguration.kt +++ b/core/src/main/kotlin/defaultConfiguration.kt @@ -9,7 +9,7 @@ data class DokkaConfigurationImpl( override val cacheRoot: File? = DokkaDefaults.cacheRoot, override val offlineMode: Boolean = DokkaDefaults.offlineMode, override val sourceSets: List = emptyList(), - override val pluginsClasspath: Set = emptySet(), + override val pluginsClasspath: List = emptyList(), override val pluginsConfiguration: Map = emptyMap(), override val modules: List = emptyList(), override val failOnWarning: Boolean = DokkaDefaults.failOnWarning @@ -20,7 +20,7 @@ data class DokkaSourceSetImpl( override val moduleDisplayName: String, override val displayName: String = DokkaDefaults.sourceSetDisplayName, override val sourceSetID: DokkaSourceSetID, - override val classpath: Set = emptySet(), + override val classpath: List = emptyList(), override val sourceRoots: Set = emptySet(), override val dependentSourceSets: Set = emptySet(), override val samples: Set = emptySet(), diff --git a/core/src/test/kotlin/utilities/DokkaConfigurationJsonTest.kt b/core/src/test/kotlin/utilities/DokkaConfigurationJsonTest.kt index e8135f96..8efc84c6 100644 --- a/core/src/test/kotlin/utilities/DokkaConfigurationJsonTest.kt +++ b/core/src/test/kotlin/utilities/DokkaConfigurationJsonTest.kt @@ -10,7 +10,7 @@ class DokkaConfigurationJsonTest { fun `simple configuration toJsonString then parseJson`() { val configuration = DokkaConfigurationImpl( outputDir = File("customOutputDir"), - pluginsClasspath = setOf(File("plugins/customPlugin.jar")), + pluginsClasspath = listOf(File("plugins/customPlugin.jar")), sourceSets = listOf( DokkaSourceSetImpl( moduleDisplayName = "customModuleDisplayName", @@ -49,13 +49,13 @@ class DokkaConfigurationJsonTest { assertEquals( DokkaConfigurationImpl( outputDir = File("customOutputDir"), - pluginsClasspath = setOf(File("plugins/customPlugin.jar")), + pluginsClasspath = listOf(File("plugins/customPlugin.jar")), sourceSets = listOf( DokkaSourceSetImpl( moduleDisplayName = "customModuleDisplayName", sourceRoots = setOf(File("customSourceRoot")), sourceSetID = DokkaSourceSetID("customModuleName", "customSourceSetName"), - classpath = setOf(File("classpath/custom1.jar"), File("classpath/custom2.jar")) + classpath = listOf(File("classpath/custom1.jar"), File("classpath/custom2.jar")) ) ) ), diff --git a/plugins/base/test-utils/src/main/kotlin/renderers/defaultSourceSet.kt b/plugins/base/test-utils/src/main/kotlin/renderers/defaultSourceSet.kt index 20fadc5f..a7a20f88 100644 --- a/plugins/base/test-utils/src/main/kotlin/renderers/defaultSourceSet.kt +++ b/plugins/base/test-utils/src/main/kotlin/renderers/defaultSourceSet.kt @@ -8,7 +8,7 @@ val defaultSourceSet = DokkaSourceSetImpl( moduleDisplayName = "DEFAULT", displayName = "DEFAULT", sourceSetID = DokkaSourceSetID("DEFAULT", "DEFAULT"), - classpath = emptySet(), + classpath = emptyList(), sourceRoots = emptySet(), dependentSourceSets = emptySet(), samples = emptySet(), diff --git a/runners/cli/src/main/kotlin/cli/main.kt b/runners/cli/src/main/kotlin/cli/main.kt index 4b0bd04e..a9177ce7 100644 --- a/runners/cli/src/main/kotlin/cli/main.kt +++ b/runners/cli/src/main/kotlin/cli/main.kt @@ -36,14 +36,12 @@ class GlobalArguments(args: Array) : DokkaConfiguration { description = "Configuration for plugins in format fqPluginName=json^^fqPluginName=json..." ).default(emptyMap()) - private val pluginsClasspathList by parser.option( + override val pluginsClasspath by parser.option( ArgTypeFile, fullName = "pluginsClasspath", description = "List of jars with dokka plugins (allows many paths separated by the semicolon `;`)" ).delimiter(";") - override val pluginsClasspath: Set by lazy { pluginsClasspathList.toMutableSet() } - override val offlineMode by parser.option( ArgType.Boolean, "Offline mode (do not download package lists from the Internet)" @@ -223,7 +221,7 @@ private fun parseSourceSet(args: Array): DokkaConfiguration.DokkaSourceS override val moduleDisplayName = moduleDisplayName ?: moduleName override val displayName = displayName override val sourceSetID = DokkaSourceSetID(moduleName, sourceSetName) - override val classpath = classpath.toMutableSet() + override val classpath = classpath.toMutableList() override val sourceRoots = sourceRoots.toMutableSet() override val dependentSourceSets = dependentSourceSets .map { dependentSourceSetName -> dependentSourceSetName.split('/').let { DokkaSourceSetID(it[0], it[1]) } } diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaCollectorTask.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaCollectorTask.kt index 37571fc5..e1ad4e3b 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaCollectorTask.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaCollectorTask.kt @@ -15,7 +15,7 @@ open class DokkaCollectorTask : AbstractDokkaParentTask() { cacheRoot = cacheRoot.getSafe(), failOnWarning = failOnWarning.getSafe(), offlineMode = offlineMode.getSafe(), - pluginsClasspath = plugins.resolve().toSet(), + pluginsClasspath = plugins.resolve().toList(), ) val subprojectDokkaConfigurations = childDokkaTasks.map { dokkaTask -> dokkaTask.buildDokkaConfiguration() } diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaMultiModuleTask.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaMultiModuleTask.kt index f6690c3b..800dfe1b 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaMultiModuleTask.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaMultiModuleTask.kt @@ -57,7 +57,7 @@ open class DokkaMultiModuleTask : AbstractDokkaParentTask(DokkaMultimoduleBootst pluginsConfiguration = pluginsConfiguration.getSafe(), failOnWarning = failOnWarning.getSafe(), offlineMode = offlineMode.getSafe(), - pluginsClasspath = plugins.resolve().toSet(), + pluginsClasspath = plugins.resolve().toList(), modules = childDokkaTasks.map { dokkaTask -> DokkaModuleDescriptionImpl( name = dokkaTask.project.name, diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt index 6f92abdf..00bd43d7 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt @@ -32,7 +32,7 @@ open class DokkaTask : AbstractDokkaTask(DokkaBootstrapImpl::class) { failOnWarning = failOnWarning.getSafe(), sourceSets = dokkaSourceSets.build(), pluginsConfiguration = pluginsConfiguration.getSafe(), - pluginsClasspath = plugins.resolve() + pluginsClasspath = plugins.resolve().toList() ) } } diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/toDokkaSourceSetImpl.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/toDokkaSourceSetImpl.kt index 8a944837..5ec21988 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/toDokkaSourceSetImpl.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/toDokkaSourceSetImpl.kt @@ -6,7 +6,7 @@ import java.io.File internal fun GradleDokkaSourceSetBuilder.toDokkaSourceSetImpl(): DokkaSourceSetImpl { return DokkaSourceSetImpl( - classpath = classpath.toSet(), + classpath = classpath.toList(), moduleDisplayName = moduleNameOrDefault(), displayName = displayNameOrDefault(), sourceSetID = sourceSetID, diff --git a/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/ConfigureWithKotlinSourceSetGistTest.kt b/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/ConfigureWithKotlinSourceSetGistTest.kt index d8545ab3..13ba9622 100644 --- a/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/ConfigureWithKotlinSourceSetGistTest.kt +++ b/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/ConfigureWithKotlinSourceSetGistTest.kt @@ -46,7 +46,7 @@ class ConfigureWithKotlinSourceSetGistTest { ) assertEquals( - setOf(f1Jar, f2Jar), sourceSet.build().classpath, + listOf(f1Jar, f2Jar), sourceSet.build().classpath, "Expected classpath being present" ) diff --git a/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/DokkaCollectorTaskTest.kt b/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/DokkaCollectorTaskTest.kt index d7f0e946..7885cea1 100644 --- a/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/DokkaCollectorTaskTest.kt +++ b/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/DokkaCollectorTaskTest.kt @@ -54,7 +54,7 @@ class DokkaCollectorTaskTest { .map { it.sourceSets } .reduce { acc, list -> acc + list }, pluginsClasspath = task.childDokkaTasks - .map { it.plugins.resolve() } + .map { it.plugins.resolve().toList() } .reduce { acc, mutableSet -> acc + mutableSet } ), dokkaConfiguration diff --git a/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/DokkaMultiModuleTaskTest.kt b/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/DokkaMultiModuleTaskTest.kt index 1e444d80..62c867ba 100644 --- a/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/DokkaMultiModuleTaskTest.kt +++ b/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/DokkaMultiModuleTaskTest.kt @@ -73,7 +73,7 @@ class DokkaMultiModuleTaskTest { outputDir = task.project.buildDir.resolve("customOutputDirectory"), cacheRoot = File("customCacheRoot"), pluginsConfiguration = mapOf("pluginA" to "configA"), - pluginsClasspath = emptySet(), + pluginsClasspath = emptyList(), failOnWarning = true, offlineMode = true, modules = listOf( diff --git a/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt b/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt index ce68a671..781f7cf2 100644 --- a/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt +++ b/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt @@ -193,7 +193,7 @@ abstract class AbstractDokkaMojo(private val defaultDokkaPlugins: List { + ): List { val repoSystem: RepositorySystem = newRepositorySystem() val session: RepositorySystemSession = newSession(repoSystem) val dependency = @@ -293,7 +293,7 @@ abstract class AbstractDokkaMojo(private val defaultDokkaPlugins: List