aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsebastian.sellmair <sebastian.sellmair@jetbrains.com>2020-06-30 23:06:03 +0200
committerSebastian Sellmair <34319766+sellmair@users.noreply.github.com>2020-07-06 17:59:15 +0200
commitb0e8622f374f6499058b0f083367b4a54512b702 (patch)
tree0fa641dc26bf1e7ed6497ee2340999e8ecc505ad
parentb0b418334535adc60ee80c3df1b2293dfcaad071 (diff)
downloaddokka-b0e8622f374f6499058b0f083367b4a54512b702.tar.gz
dokka-b0e8622f374f6499058b0f083367b4a54512b702.tar.bz2
dokka-b0e8622f374f6499058b0f083367b4a54512b702.zip
Enforce workspace unique SourceSetID
-rw-r--r--build.gradle.kts4
-rw-r--r--core/src/main/kotlin/DokkaBootstrapImpl.kt5
-rw-r--r--core/src/main/kotlin/DokkaGenerator.kt2
-rw-r--r--core/src/main/kotlin/DokkaMultimoduleBootstrapImpl.kt5
-rw-r--r--core/src/main/kotlin/configuration.kt27
-rw-r--r--core/src/main/kotlin/defaultConfiguration.kt22
-rw-r--r--core/src/main/kotlin/plugability/DokkaPlugin.kt2
-rw-r--r--kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/KotlinAnalysis.kt5
-rw-r--r--plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt22
-rw-r--r--plugins/base/src/main/kotlin/signatures/JvmSignatureUtils.kt3
-rw-r--r--plugins/base/src/main/kotlin/transformers/documentables/DocumentableVisibilityFilterTransformer.kt12
-rw-r--r--plugins/base/src/main/kotlin/transformers/documentables/EmptyPackagesFilterTransformer.kt6
-rw-r--r--plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationTransformer.kt4
-rw-r--r--plugins/base/src/main/kotlin/transformers/pages/samples/SamplesTransformer.kt4
-rw-r--r--plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt4
-rw-r--r--plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt2
-rw-r--r--plugins/base/src/test/kotlin/basic/DRITest.kt40
-rw-r--r--plugins/base/src/test/kotlin/basic/DokkaBasicTests.kt6
-rw-r--r--plugins/base/src/test/kotlin/basic/FailOnWarningTest.kt18
-rw-r--r--plugins/base/src/test/kotlin/content/annotations/ContentForAnnotationsTest.kt6
-rw-r--r--plugins/base/src/test/kotlin/content/annotations/DepredatedAndSinceKotlinTest.kt8
-rw-r--r--plugins/base/src/test/kotlin/content/params/ContentForParamsTest.kt4
-rw-r--r--plugins/base/src/test/kotlin/content/seealso/ContentForSeeAlsoTest.kt6
-rw-r--r--plugins/base/src/test/kotlin/content/signatures/ContentForSignaturesTest.kt4
-rw-r--r--plugins/base/src/test/kotlin/content/signatures/SkippingParenthesisForConstructorsTest.kt6
-rw-r--r--plugins/base/src/test/kotlin/enums/EnumsTest.kt20
-rw-r--r--plugins/base/src/test/kotlin/expect/AbstractExpectTest.kt6
-rw-r--r--plugins/base/src/test/kotlin/filter/DeprecationFilterTest.kt22
-rw-r--r--plugins/base/src/test/kotlin/filter/EmptyPackagesFilterTest.kt11
-rw-r--r--plugins/base/src/test/kotlin/filter/VisibilityFilterTest.kt22
-rw-r--r--plugins/base/src/test/kotlin/issues/IssuesTest.kt6
-rw-r--r--plugins/base/src/test/kotlin/linkableContent/LinkableContentTest.kt38
-rw-r--r--plugins/base/src/test/kotlin/locationProvider/DefaultLocationProviderTest.kt6
-rw-r--r--plugins/base/src/test/kotlin/markdown/KDocTest.kt6
-rw-r--r--plugins/base/src/test/kotlin/markdown/LinkTest.kt10
-rw-r--r--plugins/base/src/test/kotlin/model/InheritorsTest.kt8
-rw-r--r--plugins/base/src/test/kotlin/model/PropertyTest.kt6
-rw-r--r--plugins/base/src/test/kotlin/multiplatform/BasicMultiplatformTest.kt10
-rw-r--r--plugins/base/src/test/kotlin/pageMerger/PageNodeMergerTest.kt10
-rw-r--r--plugins/base/src/test/kotlin/renderers/html/DivergentTest.kt8
-rw-r--r--plugins/base/src/test/kotlin/renderers/html/SourceSetDependentHintTest.kt8
-rw-r--r--plugins/base/src/test/kotlin/renderers/html/defaultSourceSet.kt9
-rw-r--r--plugins/base/src/test/kotlin/resourceLinks/ResourceLinksTest.kt6
-rw-r--r--plugins/base/src/test/kotlin/transformerBuilders/PageTransformerBuilderTest.kt12
-rw-r--r--plugins/base/src/test/kotlin/transformers/ReportUndocumentedTransformerTest.kt136
-rw-r--r--plugins/base/src/test/kotlin/translators/DefaultPsiToDocumentableTranslatorTest.kt14
-rw-r--r--plugins/base/src/test/kotlin/utils/ModelUtils.kt4
-rw-r--r--plugins/gfm/src/main/kotlin/GfmPlugin.kt6
-rw-r--r--plugins/javadoc/src/test/kotlin/javadoc/AbstractJavadocTemplateMapTest.kt5
-rw-r--r--plugins/javadoc/src/test/kotlin/javadoc/JavadocTest.kt4
-rw-r--r--plugins/javadoc/src/test/kotlin/javadoc/location/JavadocLocationTest.kt6
-rw-r--r--plugins/kotlin-as-java/src/test/kotlin/KotlinAsJavaPluginTest.kt13
-rw-r--r--runners/ant/build.gradle18
-rw-r--r--runners/ant/src/main/kotlin/ant/dokka.kt210
-rw-r--r--runners/ant/src/main/resources/dokka-antlib.xml3
-rw-r--r--runners/cli/build.gradle.kts3
-rw-r--r--runners/cli/src/main/kotlin/cli/main.kt57
-rw-r--r--runners/gradle-plugin/build.gradle.kts2
-rw-r--r--runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/ConfigurationExtractor.kt2
-rw-r--r--runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaCollectorTask.kt8
-rw-r--r--runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaSourceSetIDFactory.kt10
-rw-r--r--runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaTask.kt36
-rw-r--r--runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt93
-rw-r--r--runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/main.kt4
-rw-r--r--runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/KotlinDslDokkaTaskConfigurationTest.kt77
-rw-r--r--runners/maven-plugin/src/main/kotlin/DokkaMojo.kt14
-rw-r--r--testApi/src/main/kotlin/testApi/context/MockContext.kt3
-rw-r--r--testApi/src/main/kotlin/testApi/testRunner/DokkaTestGenerator.kt3
-rw-r--r--testApi/src/main/kotlin/testApi/testRunner/TestRunner.kt19
69 files changed, 567 insertions, 634 deletions
diff --git a/build.gradle.kts b/build.gradle.kts
index c94faa77..04f4afd4 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -19,7 +19,7 @@ allprojects {
val language_version: String by project
tasks.withType(KotlinCompile::class).all {
kotlinOptions {
- freeCompilerArgs += "-Xjsr305=strict -Xskip-metadata-version-check"
+ freeCompilerArgs += "-Xjsr305=strict -Xskip-metadata-version-check -Xopt-in=kotlin.RequiresOptIn."
languageVersion = language_version
apiVersion = language_version
jvmTarget = "1.8"
@@ -49,4 +49,4 @@ subprojects {
}
}
-println("Publication version: $dokka_version") \ No newline at end of file
+println("Publication version: $dokka_version")
diff --git a/core/src/main/kotlin/DokkaBootstrapImpl.kt b/core/src/main/kotlin/DokkaBootstrapImpl.kt
index bd632546..be3d6c9b 100644
--- a/core/src/main/kotlin/DokkaBootstrapImpl.kt
+++ b/core/src/main/kotlin/DokkaBootstrapImpl.kt
@@ -1,8 +1,6 @@
package org.jetbrains.dokka
-import com.google.gson.Gson
import org.jetbrains.dokka.DokkaConfiguration.PackageOptions
-import org.jetbrains.dokka.utilities.DokkaConsoleLogger
import org.jetbrains.dokka.utilities.DokkaLogger
import java.util.function.BiConsumer
@@ -80,7 +78,6 @@ class DokkaBootstrapImpl : DokkaBootstrap {
}
private lateinit var generator: DokkaGenerator
- val gson = Gson()
fun configure(logger: DokkaLogger, configuration: DokkaConfigurationImpl) = with(configuration) {
@@ -113,7 +110,7 @@ class DokkaBootstrapImpl : DokkaBootstrap {
override fun configure(logger: BiConsumer<String, String>, serializedConfigurationJSON: String) = configure(
DokkaProxyLogger(logger),
- gson.fromJson(serializedConfigurationJSON, DokkaConfigurationImpl::class.java)
+ DokkaConfigurationImpl(serializedConfigurationJSON)
)
override fun generate() = generator.generate()
diff --git a/core/src/main/kotlin/DokkaGenerator.kt b/core/src/main/kotlin/DokkaGenerator.kt
index ce8d229a..ee1adf0b 100644
--- a/core/src/main/kotlin/DokkaGenerator.kt
+++ b/core/src/main/kotlin/DokkaGenerator.kt
@@ -68,7 +68,7 @@ class DokkaGenerator(
fun createDocumentationModels(
context: DokkaContext
) = context.configuration.sourceSets
- .flatMap { passConfiguration -> translateSources(passConfiguration, context) }
+ .flatMap { sourceSet -> translateSources(sourceSet, context) }
fun transformDocumentationModelBeforeMerge(
modulesFromPlatforms: List<DModule>,
diff --git a/core/src/main/kotlin/DokkaMultimoduleBootstrapImpl.kt b/core/src/main/kotlin/DokkaMultimoduleBootstrapImpl.kt
index 6825ce64..70b99f8d 100644
--- a/core/src/main/kotlin/DokkaMultimoduleBootstrapImpl.kt
+++ b/core/src/main/kotlin/DokkaMultimoduleBootstrapImpl.kt
@@ -1,6 +1,5 @@
package org.jetbrains.dokka
-import com.google.gson.Gson
import org.jetbrains.dokka.DokkaBootstrapImpl.DokkaProxyLogger
import org.jetbrains.dokka.utilities.DokkaLogger
import java.util.function.BiConsumer
@@ -15,11 +14,11 @@ class DokkaMultimoduleBootstrapImpl : DokkaBootstrap {
override fun configure(logger: BiConsumer<String, String>, serializedConfigurationJSON: String) = configure(
DokkaProxyLogger(logger),
- Gson().fromJson(serializedConfigurationJSON, DokkaConfigurationImpl::class.java)
+ DokkaConfigurationImpl(serializedConfigurationJSON)
)
override fun generate() {
generator.generateAllModulesPage()
}
-} \ No newline at end of file
+}
diff --git a/core/src/main/kotlin/configuration.kt b/core/src/main/kotlin/configuration.kt
index 463d2342..c531ab9a 100644
--- a/core/src/main/kotlin/configuration.kt
+++ b/core/src/main/kotlin/configuration.kt
@@ -1,6 +1,10 @@
+@file:Suppress("FunctionName")
+
package org.jetbrains.dokka
+import com.google.gson.Gson
import java.io.File
+import java.io.Serializable
import java.net.URL
object DokkaDefaults {
@@ -43,6 +47,23 @@ enum class Platform(val key: String) {
}
}
+data class DokkaSourceSetID(
+ val moduleName: String,
+ val sourceSetName: String
+) : Serializable {
+ override fun toString(): String {
+ return "$moduleName/$sourceSetName"
+ }
+}
+
+fun DokkaConfigurationImpl(json: String): DokkaConfigurationImpl {
+ return Gson().fromJson(json, DokkaConfigurationImpl::class.java)
+}
+
+fun DokkaConfiguration.toJson(): String {
+ return Gson().toJson(this)
+}
+
interface DokkaConfiguration {
val outputDir: String
val format: String
@@ -55,12 +76,12 @@ interface DokkaConfiguration {
val pluginsConfiguration: Map<String, String>
interface DokkaSourceSet {
- val moduleName: String
+ val sourceSetID: DokkaSourceSetID
val displayName: String
- val sourceSetID: String
+ val moduleDisplayName: String
val classpath: List<String>
val sourceRoots: List<SourceRoot>
- val dependentSourceSets: List<String>
+ val dependentSourceSets: Set<DokkaSourceSetID>
val samples: List<String>
val includes: List<String>
val includeNonPublic: Boolean
diff --git a/core/src/main/kotlin/defaultConfiguration.kt b/core/src/main/kotlin/defaultConfiguration.kt
index d3ac9df2..47bd7fe2 100644
--- a/core/src/main/kotlin/defaultConfiguration.kt
+++ b/core/src/main/kotlin/defaultConfiguration.kt
@@ -1,5 +1,6 @@
package org.jetbrains.dokka
+import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet
import java.io.File
import java.net.URL
@@ -16,12 +17,12 @@ data class DokkaConfigurationImpl(
) : DokkaConfiguration
data class DokkaSourceSetImpl(
- override val moduleName: String,
+ override val moduleDisplayName: String,
override val displayName: String,
- override val sourceSetID: String,
+ override val sourceSetID: DokkaSourceSetID,
override val classpath: List<String>,
override val sourceRoots: List<SourceRootImpl>,
- override val dependentSourceSets: List<String>,
+ override val dependentSourceSets: Set<DokkaSourceSetID>,
override val samples: List<String>,
override val includes: List<String>,
override val includeNonPublic: Boolean,
@@ -39,23 +40,23 @@ data class DokkaSourceSetImpl(
override val noJdkLink: Boolean,
override val suppressedFiles: List<String>,
override val analysisPlatform: Platform
-) : DokkaConfiguration.DokkaSourceSet
+) : DokkaSourceSet
data class DokkaModuleDescriptionImpl(
override val name: String,
override val path: String,
override val docFile: String
-): DokkaConfiguration.DokkaModuleDescription
+) : DokkaConfiguration.DokkaModuleDescription
data class SourceRootImpl(
override val path: String
-): DokkaConfiguration.SourceRoot
+) : DokkaConfiguration.SourceRoot
data class SourceLinkDefinitionImpl(
override val path: String,
override val url: String,
override val lineSuffix: String?
-): DokkaConfiguration.SourceLinkDefinition {
+) : DokkaConfiguration.SourceLinkDefinition {
companion object {
fun parseSourceLinkDefinition(srcLink: String): SourceLinkDefinitionImpl {
val (path, urlAndLine) = srcLink.split('=')
@@ -73,9 +74,10 @@ data class PackageOptionsImpl(
override val reportUndocumented: Boolean?,
override val skipDeprecated: Boolean,
override val suppress: Boolean
-): DokkaConfiguration.PackageOptions
+) : DokkaConfiguration.PackageOptions
-data class ExternalDocumentationLinkImpl(override val url: URL,
- override val packageListUrl: URL
+data class ExternalDocumentationLinkImpl(
+ override val url: URL,
+ override val packageListUrl: URL
) : DokkaConfiguration.ExternalDocumentationLink
diff --git a/core/src/main/kotlin/plugability/DokkaPlugin.kt b/core/src/main/kotlin/plugability/DokkaPlugin.kt
index fe472b12..7ead43b8 100644
--- a/core/src/main/kotlin/plugability/DokkaPlugin.kt
+++ b/core/src/main/kotlin/plugability/DokkaPlugin.kt
@@ -82,4 +82,4 @@ inline fun <reified T : DokkaPlugin, reified R : ConfigurableBlock> configuratio
}
}
}
-} \ No newline at end of file
+}
diff --git a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/KotlinAnalysis.kt b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/KotlinAnalysis.kt
index 426ffdde..e723768c 100644
--- a/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/KotlinAnalysis.kt
+++ b/kotlin-analysis/src/main/kotlin/org/jetbrains/dokka/analysis/KotlinAnalysis.kt
@@ -3,6 +3,7 @@
package org.jetbrains.dokka.analysis
import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet
+import org.jetbrains.dokka.DokkaSourceSetID
import org.jetbrains.dokka.model.SourceSetDependent
import org.jetbrains.dokka.plugability.DokkaContext
@@ -21,7 +22,7 @@ fun KotlinAnalysis(context: DokkaContext): KotlinAnalysis {
interface KotlinAnalysis : SourceSetDependent<EnvironmentAndFacade> {
override fun get(key: DokkaSourceSet): EnvironmentAndFacade
- operator fun get(sourceSetID: String): EnvironmentAndFacade
+ operator fun get(sourceSetID: DokkaSourceSetID): EnvironmentAndFacade
}
internal class KotlinAnalysisImpl(
@@ -32,7 +33,7 @@ internal class KotlinAnalysisImpl(
return environments[key] ?: throw IllegalStateException("Missing EnvironmentAndFacade for sourceSet $key")
}
- override fun get(sourceSetID: String): EnvironmentAndFacade {
+ override fun get(sourceSetID: DokkaSourceSetID): EnvironmentAndFacade {
return environments.entries.first { (sourceSet, _) -> sourceSet.sourceSetID == sourceSetID }.value
}
}
diff --git a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
index de892bb1..f8fa3b2e 100644
--- a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
+++ b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt
@@ -94,7 +94,7 @@ open class HtmlRenderer(
group.sourceSets.forEach {
button(classes = "platform-tag platform-selector") {
attributes["data-active"] = ""
- attributes["data-filter"] = it.sourceSetID
+ attributes["data-filter"] = it.sourceSetID.toString()
when (it.analysisPlatform.key) {
"common" -> classes = classes + "common-like"
"native" -> classes = classes + "native-like"
@@ -168,10 +168,10 @@ open class HtmlRenderer(
attributes["data-toggle-list"] = "data-toggle-list"
contents.forEachIndexed { index, pair ->
button(classes = "platform-bookmark") {
- attributes["data-filterable-current"] = pair.first.sourceSetID
- attributes["data-filterable-set"] = pair.first.sourceSetID
+ attributes["data-filterable-current"] = pair.first.sourceSetID.toString()
+ attributes["data-filterable-set"] = pair.first.sourceSetID.toString()
if (index == 0) attributes["data-active"] = ""
- attributes["data-toggle"] = pair.first.sourceSetID
+ attributes["data-toggle"] = pair.first.sourceSetID.toString()
when (
pair.first.analysisPlatform.key
) {
@@ -180,7 +180,7 @@ open class HtmlRenderer(
"jvm" -> classes = classes + "jvm-like"
"js" -> classes = classes + "js-like"
}
- attributes["data-toggle"] = pair.first.sourceSetID
+ attributes["data-toggle"] = pair.first.sourceSetID.toString()
text(pair.first.displayName)
}
}
@@ -212,7 +212,7 @@ open class HtmlRenderer(
}.map {
it to createHTML(prettyPrint = false).div(classes = "content sourceset-depenent-content") {
if (counter++ == 0) attributes["data-active"] = ""
- attributes["data-togglable"] = it.sourceSetID
+ attributes["data-togglable"] = it.sourceSetID.toString()
unsafe {
+html
}
@@ -249,10 +249,10 @@ open class HtmlRenderer(
consumer.onTagContentUnsafe {
+createHTML().div("divergent-group") {
attributes["data-filterable-current"] = groupedDivergent.keys.joinToString(" ") {
- it.sourceSetID
+ it.sourceSetID.toString()
}
attributes["data-filterable-set"] = groupedDivergent.keys.joinToString(" ") {
- it.sourceSetID
+ it.sourceSetID.toString()
}
val divergentForPlatformDependent = groupedDivergent.map { (sourceSet, elements) ->
@@ -353,10 +353,10 @@ open class HtmlRenderer(
div(classes = "table-row") {
if (!style.contains(MultimoduleTable)) {
attributes["data-filterable-current"] = node.sourceSets.joinToString(" ") {
- it.sourceSetID
+ it.sourceSetID.toString()
}
attributes["data-filterable-set"] = node.sourceSets.joinToString(" ") {
- it.sourceSetID
+ it.sourceSetID.toString()
}
}
@@ -728,4 +728,4 @@ private fun String.stripDiv() = drop(5).dropLast(6) // TODO: Find a way to do it
private val PageNode.isNavigable: Boolean
get() = this !is RendererSpecificPage || strategy != RenderingStrategy.DoNothing
-fun PropertyContainer<ContentNode>.extraHtmlAttributes() = allOfType<SimpleAttr>() \ No newline at end of file
+fun PropertyContainer<ContentNode>.extraHtmlAttributes() = allOfType<SimpleAttr>()
diff --git a/plugins/base/src/main/kotlin/signatures/JvmSignatureUtils.kt b/plugins/base/src/main/kotlin/signatures/JvmSignatureUtils.kt
index f042eae3..2a242948 100644
--- a/plugins/base/src/main/kotlin/signatures/JvmSignatureUtils.kt
+++ b/plugins/base/src/main/kotlin/signatures/JvmSignatureUtils.kt
@@ -1,6 +1,5 @@
package org.jetbrains.dokka.base.signatures
-import org.jetbrains.dokka.DokkaConfiguration
import org.jetbrains.dokka.base.translators.documentables.PageContentBuilder
import org.jetbrains.dokka.links.DRI
import org.jetbrains.dokka.model.*
@@ -142,4 +141,4 @@ interface JvmSignatureUtils {
sealed class AtStrategy
object All : AtStrategy()
object OnlyOnce : AtStrategy()
-object Never : AtStrategy() \ No newline at end of file
+object Never : AtStrategy()
diff --git a/plugins/base/src/main/kotlin/transformers/documentables/DocumentableVisibilityFilterTransformer.kt b/plugins/base/src/main/kotlin/transformers/documentables/DocumentableVisibilityFilterTransformer.kt
index c3cc4d38..ff05beed 100644
--- a/plugins/base/src/main/kotlin/transformers/documentables/DocumentableVisibilityFilterTransformer.kt
+++ b/plugins/base/src/main/kotlin/transformers/documentables/DocumentableVisibilityFilterTransformer.kt
@@ -9,11 +9,9 @@ import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet
class DocumentableVisibilityFilterTransformer(val context: DokkaContext) : PreMergeDocumentableTransformer {
override fun invoke(modules: List<DModule>) = modules.map { original ->
- val passOptions = original.sourceSets.single()
- val packageOptions = passOptions.perPackageOptions
- original.let {
- DocumentableVisibilityFilter(packageOptions, passOptions).processModule(it)
- }
+ val sourceSet = original.sourceSets.single()
+ val packageOptions = sourceSet.perPackageOptions
+ DocumentableVisibilityFilter(packageOptions, sourceSet).processModule(original)
}
private class DocumentableVisibilityFilter(
@@ -45,7 +43,7 @@ class DocumentableVisibilityFilterTransformer(val context: DokkaContext) : PreMe
private fun filterPackages(packages: List<DPackage>): Pair<Boolean, List<DPackage>> {
var packagesListChanged = false
- val filteredPackages = packages.mapNotNull {
+ val filteredPackages = packages.map {
var modified = false
val functions = filterFunctions(it.functions).let { (listModified, list) ->
modified = modified || listModified
@@ -326,4 +324,4 @@ class DocumentableVisibilityFilterTransformer(val context: DokkaContext) : PreMe
return Pair(classlikesListChanged, filteredClasslikes)
}
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/main/kotlin/transformers/documentables/EmptyPackagesFilterTransformer.kt b/plugins/base/src/main/kotlin/transformers/documentables/EmptyPackagesFilterTransformer.kt
index 3fd0081a..61abfbd7 100644
--- a/plugins/base/src/main/kotlin/transformers/documentables/EmptyPackagesFilterTransformer.kt
+++ b/plugins/base/src/main/kotlin/transformers/documentables/EmptyPackagesFilterTransformer.kt
@@ -14,9 +14,9 @@ class EmptyPackagesFilterTransformer(val context: DokkaContext) : PreMergeDocume
}
private class EmptyPackagesFilter(
- val passOptions: DokkaConfiguration.DokkaSourceSet
+ val sourceSet: DokkaConfiguration.DokkaSourceSet
) {
- fun DPackage.shouldBeSkipped() = passOptions.skipEmptyPackages &&
+ fun DPackage.shouldBeSkipped() = sourceSet.skipEmptyPackages &&
functions.isEmpty() &&
properties.isEmpty() &&
classlikes.isEmpty()
@@ -25,4 +25,4 @@ class EmptyPackagesFilterTransformer(val context: DokkaContext) : PreMergeDocume
packages = module.packages.filter { !it.shouldBeSkipped() }
)
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationTransformer.kt b/plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationTransformer.kt
index 1f718a7c..a0800da8 100644
--- a/plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationTransformer.kt
+++ b/plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationTransformer.kt
@@ -1,12 +1,10 @@
package org.jetbrains.dokka.base.transformers.documentables
-import org.jetbrains.dokka.analysis.EnvironmentAndFacade
import org.jetbrains.dokka.analysis.KotlinAnalysis
import org.jetbrains.dokka.model.DModule
import org.jetbrains.dokka.model.doc.DocumentationNode
import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet
import org.jetbrains.dokka.base.parsers.MarkdownParser
-import org.jetbrains.dokka.model.SourceSetDependent
import org.jetbrains.dokka.plugability.DokkaContext
import org.jetbrains.dokka.transformers.documentation.PreMergeDocumentableTransformer
import org.jetbrains.kotlin.name.FqName
@@ -24,7 +22,7 @@ internal class ModuleAndPackageDocumentationTransformer(
val modulesAndPackagesDocumentation =
context.configuration.sourceSets
.map {
- Pair(it.moduleName, it) to
+ Pair(it.moduleDisplayName, it) to
it.includes.map { Paths.get(it) }
.also {
it.forEach {
diff --git a/plugins/base/src/main/kotlin/transformers/pages/samples/SamplesTransformer.kt b/plugins/base/src/main/kotlin/transformers/pages/samples/SamplesTransformer.kt
index b39715a7..41dea1a2 100644
--- a/plugins/base/src/main/kotlin/transformers/pages/samples/SamplesTransformer.kt
+++ b/plugins/base/src/main/kotlin/transformers/pages/samples/SamplesTransformer.kt
@@ -67,7 +67,7 @@ abstract class SamplesTransformer(val context: DokkaContext) : PageTransformer {
analysis: Map<DokkaSourceSet, EnvironmentAndFacade>
): ContentNode {
val facade = analysis[platform]?.facade
- ?: return this.also { context.logger.warn("Cannot resolve facade for platform ${platform.moduleName}") }
+ ?: return this.also { context.logger.warn("Cannot resolve facade for platform ${platform.moduleDisplayName}") }
val psiElement = fqNameToPsiElement(facade, fqName)
?: return this.also { context.logger.warn("Cannot find PsiElement corresponding to $fqName") }
val imports =
@@ -147,4 +147,4 @@ abstract class SamplesTransformer(val context: DokkaContext) : PageTransformer {
style = styles + ContentStyle.RunnableSample + TextStyle.Monospace,
extra = extra
)
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt
index 9cdd251c..b0374014 100644
--- a/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt
+++ b/plugins/base/src/main/kotlin/translators/descriptors/DefaultDescriptorToDocumentableTranslator.kt
@@ -23,7 +23,6 @@ import org.jetbrains.kotlin.descriptors.annotations.Annotated
import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor
import org.jetbrains.kotlin.descriptors.impl.DeclarationDescriptorVisitorEmptyBodies
import org.jetbrains.kotlin.idea.kdoc.findKDoc
-import org.jetbrains.kotlin.idea.kdoc.isBoringBuiltinClass
import org.jetbrains.kotlin.load.kotlin.toSourceElement
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.*
@@ -36,7 +35,6 @@ import org.jetbrains.kotlin.resolve.constants.KClassValue.Value.NormalClass
import org.jetbrains.kotlin.resolve.descriptorUtil.annotationClass
import org.jetbrains.kotlin.resolve.descriptorUtil.getAllSuperclassesWithoutAny
import org.jetbrains.kotlin.resolve.descriptorUtil.getSuperInterfaces
-import org.jetbrains.kotlin.resolve.jvm.isInlineClassThatRequiresMangling
import org.jetbrains.kotlin.resolve.scopes.DescriptorKindFilter
import org.jetbrains.kotlin.resolve.scopes.MemberScope
import org.jetbrains.kotlin.resolve.source.KotlinSourceElement
@@ -71,7 +69,7 @@ class DefaultDescriptorToDocumentableTranslator(
DRIWithPlatformInfo(DRI.topLevel, emptyMap())
)
}
- }.let { DModule(sourceSet.moduleName, it, emptyMap(), null, setOf(sourceSet)) }
+ }.let { DModule(sourceSet.moduleDisplayName, it, emptyMap(), null, setOf(sourceSet)) }
}
}
diff --git a/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt b/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt
index 76f8319d..5a55e3ec 100644
--- a/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt
+++ b/plugins/base/src/main/kotlin/translators/psi/DefaultPsiToDocumentableTranslator.kt
@@ -68,7 +68,7 @@ class DefaultPsiToDocumentableTranslator(
context.logger
)
return DModule(
- sourceSet.moduleName,
+ sourceSet.moduleDisplayName,
psiFiles.mapNotNull { it.safeAs<PsiJavaFile>() }.groupBy { it.packageName }.map { (packageName, psiFiles) ->
val dri = DRI(packageName = packageName)
DPackage(
diff --git a/plugins/base/src/test/kotlin/basic/DRITest.kt b/plugins/base/src/test/kotlin/basic/DRITest.kt
index 1f4c7d93..559a2dbf 100644
--- a/plugins/base/src/test/kotlin/basic/DRITest.kt
+++ b/plugins/base/src/test/kotlin/basic/DRITest.kt
@@ -5,19 +5,19 @@ import org.jetbrains.dokka.links.Callable
import org.jetbrains.dokka.links.Nullable
import org.jetbrains.dokka.links.TypeConstructor
import org.jetbrains.dokka.model.*
-import org.jetbrains.dokka.pages.*
-import org.jetbrains.dokka.pages.dfs
-import org.junit.jupiter.api.Assertions.assertEquals
+import org.jetbrains.dokka.pages.ClasslikePageNode
+import org.jetbrains.dokka.pages.ContentPage
+import org.jetbrains.dokka.pages.MemberPageNode
import org.jetbrains.dokka.testApi.testRunner.AbstractCoreTest
-
+import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
class DRITest : AbstractCoreTest() {
@Test
fun issue634() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
}
}
@@ -52,8 +52,8 @@ class DRITest : AbstractCoreTest() {
@Test
fun issue634WithImmediateNullableSelf() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
}
}
@@ -82,8 +82,8 @@ class DRITest : AbstractCoreTest() {
@Test
fun issue634WithGenericNullableReceiver() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
}
}
@@ -112,8 +112,8 @@ class DRITest : AbstractCoreTest() {
@Test
fun issue642WithStarAndAny() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
analysisPlatform = "js"
sourceRoots = listOf("src/")
}
@@ -171,8 +171,8 @@ class DRITest : AbstractCoreTest() {
@Test
fun driForGenericClass(){
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
}
}
@@ -201,8 +201,8 @@ class DRITest : AbstractCoreTest() {
@Test
fun driForGenericFunction(){
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
classpath = listOfNotNull(jvmStdlibPath)
}
@@ -243,8 +243,8 @@ class DRITest : AbstractCoreTest() {
@Test
fun driForFunctionNestedInsideInnerClass() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
classpath = listOfNotNull(jvmStdlibPath)
}
@@ -280,8 +280,8 @@ class DRITest : AbstractCoreTest() {
@Test
fun driForGenericExtensionFunction(){
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
}
}
diff --git a/plugins/base/src/test/kotlin/basic/DokkaBasicTests.kt b/plugins/base/src/test/kotlin/basic/DokkaBasicTests.kt
index 5cc17bf3..bceb79ae 100644
--- a/plugins/base/src/test/kotlin/basic/DokkaBasicTests.kt
+++ b/plugins/base/src/test/kotlin/basic/DokkaBasicTests.kt
@@ -11,8 +11,8 @@ class DokkaBasicTests : AbstractCoreTest() {
@Test
fun basic1() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin/basic/Test.kt")
}
}
@@ -39,4 +39,4 @@ class DokkaBasicTests : AbstractCoreTest() {
private fun ModulePageNode.getClasslikeToMemberMap() =
this.parentMap.filterValues { it is ClasslikePageNode }.entries.groupBy({ it.value }) { it.key }
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/basic/FailOnWarningTest.kt b/plugins/base/src/test/kotlin/basic/FailOnWarningTest.kt
index d548b75b..9d2c5825 100644
--- a/plugins/base/src/test/kotlin/basic/FailOnWarningTest.kt
+++ b/plugins/base/src/test/kotlin/basic/FailOnWarningTest.kt
@@ -14,8 +14,8 @@ class FailOnWarningTest : AbstractCoreTest() {
fun `throws exception if one or more warnings were emitted`() {
val configuration = dokkaConfiguration {
failOnWarning = true
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin")
}
}
@@ -39,8 +39,8 @@ class FailOnWarningTest : AbstractCoreTest() {
fun `throws exception if one or more error were emitted`() {
val configuration = dokkaConfiguration {
failOnWarning = true
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin")
}
}
@@ -66,8 +66,8 @@ class FailOnWarningTest : AbstractCoreTest() {
val configuration = dokkaConfiguration {
failOnWarning = true
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin")
}
}
@@ -88,8 +88,8 @@ class FailOnWarningTest : AbstractCoreTest() {
fun `does not throw if disabled`() {
val configuration = dokkaConfiguration {
failOnWarning = false
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin")
}
}
@@ -115,4 +115,4 @@ private class ZeroErrorOrWarningCountDokkaLogger(
) : DokkaLogger by logger {
override var warningsCount: Int = 0
override var errorsCount: Int = 0
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/content/annotations/ContentForAnnotationsTest.kt b/plugins/base/src/test/kotlin/content/annotations/ContentForAnnotationsTest.kt
index 7add4119..bf78b847 100644
--- a/plugins/base/src/test/kotlin/content/annotations/ContentForAnnotationsTest.kt
+++ b/plugins/base/src/test/kotlin/content/annotations/ContentForAnnotationsTest.kt
@@ -14,8 +14,8 @@ class ContentForAnnotationsTest : AbstractCoreTest() {
private val testConfiguration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
analysisPlatform = "jvm"
}
@@ -218,4 +218,4 @@ class ContentForAnnotationsTest : AbstractCoreTest() {
}
}
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/content/annotations/DepredatedAndSinceKotlinTest.kt b/plugins/base/src/test/kotlin/content/annotations/DepredatedAndSinceKotlinTest.kt
index 99ec25c5..69de1bcd 100644
--- a/plugins/base/src/test/kotlin/content/annotations/DepredatedAndSinceKotlinTest.kt
+++ b/plugins/base/src/test/kotlin/content/annotations/DepredatedAndSinceKotlinTest.kt
@@ -3,19 +3,17 @@ package content.annotations
import matchers.content.*
import org.jetbrains.dokka.pages.ContentPage
-import org.jetbrains.dokka.pages.PackagePageNode
import org.jetbrains.dokka.testApi.testRunner.AbstractCoreTest
import org.junit.jupiter.api.Test
import utils.ParamAttributes
import utils.bareSignature
-import utils.propertySignature
class DepredatedAndSinceKotlinTest : AbstractCoreTest() {
private val testConfiguration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
analysisPlatform = "jvm"
}
@@ -102,4 +100,4 @@ class DepredatedAndSinceKotlinTest : AbstractCoreTest() {
}
}
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/content/params/ContentForParamsTest.kt b/plugins/base/src/test/kotlin/content/params/ContentForParamsTest.kt
index f6e80891..a9689bc5 100644
--- a/plugins/base/src/test/kotlin/content/params/ContentForParamsTest.kt
+++ b/plugins/base/src/test/kotlin/content/params/ContentForParamsTest.kt
@@ -17,8 +17,8 @@ import utils.*
class ContentForParamsTest : AbstractCoreTest() {
private val testConfiguration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
analysisPlatform = "jvm"
}
diff --git a/plugins/base/src/test/kotlin/content/seealso/ContentForSeeAlsoTest.kt b/plugins/base/src/test/kotlin/content/seealso/ContentForSeeAlsoTest.kt
index 696c3032..24970660 100644
--- a/plugins/base/src/test/kotlin/content/seealso/ContentForSeeAlsoTest.kt
+++ b/plugins/base/src/test/kotlin/content/seealso/ContentForSeeAlsoTest.kt
@@ -11,8 +11,8 @@ import utils.unnamedTag
class ContentForSeeAlsoTest : AbstractCoreTest() {
private val testConfiguration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
analysisPlatform = "jvm"
}
@@ -456,4 +456,4 @@ class ContentForSeeAlsoTest : AbstractCoreTest() {
}
}
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/content/signatures/ContentForSignaturesTest.kt b/plugins/base/src/test/kotlin/content/signatures/ContentForSignaturesTest.kt
index 6cb8b0f4..cabe822d 100644
--- a/plugins/base/src/test/kotlin/content/signatures/ContentForSignaturesTest.kt
+++ b/plugins/base/src/test/kotlin/content/signatures/ContentForSignaturesTest.kt
@@ -14,8 +14,8 @@ import utils.typealiasSignature
class ContentForSignaturesTest : AbstractCoreTest() {
private val testConfiguration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
analysisPlatform = "jvm"
includeNonPublic = true
diff --git a/plugins/base/src/test/kotlin/content/signatures/SkippingParenthesisForConstructorsTest.kt b/plugins/base/src/test/kotlin/content/signatures/SkippingParenthesisForConstructorsTest.kt
index d203025b..c2fbd26f 100644
--- a/plugins/base/src/test/kotlin/content/signatures/SkippingParenthesisForConstructorsTest.kt
+++ b/plugins/base/src/test/kotlin/content/signatures/SkippingParenthesisForConstructorsTest.kt
@@ -8,8 +8,8 @@ import utils.functionSignature
class ConstructorsSignaturesTest : AbstractCoreTest() {
private val testConfiguration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
analysisPlatform = "jvm"
}
@@ -190,4 +190,4 @@ class ConstructorsSignaturesTest : AbstractCoreTest() {
}
}
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/enums/EnumsTest.kt b/plugins/base/src/test/kotlin/enums/EnumsTest.kt
index be910b5c..6a973f8e 100644
--- a/plugins/base/src/test/kotlin/enums/EnumsTest.kt
+++ b/plugins/base/src/test/kotlin/enums/EnumsTest.kt
@@ -14,8 +14,8 @@ class EnumsTest : AbstractCoreTest() {
@Test
fun basicEnum() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
}
}
@@ -45,8 +45,8 @@ class EnumsTest : AbstractCoreTest() {
@Test
fun enumWithCompanion() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
}
}
@@ -90,8 +90,8 @@ class EnumsTest : AbstractCoreTest() {
@Test
fun enumWithConstructor() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
}
}
@@ -136,8 +136,8 @@ class EnumsTest : AbstractCoreTest() {
@Test
fun enumWithMethods() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
}
}
@@ -179,8 +179,8 @@ class EnumsTest : AbstractCoreTest() {
@Test
fun enumWithAnnotationsOnEntries(){
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
}
}
diff --git a/plugins/base/src/test/kotlin/expect/AbstractExpectTest.kt b/plugins/base/src/test/kotlin/expect/AbstractExpectTest.kt
index 3b69a54e..4dfdc410 100644
--- a/plugins/base/src/test/kotlin/expect/AbstractExpectTest.kt
+++ b/plugins/base/src/test/kotlin/expect/AbstractExpectTest.kt
@@ -15,8 +15,8 @@ abstract class AbstractExpectTest(
protected fun generateOutput(path: Path, outFormat: String): Path? {
val config = dokkaConfiguration {
format = outFormat
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf(path.toAbsolutePath().asString())
}
}
@@ -101,4 +101,4 @@ abstract class AbstractExpectTest(
ret?.let { Files.list(it).forEach { f -> f.copyRecursively(out.resolve(f.fileName)) } }
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/filter/DeprecationFilterTest.kt b/plugins/base/src/test/kotlin/filter/DeprecationFilterTest.kt
index c15e53e8..c8b9f2d4 100644
--- a/plugins/base/src/test/kotlin/filter/DeprecationFilterTest.kt
+++ b/plugins/base/src/test/kotlin/filter/DeprecationFilterTest.kt
@@ -9,8 +9,8 @@ class DeprecationFilterTest : AbstractCoreTest() {
@Test
fun `function with false global skipDeprecated`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
skipDeprecated = false
sourceRoots = listOf("src/main/kotlin/basic/Test.kt")
}
@@ -39,8 +39,8 @@ class DeprecationFilterTest : AbstractCoreTest() {
@Test
fun `deprecated function with false global skipDeprecated`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
skipDeprecated = false
sourceRoots = listOf("src/main/kotlin/basic/Test.kt")
}
@@ -69,8 +69,8 @@ class DeprecationFilterTest : AbstractCoreTest() {
@Test
fun `deprecated function with true global skipDeprecated`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin/basic/Test.kt")
skipDeprecated = true
}
@@ -99,8 +99,8 @@ class DeprecationFilterTest : AbstractCoreTest() {
@Test
fun `deprecated function with false global true package skipDeprecated`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin/basic/Test.kt")
skipDeprecated = false
perPackageOptions = mutableListOf(
@@ -136,8 +136,8 @@ class DeprecationFilterTest : AbstractCoreTest() {
@Test
fun `deprecated function with true global false package skipDeprecated`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin/basic/Test.kt")
skipDeprecated = true
perPackageOptions = mutableListOf(
@@ -170,4 +170,4 @@ class DeprecationFilterTest : AbstractCoreTest() {
}
}
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/filter/EmptyPackagesFilterTest.kt b/plugins/base/src/test/kotlin/filter/EmptyPackagesFilterTest.kt
index 7d96541b..e5b9e9c2 100644
--- a/plugins/base/src/test/kotlin/filter/EmptyPackagesFilterTest.kt
+++ b/plugins/base/src/test/kotlin/filter/EmptyPackagesFilterTest.kt
@@ -1,6 +1,5 @@
package filter
-import org.jetbrains.dokka.PackageOptionsImpl
import org.jetbrains.dokka.testApi.testRunner.AbstractCoreTest
import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Test
@@ -9,8 +8,8 @@ class EmptyPackagesFilterTest : AbstractCoreTest() {
@Test
fun `empty package with false skipEmptyPackages`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
skipEmptyPackages = false
sourceRoots = listOf("src/main/kotlin/basic/Test.kt")
}
@@ -37,8 +36,8 @@ class EmptyPackagesFilterTest : AbstractCoreTest() {
@Test
fun `empty package with true skipEmptyPackages`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
skipEmptyPackages = true
sourceRoots = listOf("src/main/kotlin/basic/Test.kt")
}
@@ -61,4 +60,4 @@ class EmptyPackagesFilterTest : AbstractCoreTest() {
}
}
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/filter/VisibilityFilterTest.kt b/plugins/base/src/test/kotlin/filter/VisibilityFilterTest.kt
index 5e8e33dc..192de449 100644
--- a/plugins/base/src/test/kotlin/filter/VisibilityFilterTest.kt
+++ b/plugins/base/src/test/kotlin/filter/VisibilityFilterTest.kt
@@ -9,8 +9,8 @@ class VisibilityFilterTest : AbstractCoreTest() {
@Test
fun `public function with false global includeNonPublic`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
includeNonPublic = false
sourceRoots = listOf("src/main/kotlin/basic/Test.kt")
}
@@ -39,8 +39,8 @@ class VisibilityFilterTest : AbstractCoreTest() {
@Test
fun `private function with false global includeNonPublic`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
includeNonPublic = false
sourceRoots = listOf("src/main/kotlin/basic/Test.kt")
}
@@ -69,8 +69,8 @@ class VisibilityFilterTest : AbstractCoreTest() {
@Test
fun `private function with true global includeNonPublic`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin/basic/Test.kt")
includeNonPublic = true
}
@@ -99,8 +99,8 @@ class VisibilityFilterTest : AbstractCoreTest() {
@Test
fun `private function with false global true package includeNonPublic`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin/basic/Test.kt")
includeNonPublic = false
perPackageOptions = mutableListOf(
@@ -136,8 +136,8 @@ class VisibilityFilterTest : AbstractCoreTest() {
@Test
fun `private function with true global false package includeNonPublic`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin/basic/Test.kt")
includeNonPublic = true
perPackageOptions = mutableListOf(
@@ -170,4 +170,4 @@ class VisibilityFilterTest : AbstractCoreTest() {
}
}
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/issues/IssuesTest.kt b/plugins/base/src/test/kotlin/issues/IssuesTest.kt
index f67229b7..7b065349 100644
--- a/plugins/base/src/test/kotlin/issues/IssuesTest.kt
+++ b/plugins/base/src/test/kotlin/issues/IssuesTest.kt
@@ -34,8 +34,8 @@ class IssuesTest : AbstractModelTest("/src/main/kotlin/issues/Test.kt", "issues"
|}
""",
configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
classpath = listOfNotNull(jvmStdlibPath)
}
@@ -70,4 +70,4 @@ class IssuesTest : AbstractModelTest("/src/main/kotlin/issues/Test.kt", "issues"
// }
// }
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/linkableContent/LinkableContentTest.kt b/plugins/base/src/test/kotlin/linkableContent/LinkableContentTest.kt
index 191df066..2775fcf4 100644
--- a/plugins/base/src/test/kotlin/linkableContent/LinkableContentTest.kt
+++ b/plugins/base/src/test/kotlin/linkableContent/LinkableContentTest.kt
@@ -23,23 +23,23 @@ class LinkableContentTest : AbstractCoreTest() {
val includesDir = getTestDataDir("linkable/includes").toAbsolutePath()
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
moduleName = "example"
analysisPlatform = "js"
sourceRoots = listOf("jsMain", "commonMain", "jvmAndJsSecondCommonMain").map {
Paths.get("$testDataDir/$it/kotlin").toString()
}
- sourceSetID = "js"
+ name = "js"
includes = listOf(Paths.get("$includesDir/include2.md").toString())
}
- pass {
+ sourceSet {
moduleName = "example"
analysisPlatform = "jvm"
sourceRoots = listOf("jvmMain", "commonMain", "jvmAndJsSecondCommonMain").map {
Paths.get("$testDataDir/$it/kotlin").toString()
}
- sourceSetID = "jvm"
+ name = "jvm"
includes = listOf(Paths.get("$includesDir/include1.md").toString())
}
}
@@ -62,8 +62,8 @@ class LinkableContentTest : AbstractCoreTest() {
val testDataDir = getTestDataDir("linkable/sources").toAbsolutePath()
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
moduleName = "example"
analysisPlatform = "js"
sourceRoots = listOf("$testDataDir/jsMain/kotlin")
@@ -74,9 +74,9 @@ class LinkableContentTest : AbstractCoreTest() {
lineSuffix = "#L"
)
)
- sourceSetID = "js"
+ name = "js"
}
- pass {
+ sourceSet {
moduleName = "example"
analysisPlatform = "jvm"
sourceRoots = listOf("$testDataDir/jvmMain/kotlin")
@@ -87,7 +87,7 @@ class LinkableContentTest : AbstractCoreTest() {
lineSuffix = "#L"
)
)
- sourceSetID = "jvm"
+ name = "jvm"
}
}
}
@@ -127,19 +127,19 @@ class LinkableContentTest : AbstractCoreTest() {
val testDataDir = getTestDataDir("linkable/samples").toAbsolutePath()
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
moduleName = "example"
analysisPlatform = "js"
sourceRoots = listOf("$testDataDir/jsMain/kotlin")
- sourceSetID = "js"
+ name = "js"
samples = listOf("$testDataDir/jsMain/resources/Samples.kt")
}
- pass {
+ sourceSet {
moduleName = "example"
analysisPlatform = "jvm"
sourceRoots = listOf("$testDataDir/jvmMain/kotlin")
- sourceSetID = "jvm"
+ name = "jvm"
samples = listOf("$testDataDir/jvmMain/resources/Samples.kt")
}
}
@@ -196,11 +196,11 @@ class LinkableContentTest : AbstractCoreTest() {
|
""".trimIndent(),
dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
analysisPlatform = "jvm"
- sourceSetID = "js"
+ name = "js"
}
}
}
@@ -222,4 +222,4 @@ class LinkableContentTest : AbstractCoreTest() {
}
}
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/locationProvider/DefaultLocationProviderTest.kt b/plugins/base/src/test/kotlin/locationProvider/DefaultLocationProviderTest.kt
index 1bc3ea29..a219fb04 100644
--- a/plugins/base/src/test/kotlin/locationProvider/DefaultLocationProviderTest.kt
+++ b/plugins/base/src/test/kotlin/locationProvider/DefaultLocationProviderTest.kt
@@ -10,8 +10,8 @@ class DefaultLocationProviderTest: AbstractCoreTest() {
@Test
fun `#644 same directory for module and package`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
}
}
@@ -38,4 +38,4 @@ class DefaultLocationProviderTest: AbstractCoreTest() {
}
}
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/markdown/KDocTest.kt b/plugins/base/src/test/kotlin/markdown/KDocTest.kt
index 218f7244..f5b29322 100644
--- a/plugins/base/src/test/kotlin/markdown/KDocTest.kt
+++ b/plugins/base/src/test/kotlin/markdown/KDocTest.kt
@@ -9,8 +9,8 @@ import org.jetbrains.dokka.testApi.testRunner.AbstractCoreTest
abstract class KDocTest : AbstractCoreTest() {
private val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin/example/Test.kt")
}
}
@@ -44,4 +44,4 @@ abstract class KDocTest : AbstractCoreTest() {
}
}
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/markdown/LinkTest.kt b/plugins/base/src/test/kotlin/markdown/LinkTest.kt
index ddcef5db..8e4e588e 100644
--- a/plugins/base/src/test/kotlin/markdown/LinkTest.kt
+++ b/plugins/base/src/test/kotlin/markdown/LinkTest.kt
@@ -13,8 +13,8 @@ class LinkTest : AbstractCoreTest() {
@Test
fun linkToClassLoader() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin/parser")
}
}
@@ -46,8 +46,8 @@ class LinkTest : AbstractCoreTest() {
@Test
fun returnTypeShouldHaveLinkToOuterClassFromInner() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin")
}
}
@@ -75,4 +75,4 @@ class LinkTest : AbstractCoreTest() {
}
}
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/model/InheritorsTest.kt b/plugins/base/src/test/kotlin/model/InheritorsTest.kt
index f5517abb..503cf50c 100644
--- a/plugins/base/src/test/kotlin/model/InheritorsTest.kt
+++ b/plugins/base/src/test/kotlin/model/InheritorsTest.kt
@@ -44,12 +44,12 @@ class InheritorsTest : AbstractModelTest("/src/main/kotlin/inheritors/Test.kt",
@Test
fun multiplatform() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("common/src/", "jvm/src/")
analysisPlatform = "jvm"
}
- pass {
+ sourceSet {
sourceRoots = listOf("common/src/", "js/src/")
analysisPlatform = "js"
}
@@ -92,4 +92,4 @@ class InheritorsTest : AbstractModelTest("/src/main/kotlin/inheritors/Test.kt",
}
}
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/model/PropertyTest.kt b/plugins/base/src/test/kotlin/model/PropertyTest.kt
index e384b920..af952b43 100644
--- a/plugins/base/src/test/kotlin/model/PropertyTest.kt
+++ b/plugins/base/src/test/kotlin/model/PropertyTest.kt
@@ -169,8 +169,8 @@ class PropertyTest : AbstractModelTest("/src/main/kotlin/property/Test.kt", "pro
|@Strictfp var property = "test"
""",
configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
classpath = listOfNotNull(jvmStdlibPath)
}
@@ -262,4 +262,4 @@ class PropertyTest : AbstractModelTest("/src/main/kotlin/property/Test.kt", "pro
// }
//
//}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/multiplatform/BasicMultiplatformTest.kt b/plugins/base/src/test/kotlin/multiplatform/BasicMultiplatformTest.kt
index 5facd194..b3ac7b07 100644
--- a/plugins/base/src/test/kotlin/multiplatform/BasicMultiplatformTest.kt
+++ b/plugins/base/src/test/kotlin/multiplatform/BasicMultiplatformTest.kt
@@ -11,8 +11,8 @@ class BasicMultiplatformTest : AbstractCoreTest() {
val testDataDir = getTestDataDir("multiplatform/basicMultiplatformTest").toAbsolutePath()
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("$testDataDir/jvmMain/")
}
}
@@ -28,8 +28,8 @@ class BasicMultiplatformTest : AbstractCoreTest() {
@Test
fun inlineTestExample() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin/multiplatform/Test.kt")
}
}
@@ -51,4 +51,4 @@ class BasicMultiplatformTest : AbstractCoreTest() {
}
}
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/pageMerger/PageNodeMergerTest.kt b/plugins/base/src/test/kotlin/pageMerger/PageNodeMergerTest.kt
index 6ef38aa9..935b9377 100644
--- a/plugins/base/src/test/kotlin/pageMerger/PageNodeMergerTest.kt
+++ b/plugins/base/src/test/kotlin/pageMerger/PageNodeMergerTest.kt
@@ -39,8 +39,8 @@ class PageNodeMergerTest : AbstractCoreTest() {
fun sameNameStrategyTest() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin/pageMerger/Test.kt")
}
}
@@ -82,8 +82,8 @@ class PageNodeMergerTest : AbstractCoreTest() {
val strList: MutableList<String> = mutableListOf()
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin/pageMerger/Test.kt")
}
}
@@ -123,4 +123,4 @@ class PageNodeMergerTest : AbstractCoreTest() {
fun PageNode.childrenRec(): List<PageNode> = listOf(this) + children.flatMap { it.childrenRec() }
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/renderers/html/DivergentTest.kt b/plugins/base/src/test/kotlin/renderers/html/DivergentTest.kt
index 6ceb805b..d4778a8e 100644
--- a/plugins/base/src/test/kotlin/renderers/html/DivergentTest.kt
+++ b/plugins/base/src/test/kotlin/renderers/html/DivergentTest.kt
@@ -12,14 +12,14 @@ class DivergentTest : RenderingOnlyTestBase() {
private val js = defaultSourceSet.copy(
"root",
"JS",
- "js",
+ defaultSourceSet.sourceSetID.copy(sourceSetName = "js"),
analysisPlatform = Platform.js,
sourceRoots = listOf(SourceRootImpl("pl1"))
)
private val jvm = defaultSourceSet.copy(
"root",
"JVM",
- "jvm",
+ defaultSourceSet.sourceSetID.copy(sourceSetName = "jvm"),
analysisPlatform = Platform.jvm,
sourceRoots = listOf(SourceRootImpl("pl1"))
@@ -27,7 +27,7 @@ class DivergentTest : RenderingOnlyTestBase() {
private val native = defaultSourceSet.copy(
"root",
"NATIVE",
- "native",
+ defaultSourceSet.sourceSetID.copy(sourceSetName = "native"),
analysisPlatform = Platform.native,
sourceRoots = listOf(SourceRootImpl("pl1"))
)
@@ -344,4 +344,4 @@ class DivergentTest : RenderingOnlyTestBase() {
Div(Div("b-", Span()), Div(Div(Div(("b")))), "ab+")
)
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/renderers/html/SourceSetDependentHintTest.kt b/plugins/base/src/test/kotlin/renderers/html/SourceSetDependentHintTest.kt
index c868cfd5..ea1ea9ae 100644
--- a/plugins/base/src/test/kotlin/renderers/html/SourceSetDependentHintTest.kt
+++ b/plugins/base/src/test/kotlin/renderers/html/SourceSetDependentHintTest.kt
@@ -15,21 +15,21 @@ class SourceSetDependentHintTest : RenderingOnlyTestBase() {
private val pl1 = defaultSourceSet.copy(
"root",
"pl1",
- "pl1",
+ defaultSourceSet.sourceSetID.copy(sourceSetName = "pl1"),
analysisPlatform = Platform.js,
sourceRoots = listOf(SourceRootImpl("pl1"))
)
private val pl2 = defaultSourceSet.copy(
"root",
"pl2",
- "pl2",
+ defaultSourceSet.sourceSetID.copy(sourceSetName = "pl2"),
analysisPlatform = Platform.jvm,
sourceRoots = listOf(SourceRootImpl("pl1"))
)
private val pl3 = defaultSourceSet.copy(
"root",
"pl3",
- "pl3",
+ defaultSourceSet.sourceSetID.copy(sourceSetName = "pl3"),
analysisPlatform = Platform.native,
sourceRoots = listOf(SourceRootImpl("pl1"))
)
@@ -135,4 +135,4 @@ class SourceSetDependentHintTest : RenderingOnlyTestBase() {
HtmlRenderer(context).render(page)
renderedContent.match(Div(Div(Div("a")), Div(Div("b"))))
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/renderers/html/defaultSourceSet.kt b/plugins/base/src/test/kotlin/renderers/html/defaultSourceSet.kt
index 771cabaa..a9be1cfd 100644
--- a/plugins/base/src/test/kotlin/renderers/html/defaultSourceSet.kt
+++ b/plugins/base/src/test/kotlin/renderers/html/defaultSourceSet.kt
@@ -1,15 +1,16 @@
package renderers.html
+import org.jetbrains.dokka.DokkaSourceSetID
import org.jetbrains.dokka.DokkaSourceSetImpl
import org.jetbrains.dokka.Platform
internal val defaultSourceSet = DokkaSourceSetImpl(
- moduleName = "DEFAULT",
+ moduleDisplayName = "DEFAULT",
displayName = "DEFAULT",
- sourceSetID = "DEFAULT",
+ sourceSetID = DokkaSourceSetID("DEFAULT", "DEFAULT"),
classpath = emptyList(),
sourceRoots = emptyList(),
- dependentSourceSets = emptyList(),
+ dependentSourceSets = emptySet(),
samples = emptyList(),
includes = emptyList(),
includeNonPublic = false,
@@ -27,4 +28,4 @@ internal val defaultSourceSet = DokkaSourceSetImpl(
noJdkLink = false,
suppressedFiles = emptyList(),
analysisPlatform = Platform.DEFAULT
-) \ No newline at end of file
+)
diff --git a/plugins/base/src/test/kotlin/resourceLinks/ResourceLinksTest.kt b/plugins/base/src/test/kotlin/resourceLinks/ResourceLinksTest.kt
index be87813b..4f8a834b 100644
--- a/plugins/base/src/test/kotlin/resourceLinks/ResourceLinksTest.kt
+++ b/plugins/base/src/test/kotlin/resourceLinks/ResourceLinksTest.kt
@@ -26,8 +26,8 @@ class ResourceLinksTest : AbstractCoreTest() {
@Test
fun resourceLinksTest() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin/test/Test.kt")
}
}
@@ -68,4 +68,4 @@ class ResourceLinksTest : AbstractCoreTest() {
}
}
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/transformerBuilders/PageTransformerBuilderTest.kt b/plugins/base/src/test/kotlin/transformerBuilders/PageTransformerBuilderTest.kt
index e66490c1..d8e057da 100644
--- a/plugins/base/src/test/kotlin/transformerBuilders/PageTransformerBuilderTest.kt
+++ b/plugins/base/src/test/kotlin/transformerBuilders/PageTransformerBuilderTest.kt
@@ -21,8 +21,8 @@ class PageTransformerBuilderTest : AbstractCoreTest() {
@Test
fun scannerTest() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin/transformerBuilder/Test.kt")
}
}
@@ -58,8 +58,8 @@ class PageTransformerBuilderTest : AbstractCoreTest() {
@Test
fun mapperTest() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin/transformerBuilder/Test.kt")
}
}
@@ -98,8 +98,8 @@ class PageTransformerBuilderTest : AbstractCoreTest() {
@Test
fun structureTransformerTest() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/kotlin/transformerBuilder/Test.kt")
}
}
diff --git a/plugins/base/src/test/kotlin/transformers/ReportUndocumentedTransformerTest.kt b/plugins/base/src/test/kotlin/transformers/ReportUndocumentedTransformerTest.kt
index 523813fc..72948372 100644
--- a/plugins/base/src/test/kotlin/transformers/ReportUndocumentedTransformerTest.kt
+++ b/plugins/base/src/test/kotlin/transformers/ReportUndocumentedTransformerTest.kt
@@ -12,8 +12,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `undocumented class gets reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/kotlin/Test.kt")
}
@@ -39,8 +39,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `undocumented non-public class does not get reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/kotlin/Test.kt")
}
@@ -65,8 +65,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `undocumented function gets reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/kotlin/Test.kt")
}
@@ -95,8 +95,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `undocumented property gets reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/kotlin/Test.kt")
}
@@ -125,8 +125,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `undocumented primary constructor does not get reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/kotlin/Test.kt")
}
@@ -153,8 +153,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `data class component functions do not get reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/kotlin")
}
@@ -183,8 +183,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `undocumented secondary constructor gets reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/kotlin/Test.kt")
}
@@ -213,8 +213,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `undocumented inherited function does not get reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/kotlin/Test.kt")
}
@@ -246,8 +246,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `undocumented inherited property does not get reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/kotlin/Test.kt")
}
@@ -279,8 +279,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `overridden function does not get reported when super is documented`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/kotlin/Test.kt")
}
@@ -315,8 +315,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `overridden property does not get reported when super is documented`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/kotlin/Test.kt")
}
@@ -349,10 +349,10 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
}
@Test
- fun `report disabled by pass configuration`() {
+ fun `report disabled by source set`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = false
sourceRoots = listOf("src/main/kotlin/Test.kt")
}
@@ -377,8 +377,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `report enabled by package configuration`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
perPackageOptions += packageOptions(
prefix = "sample",
reportUndocumented = true,
@@ -407,8 +407,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `report enabled by more specific package configuration`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
perPackageOptions += packageOptions(
prefix = "sample",
reportUndocumented = false,
@@ -445,8 +445,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `report disabled by more specific package configuration`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
perPackageOptions += packageOptions(
prefix = "sample",
reportUndocumented = true,
@@ -483,22 +483,22 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `multiplatform undocumented class gets reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ val commonMain = sourceSet {
reportUndocumented = true
analysisPlatform = Platform.common.toString()
- sourceSetID = "commonMain"
+ name = "commonMain"
displayName = "commonMain"
sourceRoots = listOf("src/commonMain/kotlin")
}
- pass {
+ sourceSet {
reportUndocumented = true
analysisPlatform = Platform.jvm.toString()
- sourceSetID = "jvmMain"
+ name = "jvmMain"
displayName = "jvmMain"
sourceRoots = listOf("src/jvmMain/kotlin")
- dependentSourceSets = listOf("commonMain")
+ dependentSourceSets = setOf(commonMain.sourceSetID)
}
}
}
@@ -526,22 +526,22 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `multiplatform undocumented class does not get reported if expect is documented`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ val commonMain = sourceSet {
reportUndocumented = true
analysisPlatform = Platform.common.toString()
- sourceSetID = "commonMain"
+ name = "commonMain"
displayName = "commonMain"
sourceRoots = listOf("src/commonMain/kotlin")
}
- pass {
+ sourceSet {
reportUndocumented = true
analysisPlatform = Platform.jvm.toString()
- sourceSetID = "jvmMain"
+ name = "jvmMain"
displayName = "jvmMain"
sourceRoots = listOf("src/jvmMain/kotlin")
- dependentSourceSets = listOf("commonMain")
+ dependentSourceSets = setOf(commonMain.sourceSetID)
}
}
}
@@ -568,31 +568,31 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `multiplatform undocumented function gets reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ val commonMain = sourceSet {
reportUndocumented = true
analysisPlatform = Platform.common.toString()
- sourceSetID = "commonMain"
+ name = "commonMain"
displayName = "commonMain"
sourceRoots = listOf("src/commonMain/kotlin")
}
- pass {
+ sourceSet {
reportUndocumented = true
analysisPlatform = Platform.jvm.toString()
- sourceSetID = "jvmMain"
+ name = "jvmMain"
displayName = "jvmMain"
sourceRoots = listOf("src/jvmMain/kotlin")
- dependentSourceSets = listOf("commonMain")
+ dependentSourceSets = setOf(commonMain.sourceSetID)
}
- pass {
+ sourceSet {
reportUndocumented = true
analysisPlatform = Platform.native.toString()
- sourceSetID = "macosMain"
+ name = "macosMain"
displayName = "macosMain"
sourceRoots = listOf("src/macosMain/kotlin")
- dependentSourceSets = listOf("commonMain")
+ dependentSourceSets = setOf(commonMain.sourceSetID)
}
}
}
@@ -625,8 +625,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `java undocumented class gets reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/java")
}
@@ -652,8 +652,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `java undocumented non-public class does not get reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/java")
}
@@ -677,8 +677,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `java undocumented constructor does not get reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/java")
}
@@ -706,8 +706,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `java undocumented method gets reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/java")
}
@@ -736,8 +736,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `java undocumented property gets reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/java")
}
@@ -766,8 +766,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `java undocumented inherited method gets reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/java")
}
@@ -805,8 +805,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `java documented inherited method does not get reported`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/java")
}
@@ -842,8 +842,8 @@ class ReportUndocumentedTransformerTest : AbstractCoreTest() {
@Test
fun `java overridden function does not get reported when super is documented`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
reportUndocumented = true
sourceRoots = listOf("src/main/java")
}
diff --git a/plugins/base/src/test/kotlin/translators/DefaultPsiToDocumentableTranslatorTest.kt b/plugins/base/src/test/kotlin/translators/DefaultPsiToDocumentableTranslatorTest.kt
index 5f8a7864..95fbb3c6 100644
--- a/plugins/base/src/test/kotlin/translators/DefaultPsiToDocumentableTranslatorTest.kt
+++ b/plugins/base/src/test/kotlin/translators/DefaultPsiToDocumentableTranslatorTest.kt
@@ -12,8 +12,8 @@ class DefaultPsiToDocumentableTranslatorTest : AbstractCoreTest() {
@Test
fun `method overriding two documented classes picks closest class documentation`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/java")
}
}
@@ -57,8 +57,8 @@ class DefaultPsiToDocumentableTranslatorTest : AbstractCoreTest() {
@Test
fun `method overriding class and interface picks class documentation`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/java")
}
}
@@ -102,8 +102,8 @@ class DefaultPsiToDocumentableTranslatorTest : AbstractCoreTest() {
@Test
fun `method overriding two classes picks closest documented class documentation`() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/main/java")
}
}
@@ -153,4 +153,4 @@ class DefaultPsiToDocumentableTranslatorTest : AbstractCoreTest() {
?.body.orEmpty()
}
-} \ No newline at end of file
+}
diff --git a/plugins/base/src/test/kotlin/utils/ModelUtils.kt b/plugins/base/src/test/kotlin/utils/ModelUtils.kt
index 9697a843..87a9c802 100644
--- a/plugins/base/src/test/kotlin/utils/ModelUtils.kt
+++ b/plugins/base/src/test/kotlin/utils/ModelUtils.kt
@@ -16,8 +16,8 @@ abstract class AbstractModelTest(val path: String? = null, val pkg: String) : Mo
block: DModule.() -> Unit
) {
val testConfiguration = configuration ?: dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
analysisPlatform = platform
}
diff --git a/plugins/gfm/src/main/kotlin/GfmPlugin.kt b/plugins/gfm/src/main/kotlin/GfmPlugin.kt
index b955d403..287ef74f 100644
--- a/plugins/gfm/src/main/kotlin/GfmPlugin.kt
+++ b/plugins/gfm/src/main/kotlin/GfmPlugin.kt
@@ -140,7 +140,7 @@ open class CommonmarkRenderer(
platforms.joinToString(
prefix = " [",
postfix = "] $text "
- ) { "${it.moduleName}/${it.sourceSetID}" })
+ ) { "${it.moduleDisplayName}/${it.sourceSetID}" })
buildNewLine()
}
}
@@ -157,7 +157,7 @@ open class CommonmarkRenderer(
) {
if(node.dci.kind == ContentKind.Sample || node.dci.kind == ContentKind.Parameters){
node.sourceSets.forEach {sourcesetData ->
- append("${sourcesetData.moduleName}/${sourcesetData.sourceSetID}")
+ append("${sourcesetData.moduleDisplayName}/${sourcesetData.sourceSetID}")
buildNewLine()
buildTable(node.copy(children = node.children.filter { it.sourceSets.contains(sourcesetData) }, dci = node.dci.copy(kind = ContentKind.Main)), pageContext, sourceSetRestriction)
buildNewLine()
@@ -286,4 +286,4 @@ class MarkdownLocationProvider(
dokkaContext
) {
override val extension = ".md"
-} \ No newline at end of file
+}
diff --git a/plugins/javadoc/src/test/kotlin/javadoc/AbstractJavadocTemplateMapTest.kt b/plugins/javadoc/src/test/kotlin/javadoc/AbstractJavadocTemplateMapTest.kt
index 138208ae..4fa65c58 100644
--- a/plugins/javadoc/src/test/kotlin/javadoc/AbstractJavadocTemplateMapTest.kt
+++ b/plugins/javadoc/src/test/kotlin/javadoc/AbstractJavadocTemplateMapTest.kt
@@ -15,8 +15,8 @@ import org.jetbrains.dokka.testApi.testRunner.AbstractCoreTest
internal abstract class AbstractJavadocTemplateMapTest : AbstractCoreTest() {
protected var config: DokkaConfigurationImpl = dokkaConfiguration {
format = "javadoc"
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src")
analysisPlatform = "jvm"
}
@@ -62,7 +62,6 @@ internal abstract class AbstractJavadocTemplateMapTest : AbstractCoreTest() {
) {
testInline(query, configuration) {
renderingStage = { rootPageNode, dokkaContext ->
- // TODO NOW: Clarify preprocessors!
val transformedRootPageNode = preprocessors.fold(rootPageNode) { acc, pageTransformer ->
pageTransformer(acc)
}
diff --git a/plugins/javadoc/src/test/kotlin/javadoc/JavadocTest.kt b/plugins/javadoc/src/test/kotlin/javadoc/JavadocTest.kt
index 905cb61b..31a33ad5 100644
--- a/plugins/javadoc/src/test/kotlin/javadoc/JavadocTest.kt
+++ b/plugins/javadoc/src/test/kotlin/javadoc/JavadocTest.kt
@@ -10,8 +10,8 @@ class JavadocTest : AbstractCoreTest() {
fun test() {
val config = dokkaConfiguration {
format = "javadoc"
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("jvmSrc/")
analysisPlatform = "jvm"
}
diff --git a/plugins/javadoc/src/test/kotlin/javadoc/location/JavadocLocationTest.kt b/plugins/javadoc/src/test/kotlin/javadoc/location/JavadocLocationTest.kt
index cbaa3dd6..a47f0142 100644
--- a/plugins/javadoc/src/test/kotlin/javadoc/location/JavadocLocationTest.kt
+++ b/plugins/javadoc/src/test/kotlin/javadoc/location/JavadocLocationTest.kt
@@ -23,8 +23,8 @@ class JavadocTest : AbstractCoreTest() {
val config = dokkaConfiguration {
format = "javadoc"
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("jvmSrc/")
externalDocumentationLinks = listOf(
externalLink("https://docs.oracle.com/javase/8/docs/api/"),
@@ -60,4 +60,4 @@ class JavadocTest : AbstractCoreTest() {
}
}
}
-} \ No newline at end of file
+}
diff --git a/plugins/kotlin-as-java/src/test/kotlin/KotlinAsJavaPluginTest.kt b/plugins/kotlin-as-java/src/test/kotlin/KotlinAsJavaPluginTest.kt
index db87051b..96446201 100644
--- a/plugins/kotlin-as-java/src/test/kotlin/KotlinAsJavaPluginTest.kt
+++ b/plugins/kotlin-as-java/src/test/kotlin/KotlinAsJavaPluginTest.kt
@@ -3,7 +3,6 @@ package kotlinAsJavaPlugin
import org.jetbrains.dokka.pages.*
import org.jetbrains.dokka.testApi.testRunner.AbstractCoreTest
import org.jetbrains.kotlin.utils.addToStdlib.cast
-import org.jetbrains.kotlin.utils.addToStdlib.safeAs
import org.junit.jupiter.api.Test
class KotlinAsJavaPluginTest : AbstractCoreTest() {
@@ -11,8 +10,8 @@ class KotlinAsJavaPluginTest : AbstractCoreTest() {
@Test
fun topLevelTest() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
}
}
@@ -49,8 +48,8 @@ class KotlinAsJavaPluginTest : AbstractCoreTest() {
@Test
fun topLevelWithClassTest() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
}
}
@@ -90,8 +89,8 @@ class KotlinAsJavaPluginTest : AbstractCoreTest() {
@Test
fun kotlinAndJavaTest() {
val configuration = dokkaConfiguration {
- passes {
- pass {
+ sourceSets {
+ sourceSet {
sourceRoots = listOf("src/")
}
}
diff --git a/runners/ant/build.gradle b/runners/ant/build.gradle
deleted file mode 100644
index 216420c6..00000000
--- a/runners/ant/build.gradle
+++ /dev/null
@@ -1,18 +0,0 @@
-apply plugin: 'kotlin'
-
-sourceCompatibility = 1.8
-
-tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
- kotlinOptions {
- freeCompilerArgs += "-Xjsr305=strict"
- languageVersion = language_version
- apiVersion = language_version
- jvmTarget = "1.8"
- }
-}
-
-dependencies {
- compile project(":core")
- compileOnly group: 'org.apache.ant', name: 'ant', version: ant_version
-}
-
diff --git a/runners/ant/src/main/kotlin/ant/dokka.kt b/runners/ant/src/main/kotlin/ant/dokka.kt
deleted file mode 100644
index d275ed82..00000000
--- a/runners/ant/src/main/kotlin/ant/dokka.kt
+++ /dev/null
@@ -1,210 +0,0 @@
-package org.jetbrains.dokka.ant
-
-import org.apache.tools.ant.BuildException
-import org.apache.tools.ant.Project
-import org.apache.tools.ant.Task
-import org.apache.tools.ant.types.Path
-import org.apache.tools.ant.types.Reference
-import org.jetbrains.dokka.*
-import org.jetbrains.dokka.DokkaConfiguration.ExternalDocumentationLink
-import org.jetbrains.dokka.utilities.DokkaConsoleLogger
-import org.jetbrains.dokka.utilities.DokkaLogger
-import java.io.File
-
-class AntLogger(val task: Task): DokkaLogger {
- override var warningsCount: Int = 0
- override var errorsCount: Int = 0
- override fun debug(message: String) = task.log(message, Project.MSG_DEBUG)
- override fun info(message: String) = task.log(message, Project.MSG_VERBOSE)
- override fun progress(message: String) = task.log(message, Project.MSG_INFO)
- override fun warn(message: String) = task.log(message, Project.MSG_WARN).also { warningsCount++ }
- override fun error(message: String) = task.log(message, Project.MSG_ERR).also { errorsCount++ }
- override fun report() {
- if (warningsCount > 0 || errorsCount > 0) {
- task.log("Generation completed with $warningsCount warning" +
- (if(warningsCount == 1) "" else "s") +
- " and $errorsCount error" +
- if(errorsCount == 1) "" else "s"
- )
- } else {
- task.log("generation completed successfully")
- }
- }
-}
-
-class AntSourceLinkDefinition(var path: String? = null, var url: String? = null, var lineSuffix: String? = null)
-
-class AntSourceRoot(var path: String? = null) {
- fun toSourceRoot(): SourceRootImpl? = path?.let { path ->
- SourceRootImpl(path)
- }
-}
-
-class TextProperty(var value: String = "")
-
-class AntPassConfig(task: Task) : DokkaConfiguration.PassConfiguration {
- override var moduleName: String = ""
- override val classpath: List<String>
- get() = buildClassPath.list().toList()
-
- override val sourceRoots: List<DokkaConfiguration.SourceRoot>
- get() = sourcePath.list().map { SourceRootImpl(it) } + antSourceRoots.mapNotNull { it.toSourceRoot() }
-
- override val samples: List<String>
- get() = samplesPath.list().toList()
- override val includes: List<String>
- get() = includesPath.list().toList()
- override var includeNonPublic: Boolean = false
- override var includeRootPackage: Boolean = true
- override var reportUndocumented: Boolean = false
- override var skipEmptyPackages: Boolean = true
- override var skipDeprecated: Boolean = false
- override var jdkVersion: Int = 8
- override val sourceLinks: List<DokkaConfiguration.SourceLinkDefinition>
- get() = antSourceLinkDefinition.map {
- val path = it.path!!
- val url = it.url!!
- SourceLinkDefinitionImpl(File(path).canonicalFile.absolutePath, url, it.lineSuffix)
- }
- override val perPackageOptions: MutableList<DokkaConfiguration.PackageOptions> = mutableListOf()
- override val externalDocumentationLinks: List<ExternalDocumentationLink>
- get() = buildExternalLinksBuilders.map { it.build() } + defaultExternalDocumentationLinks
-
- override var languageVersion: String? = null
- override var apiVersion: String? = null
- override var noStdlibLink: Boolean = false
- override var noJdkLink: Boolean = false
- override var suppressedFiles: MutableList<String> = mutableListOf()
- override var collectInheritedExtensionsFromLibraries: Boolean = false
- override var analysisPlatform: Platform = Platform.DEFAULT
- override var targets: List<String> = listOf()
- get() = buildTargets.filter { it.value != "" }
- .map { it.value }
-
- override var sinceKotlin: String? = null
-
- private val samplesPath: Path by lazy { Path(task.project) }
- private val includesPath: Path by lazy { Path(task.project) }
- private val buildClassPath: Path by lazy { Path(task.project) }
- val sourcePath: Path by lazy { Path(task.project) }
- val antSourceRoots: MutableList<AntSourceRoot> = mutableListOf()
-
- private val buildTargets: MutableList<TextProperty> = mutableListOf()
- private val buildExternalLinksBuilders: MutableList<ExternalDocumentationLink.Builder> = mutableListOf()
- val antSourceLinkDefinition: MutableList<AntSourceLinkDefinition> = mutableListOf()
-
- private val defaultExternalDocumentationLinks: List<DokkaConfiguration.ExternalDocumentationLink>
- get() {
- val links = mutableListOf<DokkaConfiguration.ExternalDocumentationLink>()
- if (!noJdkLink)
- links += DokkaConfiguration.ExternalDocumentationLink.Builder("https://docs.oracle.com/javase/$jdkVersion/docs/api/").build()
-
- if (!noStdlibLink)
- links += DokkaConfiguration.ExternalDocumentationLink.Builder("https://kotlinlang.org/api/latest/jvm/stdlib/").build()
- return links
- }
-
-
- fun setSamples(ref: Path) {
- samplesPath.append(ref)
- }
-
- fun setSamplesRef(ref: Reference) {
- samplesPath.createPath().refid = ref
- }
-
- fun setInclude(ref: Path) {
- includesPath.append(ref)
- }
-
- fun setClasspath(classpath: Path) {
- buildClassPath.append(classpath)
- }
-
- fun createPackageOptions(): AntPackageOptions = AntPackageOptions().apply { perPackageOptions.add(this) }
-
- fun createSourceRoot(): AntSourceRoot = AntSourceRoot().apply { antSourceRoots.add(this) }
-
- fun createTarget(): TextProperty = TextProperty().apply {
- buildTargets.add(this)
- }
-
- fun setClasspathRef(ref: Reference) {
- buildClassPath.createPath().refid = ref
- }
-
- fun setSrc(src: Path) {
- sourcePath.append(src)
- }
-
- fun setSrcRef(ref: Reference) {
- sourcePath.createPath().refid = ref
- }
-
- fun createSourceLink(): AntSourceLinkDefinition {
- val def = AntSourceLinkDefinition()
- antSourceLinkDefinition.add(def)
- return def
- }
-
- fun createExternalDocumentationLink() =
- ExternalDocumentationLink.Builder().apply { buildExternalLinksBuilders.add(this) }
-
-}
-
-class AntPackageOptions(
- override var prefix: String = "",
- override var includeNonPublic: Boolean = false,
- override var reportUndocumented: Boolean = true,
- override var skipDeprecated: Boolean = false,
- override var suppress: Boolean = false) : DokkaConfiguration.PackageOptions
-
-class DokkaAntTask: Task(), DokkaConfiguration {
-
- override var format: String = "html"
- override var generateIndexPages: Boolean = false
- override var outputDir: String = ""
- override var impliedPlatforms: List<String> = listOf()
- get() = buildImpliedPlatforms.map { it.value }.toList()
- private val buildImpliedPlatforms: MutableList<TextProperty> = mutableListOf()
-
- override var cacheRoot: String? = null
- override val passesConfigurations: MutableList<AntPassConfig> = mutableListOf()
- override var pluginsClasspath: List<File> = mutableListOf()
-
- fun createPassConfig() = AntPassConfig(this).apply { passesConfigurations.add(this) }
- fun createImpliedPlatform(): TextProperty = TextProperty().apply { buildImpliedPlatforms.add(this) }
-
-
- override fun execute() {
- for (passConfig in passesConfigurations) {
- if (passConfig.sourcePath.list().isEmpty() && passConfig.antSourceRoots.isEmpty()) {
- throw BuildException("At least one source path needs to be specified")
- }
-
- if (passConfig.moduleName == "") {
- throw BuildException("Module name needs to be specified and not empty")
- }
-
- for (sourceLink in passConfig.antSourceLinkDefinition) {
- if (sourceLink.path == null) {
- throw BuildException("'path' attribute of a <sourceLink> element is required")
- }
- if (sourceLink.path!!.contains("\\")) {
- throw BuildException("'dir' attribute of a <sourceLink> - incorrect value, only Unix based path allowed")
- }
-
- if (sourceLink.url == null) {
- throw BuildException("'url' attribute of a <sourceLink> element is required")
- }
- }
- }
-
- if (outputDir == "") {
- throw BuildException("Output directory needs to be specified and not empty")
- }
-
- val generator = DokkaGenerator(this, AntLogger(this))
- generator.generate()
- }
-} \ No newline at end of file
diff --git a/runners/ant/src/main/resources/dokka-antlib.xml b/runners/ant/src/main/resources/dokka-antlib.xml
deleted file mode 100644
index 9c3373d5..00000000
--- a/runners/ant/src/main/resources/dokka-antlib.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<antlib>
- <taskdef name="dokka" classname="org.jetbrains.dokka.ant.DokkaAntTask"/>
-</antlib>
diff --git a/runners/cli/build.gradle.kts b/runners/cli/build.gradle.kts
index 8c4955ca..bc09f2cd 100644
--- a/runners/cli/build.gradle.kts
+++ b/runners/cli/build.gradle.kts
@@ -10,7 +10,6 @@ repositories {
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-cli-jvm:0.2.1")
- implementation("com.google.code.gson:gson:2.8.5")
implementation(project(":core"))
implementation(kotlin("stdlib"))
}
@@ -36,4 +35,4 @@ publishing {
}
}
-configureBintrayPublication("dokkaCli") \ No newline at end of file
+configureBintrayPublication("dokkaCli")
diff --git a/runners/cli/src/main/kotlin/cli/main.kt b/runners/cli/src/main/kotlin/cli/main.kt
index b0fb45b2..5e5cd6b2 100644
--- a/runners/cli/src/main/kotlin/cli/main.kt
+++ b/runners/cli/src/main/kotlin/cli/main.kt
@@ -1,6 +1,5 @@
package org.jetbrains.dokka
-import com.google.gson.Gson
import kotlinx.cli.*
import org.jetbrains.dokka.DokkaConfiguration.ExternalDocumentationLink
import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet.*
@@ -34,7 +33,7 @@ class GlobalArguments(args: Array<String>) : DokkaConfiguration {
override val sourceSets by parser.option(
ArgTypeArgument,
description = "Single dokka source set",
- fullName = "pass"
+ fullName = "sourceSet"
).multiple()
override val pluginsConfiguration by parser.option(
@@ -60,7 +59,7 @@ class GlobalArguments(args: Array<String>) : DokkaConfiguration {
val globalPackageOptions by parser.option(
ArgType.String,
- description = "List of package passConfiguration in format \"prefix,-deprecated,-privateApi,+warnUndocumented,+suppress;...\" "
+ description = "List of package source sets in format \"prefix,-deprecated,-privateApi,+warnUndocumented,+suppress;...\" "
).delimiter(";")
val globalLinks by parser.option(
@@ -73,9 +72,9 @@ class GlobalArguments(args: Array<String>) : DokkaConfiguration {
description = "Mapping between a source directory and a Web site for browsing the code (allows many paths separated by the semicolon `;`)"
).delimiter(";")
- val helpPass by parser.option(
- ArgTypeHelpPass,
- description = "Prints help for single -pass"
+ val helpSourceSet by parser.option(
+ ArgTypeHelpSourceSet,
+ description = "Prints help for single -sourceSet"
)
override val modules: List<DokkaConfiguration.DokkaModuleDescription> = emptyList()
@@ -94,8 +93,8 @@ class GlobalArguments(args: Array<String>) : DokkaConfiguration {
globalSrcLink.forEach {
if (it.isNotEmpty() && it.contains("="))
- sourceSets.all { pass ->
- pass.sourceLinks.cast<MutableList<SourceLinkDefinitionImpl>>()
+ sourceSets.all { sourceSet ->
+ sourceSet.sourceLinks.cast<MutableList<SourceLinkDefinitionImpl>>()
.add(SourceLinkDefinitionImpl.parseSourceLinkDefinition(it))
}
else {
@@ -112,9 +111,9 @@ class GlobalArguments(args: Array<String>) : DokkaConfiguration {
}
}
-fun passArguments(args: Array<String>): DokkaConfiguration.DokkaSourceSet {
+private fun parseSourceSet(args: Array<String>): DokkaConfiguration.DokkaSourceSet {
- val parser = ArgParser("passConfiguration", prefixStyle = ArgParser.OptionPrefixStyle.JVM)
+ val parser = ArgParser("sourceSet", prefixStyle = ArgParser.OptionPrefixStyle.JVM)
val moduleName by parser.option(
ArgType.String,
@@ -122,16 +121,21 @@ fun passArguments(args: Array<String>): DokkaConfiguration.DokkaSourceSet {
fullName = "module"
).required()
- val displayName by parser.option(
+ val moduleDisplayName by parser.option(
ArgType.String,
- description = "Name of the source set"
- ).default("JVM")
+ description = "Name of the documentation module"
+ )
- val sourceSetID by parser.option(
+ val name by parser.option(
ArgType.String,
- description = "ID of the source set"
+ description = "Name of the source set"
).default("main")
+ val displayName by parser.option(
+ ArgType.String,
+ description = "Displayed name of the source set"
+ ).default("JVM")
+
val classpath by parser.option(
ArgType.String,
description = "Classpath for symbol resolution (allows many paths separated by the semicolon `;`)"
@@ -213,7 +217,7 @@ fun passArguments(args: Array<String>): DokkaConfiguration.DokkaSourceSet {
val perPackageOptions by parser.option(
ArgType.String,
- description = "List of package passConfiguration in format \"prefix,-deprecated,-privateApi,+warnUndocumented,+suppress;...\" "
+ description = "List of package source set configuration in format \"prefix,-deprecated,-privateApi,+warnUndocumented,+suppress;...\" "
).delimiter(";")
val externalDocumentationLinks by parser.option(
@@ -230,12 +234,14 @@ fun passArguments(args: Array<String>): DokkaConfiguration.DokkaSourceSet {
parser.parse(args)
return object : DokkaConfiguration.DokkaSourceSet {
- override val moduleName = moduleName
+ override val moduleDisplayName = moduleDisplayName ?: moduleName
override val displayName = displayName
- override val sourceSetID = sourceSetID
+ override val sourceSetID = DokkaSourceSetID(moduleName, name)
override val classpath = classpath
override val sourceRoots = sourceRoots.map { SourceRootImpl(it.toAbsolutePath()) }
- override val dependentSourceSets: List<String> = dependentSourceSets
+ override val dependentSourceSets: Set<DokkaSourceSetID> = dependentSourceSets
+ .map { dependentSourceSetName -> DokkaSourceSetID(moduleName, dependentSourceSetName) }
+ .toSet()
override val samples = samples.map { it.toAbsolutePath() }
override val includes = includes.map { it.toAbsolutePath() }
override val includeNonPublic = includeNonPublic
@@ -294,15 +300,15 @@ object ArgTypeSourceLinkDefinition : ArgType<DokkaConfiguration.SourceLinkDefini
object ArgTypeArgument : ArgType<DokkaConfiguration.DokkaSourceSet>(true) {
override fun convert(value: kotlin.String, name: kotlin.String): DokkaConfiguration.DokkaSourceSet =
- passArguments(value.split(" ").filter { it.isNotBlank() }.toTypedArray())
+ parseSourceSet(value.split(" ").filter { it.isNotBlank() }.toTypedArray())
override val description: kotlin.String
get() = ""
}
// Workaround for printing nested parsers help
-object ArgTypeHelpPass : ArgType<Any>(false) {
- override fun convert(value: kotlin.String, name: kotlin.String): Any = Any().also { passArguments(arrayOf("-h")) }
+object ArgTypeHelpSourceSet : ArgType<Any>(false) {
+ override fun convert(value: kotlin.String, name: kotlin.String): Any = Any().also { parseSourceSet(arrayOf("-h")) }
override val description: kotlin.String
get() = ""
@@ -345,11 +351,10 @@ fun parseLinks(links: List<String>): List<ExternalDocumentationLink> {
fun main(args: Array<String>) {
val globalArguments = GlobalArguments(args)
val configuration = if (globalArguments.json != null)
- Gson().fromJson(
- Paths.get(globalArguments.json).toFile().readText(),
- DokkaConfigurationImpl::class.java
+ DokkaConfigurationImpl(
+ Paths.get(checkNotNull(globalArguments.json)).toFile().readText()
)
else
globalArguments
DokkaGenerator(configuration, DokkaConsoleLogger).generate()
-} \ No newline at end of file
+}
diff --git a/runners/gradle-plugin/build.gradle.kts b/runners/gradle-plugin/build.gradle.kts
index 71d7e72f..2c25a707 100644
--- a/runners/gradle-plugin/build.gradle.kts
+++ b/runners/gradle-plugin/build.gradle.kts
@@ -19,6 +19,8 @@ dependencies {
compileOnly(gradleKotlinDsl())
testImplementation(gradleApi())
testImplementation(kotlin("test-junit"))
+ testImplementation("org.jetbrains.kotlin:kotlin-gradle-plugin")
+
constraints {
val kotlin_version: String by project
compileOnly("org.jetbrains.kotlin:kotlin-reflect:${kotlin_version}") {
diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/ConfigurationExtractor.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/ConfigurationExtractor.kt
index 3bd0b6ab..c9693467 100644
--- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/ConfigurationExtractor.kt
+++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/ConfigurationExtractor.kt
@@ -169,4 +169,4 @@ class ConfigurationExtractor(private val project: Project) {
val dependentSourceSets: List<String>,
val platform: String
) : Serializable
-} \ No newline at end of file
+}
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 ead0f90a..823206e3 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
@@ -19,7 +19,7 @@ open class DokkaCollectorTask : DefaultTask() {
@TaskAction
fun collect() {
- val passesConfigurations = getProjects(project).filter { it.name in modules }.flatMap {
+ val sourceSets = getProjects(project).filter { it.name in modules }.flatMap {
val tasks = try {
it.tasks.withType(DokkaTask::class.java)
} catch (e: UnknownTaskException) {
@@ -30,11 +30,11 @@ open class DokkaCollectorTask : DefaultTask() {
val initial = GradleDokkaConfigurationImpl().apply {
outputDir = outputDirectory
- cacheRoot = passesConfigurations.first().cacheRoot
- format = passesConfigurations.first().format
+ cacheRoot = sourceSets.first().cacheRoot
+ format = sourceSets.first().format
}
- configuration = passesConfigurations.fold(initial) { acc, it: GradleDokkaConfigurationImpl ->
+ configuration = sourceSets.fold(initial) { acc, it: GradleDokkaConfigurationImpl ->
if(acc.format != it.format || acc.cacheRoot != it.cacheRoot)
throw IllegalStateException("Dokka task configurations differ on core arguments (format, cacheRoot)")
acc.sourceSets = acc.sourceSets + it.sourceSets
diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaSourceSetIDFactory.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaSourceSetIDFactory.kt
new file mode 100644
index 00000000..3fadb4fd
--- /dev/null
+++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/DokkaSourceSetIDFactory.kt
@@ -0,0 +1,10 @@
+@file:Suppress("FunctionName")
+
+package org.jetbrains.dokka.gradle
+
+import org.gradle.api.Project
+import org.jetbrains.dokka.DokkaSourceSetID
+
+internal fun DokkaSourceSetID(project: Project, sourceSetName: String): DokkaSourceSetID {
+ return DokkaSourceSetID(moduleName = project.path, sourceSetName = sourceSetName)
+}
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 e27357c9..aac7e2a0 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
@@ -7,11 +7,9 @@ import org.gradle.api.file.FileCollection
import org.gradle.api.internal.plugins.DslObject
import org.gradle.api.plugins.JavaBasePlugin
import org.gradle.api.tasks.*
-import org.jetbrains.dokka.DokkaBootstrap
+import org.jetbrains.dokka.*
import org.jetbrains.dokka.DokkaConfiguration.ExternalDocumentationLink.Builder
import org.jetbrains.dokka.DokkaConfiguration.SourceRoot
-import org.jetbrains.dokka.DokkaException
-import org.jetbrains.dokka.Platform
import org.jetbrains.dokka.ReflectDsl
import org.jetbrains.dokka.ReflectDsl.isNotInstance
import org.jetbrains.dokka.gradle.ConfigurationExtractor.PlatformData
@@ -183,10 +181,7 @@ open class DokkaTask : DefaultTask(), Configurable {
val defaultModulesConfiguration = configuredDokkaSourceSets
.map { configureDefault(it, globalConfig) }.takeIf { it.isNotEmpty() }
?: listOf(
- configureDefault(
- configureDokkaSourceSet(GradleDokkaSourceSet("main")),
- null
- )
+ configureDefault(configureDokkaSourceSet(GradleDokkaSourceSet("main", project)), null)
).takeIf { project.isNotMultiplatformProject() } ?: emptyList()
if (defaultModulesConfiguration.isEmpty()) {
@@ -288,28 +283,25 @@ open class DokkaTask : DefaultTask(), Configurable {
protected fun mergeUserConfigurationAndPlatformData(
userConfig: GradleDokkaSourceSet,
autoConfig: PlatformData
- ) =
- userConfig.copy().apply {
- sourceRoots.addAll(userConfig.sourceRoots.union(autoConfig.sourceRoots.toSourceRoots()).distinct())
- dependentSourceSets.addAll(userConfig.dependentSourceSets.union(autoConfig.dependentSourceSets).distinct())
- classpath = userConfig.classpath.union(autoConfig.classpath.map { it.absolutePath }).distinct()
- if (userConfig.platform == null && autoConfig.platform != "")
- platform = autoConfig.platform
- }
+ ) = userConfig.copy().apply {
+ sourceRoots.addAll(userConfig.sourceRoots.union(autoConfig.sourceRoots.toSourceRoots()).distinct())
+ dependentSourceSets.addAll(userConfig.dependentSourceSets)
+ dependentSourceSets.addAll(autoConfig.dependentSourceSets.map { DokkaSourceSetID(project, it) })
+ classpath = userConfig.classpath.union(autoConfig.classpath.map { it.absolutePath }).distinct()
+ if (userConfig.platform == null && autoConfig.platform != "")
+ platform = autoConfig.platform
+ }
protected fun configureDefault(
config: GradleDokkaSourceSet,
globalConfig: GradleDokkaSourceSet?
): GradleDokkaSourceSet {
- if (config.moduleName.isBlank()) {
- config.moduleName = project.name
+ if (config.moduleDisplayName.isBlank()) {
+ config.moduleDisplayName = project.name
}
- if (config.sourceSetID.isBlank()) {
- config.sourceSetID = config.moduleName + "/" + config.name
- }
- config.dependentSourceSets = config.dependentSourceSets.map { config.moduleName + "/" + it }.toMutableList()
+
if (config.displayName.isBlank()) {
- config.displayName = config.sourceSetID.substringBeforeLast("Main", config.platform.toString())
+ config.displayName = config.name.substringBeforeLast("Main", config.platform.toString())
}
config.classpath =
(config.classpath as List<Any>).map { it.toString() }.distinct() // Workaround for Groovy's GStringImpl
diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt
index a28416d6..7b2d05a6 100644
--- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt
+++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/configurationImplementations.kt
@@ -1,13 +1,19 @@
+@file:Suppress("FunctionName")
+
package org.jetbrains.dokka.gradle
+import com.android.build.gradle.api.AndroidSourceSet
import groovy.lang.Closure
import org.gradle.api.Action
+import org.gradle.api.Project
import org.gradle.api.tasks.Input
+import org.gradle.api.tasks.Internal
import org.gradle.api.tasks.Optional
import org.gradle.util.ConfigureUtil
import org.jetbrains.dokka.DokkaConfiguration
import org.jetbrains.dokka.DokkaConfiguration.*
import org.jetbrains.dokka.DokkaDefaults
+import org.jetbrains.dokka.DokkaSourceSetID
import org.jetbrains.dokka.Platform
import java.io.File
import java.io.Serializable
@@ -15,6 +21,8 @@ import java.net.URL
import java.util.concurrent.Callable
import kotlin.reflect.KMutableProperty
import kotlin.reflect.full.memberProperties
+import org.gradle.api.tasks.SourceSet as GradleSourceSet
+import org.jetbrains.kotlin.gradle.model.SourceSet as KotlinSourceSet
class GradleSourceRootImpl : SourceRoot, Serializable {
override var path: String = ""
@@ -25,64 +33,113 @@ class GradleSourceRootImpl : SourceRoot, Serializable {
override fun toString(): String = path
}
-open class GradleDokkaSourceSet(@Transient val name: String = "") : DokkaSourceSet {
+open class GradleDokkaSourceSet constructor(
+ @Transient val name: String,
+ @Transient internal val project: Project
+) : DokkaSourceSet {
+
@Input
@Optional
override var classpath: List<String> = emptyList()
+
@Input
- override var moduleName: String = ""
+ override var moduleDisplayName: String = ""
+
@Input
override var displayName: String = ""
- @Input
- override var sourceSetID: String = ""
+
+ @get:Internal
+ override val sourceSetID: DokkaSourceSetID = DokkaSourceSetID(project, name)
+
@Input
override var sourceRoots: MutableList<SourceRoot> = mutableListOf()
+
@Input
- override var dependentSourceSets: MutableList<String> = mutableListOf()
+ override var dependentSourceSets: MutableSet<DokkaSourceSetID> = mutableSetOf()
+
@Input
override var samples: List<String> = emptyList()
+
@Input
override var includes: List<String> = emptyList()
+
@Input
override var includeNonPublic: Boolean = DokkaDefaults.includeNonPublic
+
@Input
override var includeRootPackage: Boolean = DokkaDefaults.includeRootPackage
+
@Input
override var reportUndocumented: Boolean = DokkaDefaults.reportUndocumented
+
@Input
override var skipEmptyPackages: Boolean = DokkaDefaults.skipEmptyPackages
+
@Input
override var skipDeprecated: Boolean = DokkaDefaults.skipDeprecated
+
@Input
override var jdkVersion: Int = DokkaDefaults.jdkVersion
+
@Input
override var sourceLinks: MutableList<SourceLinkDefinition> = mutableListOf()
+
@Input
override var perPackageOptions: MutableList<PackageOptions> = mutableListOf()
+
@Input
override var externalDocumentationLinks: MutableList<ExternalDocumentationLink> = mutableListOf()
+
@Input
@Optional
override var languageVersion: String? = null
+
@Input
@Optional
override var apiVersion: String? = null
+
@Input
override var noStdlibLink: Boolean = DokkaDefaults.noStdlibLink
+
@Input
override var noJdkLink: Boolean = DokkaDefaults.noJdkLink
+
@Input
var noAndroidSdkLink: Boolean = false
+
@Input
override var suppressedFiles: List<String> = emptyList()
+
@Input
override var analysisPlatform: Platform = DokkaDefaults.analysisPlatform
+
@Input
@Optional
var platform: String? = null
+
@Transient
var collectKotlinTasks: (() -> List<Any?>?)? = null
+ fun DokkaSourceSetID(sourceSetName: String): DokkaSourceSetID {
+ return DokkaSourceSetID(project, sourceSetName)
+ }
+
+ fun dependsOn(sourceSet: GradleSourceSet) {
+ dependsOn(DokkaSourceSetID(sourceSet.name))
+ }
+
+ fun dependsOn(sourceSet: DokkaSourceSet) {
+ dependsOn(sourceSet.sourceSetID)
+ }
+
+ fun dependsOn(sourceSetName: String) {
+ dependsOn(DokkaSourceSetID(sourceSetName))
+ }
+
+ fun dependsOn(sourceSetID: DokkaSourceSetID) {
+ dependentSourceSets.add(sourceSetID)
+ }
+
fun kotlinTasks(taskSupplier: Callable<List<Any>>) {
collectKotlinTasks = { taskSupplier.call() }
}
@@ -136,6 +193,18 @@ open class GradleDokkaSourceSet(@Transient val name: String = "") : DokkaSourceS
}
}
+fun GradleDokkaSourceSet.dependsOn(sourceSet: KotlinSourceSet) {
+ dependsOn(DokkaSourceSetID(sourceSet.name))
+}
+
+fun GradleDokkaSourceSet.dependsOn(sourceSet: org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet) {
+ dependsOn(DokkaSourceSetID(sourceSet.name))
+}
+
+fun GradleDokkaSourceSet.dependsOn(sourceSet: AndroidSourceSet) {
+ dependsOn(DokkaSourceSetID(sourceSet.name))
+}
+
class GradleSourceLinkDefinitionImpl : SourceLinkDefinition, Serializable {
override var path: String = ""
override var url: String = ""
@@ -174,16 +243,16 @@ class GradlePackageOptionsImpl : PackageOptions, Serializable {
}
internal fun GradleDokkaSourceSet.copy(): GradleDokkaSourceSet {
- val newObj = GradleDokkaSourceSet(this.name)
+ val newObj = GradleDokkaSourceSet(this.name, this.project)
this::class.memberProperties.forEach { field ->
if (field is KMutableProperty<*>) {
- val value = field.getter.call(this)
- if (value is Collection<*>) {
- field.setter.call(newObj, value.toMutableList())
- } else {
- field.setter.call(newObj, field.getter.call(this))
+ when (val value = field.getter.call(this)) {
+ is List<*> -> field.setter.call(newObj, value.toMutableList())
+ is Set<*> -> field.setter.call(newObj, value.toMutableSet())
+ else -> field.setter.call(newObj, field.getter.call(this))
}
+
}
}
return newObj
-} \ No newline at end of file
+}
diff --git a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/main.kt b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/main.kt
index 92d63a40..a92f5475 100644
--- a/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/main.kt
+++ b/runners/gradle-plugin/src/main/kotlin/org/jetbrains/dokka/gradle/main.kt
@@ -53,7 +53,9 @@ open class DokkaPlugin : Plugin<Project> {
project.tasks.create(DOKKA_TASK_NAME, taskClass)
}
project.tasks.withType(taskClass) { task ->
- task.dokkaSourceSets = project.container(GradleDokkaSourceSet::class.java)
+ task.dokkaSourceSets = project.container(GradleDokkaSourceSet::class.java) { name ->
+ GradleDokkaSourceSet(name, project)
+ }
task.dokkaRuntime = runtimeConfiguration
task.pluginsClasspathConfiguration = pluginsConfiguration
task.outputDirectory = File(project.buildDir, DOKKA_TASK_NAME).absolutePath
diff --git a/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/KotlinDslDokkaTaskConfigurationTest.kt b/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/KotlinDslDokkaTaskConfigurationTest.kt
index 0b80f4a2..da6daeea 100644
--- a/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/KotlinDslDokkaTaskConfigurationTest.kt
+++ b/runners/gradle-plugin/src/test/kotlin/org/jetbrains/dokka/gradle/KotlinDslDokkaTaskConfigurationTest.kt
@@ -1,6 +1,9 @@
package org.jetbrains.dokka.gradle
+import org.gradle.api.plugins.JavaPluginExtension
import org.gradle.testfixtures.ProjectBuilder
+import org.jetbrains.dokka.DokkaSourceSetID
+import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
import kotlin.test.Test
import kotlin.test.assertEquals
@@ -16,4 +19,78 @@ class KotlinDslDokkaTaskConfigurationTest {
assertEquals("test", dokkaTask.outputFormat)
}
}
+
+ @Test
+ fun `sourceSet dependsOn by String`() {
+ val project = ProjectBuilder.builder().build()
+ project.plugins.apply("org.jetbrains.dokka")
+
+ project.dokka {
+ dokkaSourceSets.run {
+ val commonMain = create("commonMain")
+ val jvmMain = create("jvmMain") {
+ it.dependsOn("commonMain")
+ }
+
+ assertEquals(
+ 0, commonMain.dependentSourceSets.size,
+ "Expected no dependent source set in commonMain"
+ )
+
+ assertEquals(
+ 1, jvmMain.dependentSourceSets.size,
+ "Expected only one dependent source set in jvmMain"
+ )
+
+ assertEquals(
+ commonMain.sourceSetID, jvmMain.dependentSourceSets.single(),
+ "Expected jvmMain to depend on commonMain"
+ )
+
+ assertEquals(
+ DokkaSourceSetID(project.path, "commonMain"), commonMain.sourceSetID
+ )
+ }
+ }
+ }
+
+ @Test
+ fun `sourceSet dependsOn by DokkaSourceSet`() {
+ val project = ProjectBuilder.builder().build()
+ project.plugins.apply("org.jetbrains.dokka")
+
+ project.dokka {
+ dokkaSourceSets.run {
+ val commonMain = create("commonMain")
+ val jvmMain = create("jvmMain") {
+ it.dependsOn(commonMain)
+ }
+
+ assertEquals(
+ commonMain.sourceSetID, jvmMain.dependentSourceSets.single()
+ )
+ }
+ }
+ }
+
+ @Test
+ fun `sourceSet dependsOn by KotlinSourceSet`() {
+ val project = ProjectBuilder.builder().build()
+ project.plugins.apply("org.jetbrains.dokka")
+ project.plugins.apply("org.jetbrains.kotlin.jvm")
+
+ val kotlin = project.extensions.getByName("kotlin") as KotlinJvmProjectExtension
+
+ project.dokka {
+ dokkaSourceSets.run {
+ val special = create("special") {
+ it.dependsOn(kotlin.sourceSets.getByName("main"))
+ }
+
+ assertEquals(
+ DokkaSourceSetID(project, "main"), special.dependentSourceSets.single()
+ )
+ }
+ }
+ }
}
diff --git a/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt b/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt
index 4c10568c..8160ab87 100644
--- a/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt
+++ b/runners/maven-plugin/src/main/kotlin/DokkaMojo.kt
@@ -91,9 +91,6 @@ abstract class AbstractDokkaMojo : AbstractMojo() {
var sourceRoots: List<SourceRoot> = emptyList()
@Parameter
- var dependentSourceSets: List<String> = emptyList()
-
- @Parameter
var samples: List<String> = emptyList()
@Parameter
@@ -108,6 +105,9 @@ abstract class AbstractDokkaMojo : AbstractMojo() {
@Parameter(required = true, defaultValue = "\${project.artifactId}")
var moduleName: String = ""
+ @Parameter
+ var moduleDisplayName: String = ""
+
@Parameter(required = false, defaultValue = "false")
var skip: Boolean = false
@@ -201,12 +201,12 @@ abstract class AbstractDokkaMojo : AbstractMojo() {
}
val sourceSet = DokkaSourceSetImpl(
- moduleName = moduleName,
+ moduleDisplayName = moduleDisplayName.takeIf(String::isNotBlank) ?: moduleName,
displayName = displayName,
- sourceSetID = sourceSetName,
+ sourceSetID = DokkaSourceSetID(moduleName, sourceSetName),
classpath = classpath,
sourceRoots = sourceDirectories.map { SourceRootImpl(it) },
- dependentSourceSets = dependentSourceSets,
+ dependentSourceSets = emptySet(),
samples = samples,
includes = includes,
includeNonPublic = includeNonPublic,
@@ -246,7 +246,7 @@ abstract class AbstractDokkaMojo : AbstractMojo() {
offlineMode = offlineMode,
cacheRoot = cacheRoot,
sourceSets = listOf(sourceSet).also {
- if (sourceSet.moduleName.isEmpty()) logger.warn("Not specified module name. It can result in unexpected behaviour while including documentation for module")
+ if (sourceSet.moduleDisplayName.isEmpty()) logger.warn("Not specified module name. It can result in unexpected behaviour while including documentation for module")
},
pluginsClasspath = getArtifactByAether("org.jetbrains.dokka", "dokka-base", dokkaVersion) +
dokkaPlugins.map { getArtifactByAether(it.groupId, it.artifactId, it.version) }.flatten(),
diff --git a/testApi/src/main/kotlin/testApi/context/MockContext.kt b/testApi/src/main/kotlin/testApi/context/MockContext.kt
index 07aedf28..97347695 100644
--- a/testApi/src/main/kotlin/testApi/context/MockContext.kt
+++ b/testApi/src/main/kotlin/testApi/context/MockContext.kt
@@ -1,7 +1,6 @@
package org.jetbrains.dokka.testApi.context
import org.jetbrains.dokka.DokkaConfiguration
-import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet
import org.jetbrains.dokka.plugability.DokkaContext
import org.jetbrains.dokka.plugability.DokkaPlugin
import org.jetbrains.dokka.plugability.ExtensionPoint
@@ -45,4 +44,4 @@ class MockContext(
private fun DokkaPlugin.injectContext(context: DokkaContext) {
(DokkaPlugin::class.memberProperties.single { it.name == "context" } as KMutableProperty<*>)
.setter.call(this, context)
-} \ No newline at end of file
+}
diff --git a/testApi/src/main/kotlin/testApi/testRunner/DokkaTestGenerator.kt b/testApi/src/main/kotlin/testApi/testRunner/DokkaTestGenerator.kt
index ec2be689..d3127263 100644
--- a/testApi/src/main/kotlin/testApi/testRunner/DokkaTestGenerator.kt
+++ b/testApi/src/main/kotlin/testApi/testRunner/DokkaTestGenerator.kt
@@ -1,7 +1,6 @@
package org.jetbrains.dokka.testApi.testRunner
import org.jetbrains.dokka.DokkaConfiguration
-import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet
import org.jetbrains.dokka.DokkaGenerator
import org.jetbrains.dokka.plugability.DokkaPlugin
import org.jetbrains.dokka.utilities.DokkaLogger
@@ -43,4 +42,4 @@ internal class DokkaTestGenerator(
dokkaGenerator.reportAfterRendering(context)
}
-} \ No newline at end of file
+}
diff --git a/testApi/src/main/kotlin/testApi/testRunner/TestRunner.kt b/testApi/src/main/kotlin/testApi/testRunner/TestRunner.kt
index 057045a8..381fb2af 100644
--- a/testApi/src/main/kotlin/testApi/testRunner/TestRunner.kt
+++ b/testApi/src/main/kotlin/testApi/testRunner/TestRunner.kt
@@ -174,25 +174,26 @@ abstract class AbstractCoreTest {
failOnWarning = failOnWarning
)
- fun passes(block: Passes.() -> Unit) {
- sourceSets.addAll(Passes().apply(block))
+ fun sourceSets(block: SourceSetsBuilder.() -> Unit) {
+ sourceSets.addAll(SourceSetsBuilder().apply(block))
}
}
@DokkaConfigurationDsl
- protected class Passes : ArrayList<DokkaSourceSetImpl>() {
- fun pass(block: DokkaSourceSetBuilder.() -> Unit) =
- add(DokkaSourceSetBuilder().apply(block).build())
+ protected class SourceSetsBuilder : ArrayList<DokkaSourceSetImpl>() {
+ fun sourceSet(block: DokkaSourceSetBuilder.() -> Unit): DokkaSourceSet =
+ DokkaSourceSetBuilder().apply(block).build().apply(::add)
}
@DokkaConfigurationDsl
protected class DokkaSourceSetBuilder(
var moduleName: String = "root",
- var sourceSetID: String = "main",
+ var moduleDisplayName: String? = null,
+ var name: String = "main",
var displayName: String = "JVM",
var classpath: List<String> = emptyList(),
var sourceRoots: List<String> = emptyList(),
- var dependentSourceSets: List<String> = emptyList(),
+ var dependentSourceSets: Set<DokkaSourceSetID> = emptySet(),
var samples: List<String> = emptyList(),
var includes: List<String> = emptyList(),
var includeNonPublic: Boolean = false,
@@ -212,9 +213,9 @@ abstract class AbstractCoreTest {
var sourceLinks: List<SourceLinkDefinitionImpl> = emptyList()
) {
fun build() = DokkaSourceSetImpl(
- moduleName = moduleName,
+ moduleDisplayName = moduleDisplayName ?: moduleName,
displayName = displayName,
- sourceSetID = sourceSetID,
+ sourceSetID = DokkaSourceSetID(moduleName, name),
classpath = classpath,
sourceRoots = sourceRoots.map { SourceRootImpl(it) },
dependentSourceSets = dependentSourceSets,