diff --git a/core/src/main/kotlin/defaultConfiguration.kt b/core/src/main/kotlin/defaultConfiguration.kt index 6615457085..d034a4cd25 100644 --- a/core/src/main/kotlin/defaultConfiguration.kt +++ b/core/src/main/kotlin/defaultConfiguration.kt @@ -17,7 +17,7 @@ data class DokkaConfigurationImpl( override val failOnWarning: Boolean = DokkaDefaults.failOnWarning, override val delayTemplateSubstitution: Boolean = false, override val suppressObviousFunctions: Boolean = DokkaDefaults.suppressObviousFunctions, - override val includes: Set = emptySet(), + override val includes: LinkedHashSet = linkedSetOf(), override val suppressInheritedMembers: Boolean = DokkaDefaults.suppressInheritedMembers, override val finalizeCoroutines: Boolean = true, ) : DokkaConfiguration @@ -36,7 +36,7 @@ data class DokkaSourceSetImpl( override val sourceRoots: Set = emptySet(), override val dependentSourceSets: Set = emptySet(), override val samples: Set = emptySet(), - override val includes: Set = emptySet(), + override val includes: Set = linkedSetOf(), @Deprecated("Use [documentedVisibilities] property for a more flexible control over documented visibilities") override val includeNonPublic: Boolean = DokkaDefaults.includeNonPublic, override val reportUndocumented: Boolean = DokkaDefaults.reportUndocumented, diff --git a/core/test-api/src/main/kotlin/testApi/testRunner/TestDokkaConfigurationBuilder.kt b/core/test-api/src/main/kotlin/testApi/testRunner/TestDokkaConfigurationBuilder.kt index 50ab3bad9d..56d30c2081 100644 --- a/core/test-api/src/main/kotlin/testApi/testRunner/TestDokkaConfigurationBuilder.kt +++ b/core/test-api/src/main/kotlin/testApi/testRunner/TestDokkaConfigurationBuilder.kt @@ -52,7 +52,7 @@ class TestDokkaConfigurationBuilder { modules = modules, failOnWarning = failOnWarning, suppressObviousFunctions = suppressObviousFunctions, - includes = includes.toSet(), + includes = LinkedHashSet(includes), suppressInheritedMembers = suppressInheritedMembers, delayTemplateSubstitution = delayTemplateSubstitution, finalizeCoroutines = false @@ -114,7 +114,7 @@ class DokkaSourceSetBuilder( sourceRoots = sourceRoots.map(::File).toSet(), dependentSourceSets = dependentSourceSets, samples = samples.map(::File).toSet(), - includes = includes.map(::File).toSet(), + includes = LinkedHashSet(includes.map(::File)), includeNonPublic = includeNonPublic, documentedVisibilities = documentedVisibilities, reportUndocumented = reportUndocumented, @@ -140,7 +140,7 @@ val defaultSourceSet = DokkaSourceSetImpl( sourceRoots = emptySet(), dependentSourceSets = emptySet(), samples = emptySet(), - includes = emptySet(), + includes = linkedSetOf(), includeNonPublic = false, documentedVisibilities = DokkaDefaults.documentedVisibilities, reportUndocumented = false, diff --git a/core/test-api/src/main/kotlin/testApi/testRunner/TestRunner.kt b/core/test-api/src/main/kotlin/testApi/testRunner/TestRunner.kt index 31443b2d9f..4c794802df 100644 --- a/core/test-api/src/main/kotlin/testApi/testRunner/TestRunner.kt +++ b/core/test-api/src/main/kotlin/testApi/testRunner/TestRunner.kt @@ -88,9 +88,9 @@ abstract class AbstractTest, D : DokkaTestGe localDirectory = testDirPath.toFile().resolve(link.localDirectory).absolutePath ) }.toSet(), - includes = sourceSet.includes.map { file -> + includes = LinkedHashSet(sourceSet.includes.map { file -> testDirPath.toFile().resolve(file) - }.toSet() + }) ) } ) diff --git a/runners/cli/src/main/kotlin/org/jetbrains/dokka/GlobalArguments.kt b/runners/cli/src/main/kotlin/org/jetbrains/dokka/GlobalArguments.kt index 29b57b7271..0118866645 100644 --- a/runners/cli/src/main/kotlin/org/jetbrains/dokka/GlobalArguments.kt +++ b/runners/cli/src/main/kotlin/org/jetbrains/dokka/GlobalArguments.kt @@ -78,7 +78,7 @@ class GlobalArguments(args: Array) : DokkaConfiguration { "Accepts multiple values separated by semicolons" ).delimiter(";") - override val includes: Set by lazy { _includes.toSet() } + override val includes: LinkedHashSet by lazy { LinkedHashSet(_includes) } override val suppressInheritedMembers: Boolean by parser.option( ArgType.Boolean, diff --git a/runners/cli/src/main/kotlin/org/jetbrains/dokka/SourceSetArgumentsParser.kt b/runners/cli/src/main/kotlin/org/jetbrains/dokka/SourceSetArgumentsParser.kt index 49e8f2ae05..2828a50d7f 100644 --- a/runners/cli/src/main/kotlin/org/jetbrains/dokka/SourceSetArgumentsParser.kt +++ b/runners/cli/src/main/kotlin/org/jetbrains/dokka/SourceSetArgumentsParser.kt @@ -133,7 +133,7 @@ internal fun parseSourceSet(moduleName: String, args: Array): DokkaConfi .map { dependentSourceSetName -> dependentSourceSetName.split('/').let { DokkaSourceSetID(it[0], it[1]) } } .toMutableSet() override val samples = samples.toMutableSet() - override val includes = includes.toMutableSet() + override val includes = LinkedHashSet(includes) @Deprecated("Use [documentedVisibilities] property for a more flexible control over documented visibilities") override val includeNonPublic = includeNonPublic override val reportUndocumented = reportUndocumented diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaSourceSetMapper.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaSourceSetMapper.kt index 0626fc5954..9fd063efcc 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaSourceSetMapper.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaSourceSetMapper.kt @@ -11,7 +11,7 @@ internal fun GradleDokkaSourceSetBuilder.toDokkaSourceSetImpl(): DokkaSourceSetI sourceRoots = sourceRoots.toSet(), dependentSourceSets = dependentSourceSets.get().toSet(), samples = samples.toSet(), - includes = includes.toSet(), + includes = LinkedHashSet(includes.toList()), includeNonPublic = includeNonPublic.get(), documentedVisibilities = documentedVisibilities.get(), reportUndocumented = reportUndocumented.get(), diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/tasks/DokkaMultiModuleTask.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/tasks/DokkaMultiModuleTask.kt index 7d6f60d2de..19ad7cbeb2 100644 --- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/tasks/DokkaMultiModuleTask.kt +++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/tasks/DokkaMultiModuleTask.kt @@ -67,9 +67,9 @@ abstract class DokkaMultiModuleTask : AbstractDokkaParentTask() { } @get:Input - internal val childDokkaTaskIncludes: Map> + internal val childDokkaTaskIncludes: Map> get() = childDokkaTasks.filterIsInstance().associate { task -> - task.path to task.dokkaSourceSets.flatMap { it.includes }.toSet() + task.path to LinkedHashSet(task.dokkaSourceSets.flatMap { it.includes }) } // The method contains a reference to internal Gradle API that is nice not to use. @@ -101,11 +101,11 @@ abstract class DokkaMultiModuleTask : AbstractDokkaParentTask() { relativePathToOutputDirectory = targetChildOutputDirectory(dokkaTask).get().asFile.relativeTo( outputDirectory.asFile.get() ), - includes = childDokkaTaskIncludes[dokkaTask.path].orEmpty(), + includes = childDokkaTaskIncludes[dokkaTask.path] ?: linkedSetOf(), sourceOutputDirectory = dokkaTask.outputDirectory.asFile.get(), ) }, - includes = includes.toSet(), + includes = LinkedHashSet(includes.toList()), ) } } diff --git a/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/tasks/DokkaMultiModuleTaskTest.kt b/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/tasks/DokkaMultiModuleTaskTest.kt index 6df809ff71..d608e18811 100644 --- a/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/tasks/DokkaMultiModuleTaskTest.kt +++ b/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/tasks/DokkaMultiModuleTaskTest.kt @@ -101,12 +101,12 @@ class DokkaMultiModuleTaskTest { pluginsClasspath = emptyList(), failOnWarning = true, offlineMode = true, - includes = setOf(topLevelInclude), + includes = linkedSetOf(topLevelInclude), modules = listOf( DokkaModuleDescriptionImpl( name = "child", relativePathToOutputDirectory = File("child"), - includes = setOf(include1, include2), + includes = linkedSetOf(include1, include2), sourceOutputDirectory = childDokkaTask.outputDirectory.get().asFile ) ) @@ -186,7 +186,7 @@ class DokkaMultiModuleTaskTest { assertEquals( mapOf( - ":child:childDokkaTask" to setOf( + ":child:childDokkaTask" to linkedSetOf( childDokkaTaskInclude1, childDokkaTaskInclude2, childDokkaTaskInclude3 diff --git a/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt b/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt index c82f1b5965..dd8e721702 100644 --- a/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt +++ b/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt @@ -370,7 +370,7 @@ abstract class AbstractDokkaMojo(private val defaultDokkaPlugins: List(includes.map(::File)), includeNonPublic = includeNonPublic, documentedVisibilities = documentedVisibilities, reportUndocumented = reportUndocumented,