From f6ac2b0f0a0183171aa2f6806ec67d8d21692a36 Mon Sep 17 00:00:00 2001 From: "sebastian.sellmair" Date: Thu, 13 Aug 2020 09:59:39 +0200 Subject: Implement `ContentSourceSet` --- .../src/main/kotlin/renderers/DefaultRenderer.kt | 25 +++++----- .../src/main/kotlin/renderers/html/HtmlRenderer.kt | 58 +++++++++++----------- .../main/kotlin/renderers/html/NavigationPage.kt | 4 +- .../kotlin/resolvers/local/BaseLocationProvider.kt | 9 ++-- .../resolvers/local/DefaultLocationProvider.kt | 3 +- .../kotlin/resolvers/local/LocationProvider.kt | 4 +- .../resolvers/local/MultimoduleLocationProvider.kt | 4 +- .../pages/comments/DocTagToContentConverter.kt | 42 +++++++++------- .../pages/samples/SamplesTransformer.kt | 2 +- .../pages/sourcelinks/SourceLinksTransformer.kt | 2 +- .../documentables/DefaultPageCreator.kt | 2 +- .../documentables/PageContentBuilder.kt | 28 +++++------ plugins/gfm/src/main/kotlin/GfmPlugin.kt | 47 ++++++++++++------ .../jetbrains/dokka/javadoc/JavadocPageCreator.kt | 15 +++--- .../javadoc/location/JavadocLocationProvider.kt | 4 +- .../dokka/javadoc/pages/JavadocContentNodes.kt | 23 ++++----- .../dokka/javadoc/renderer/KorteJavadocRenderer.kt | 2 - .../dokka/javadoc/renderer/SearchScriptsCreator.kt | 57 ++++++++++++--------- 18 files changed, 181 insertions(+), 150 deletions(-) (limited to 'plugins') diff --git a/plugins/base/src/main/kotlin/renderers/DefaultRenderer.kt b/plugins/base/src/main/kotlin/renderers/DefaultRenderer.kt index afee1b33..84be6df0 100644 --- a/plugins/base/src/main/kotlin/renderers/DefaultRenderer.kt +++ b/plugins/base/src/main/kotlin/renderers/DefaultRenderer.kt @@ -4,7 +4,6 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking -import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet import org.jetbrains.dokka.base.DokkaBase import org.jetbrains.dokka.base.resolvers.local.LocationProvider import org.jetbrains.dokka.pages.* @@ -30,7 +29,7 @@ abstract class DefaultRenderer( abstract fun T.buildList( node: ContentList, pageContext: ContentPage, - sourceSetRestriction: Set? = null + sourceSetRestriction: Set? = null ) abstract fun T.buildNewLine() @@ -38,7 +37,7 @@ abstract class DefaultRenderer( abstract fun T.buildTable( node: ContentTable, pageContext: ContentPage, - sourceSetRestriction: Set? = null + sourceSetRestriction: Set? = null ) abstract fun T.buildText(textNode: ContentText) @@ -50,13 +49,13 @@ abstract class DefaultRenderer( open fun T.buildPlatformDependent( content: PlatformHintedContent, pageContext: ContentPage, - sourceSetRestriction: Set? + sourceSetRestriction: Set? ) = buildContentNode(content.inner, pageContext) open fun T.buildGroup( node: ContentGroup, pageContext: ContentPage, - sourceSetRestriction: Set? = null + sourceSetRestriction: Set? = null ) = wrapGroup(node, pageContext) { node.children.forEach { it.build(this, pageContext, sourceSetRestriction) } } @@ -69,7 +68,7 @@ abstract class DefaultRenderer( open fun T.buildLinkText( nodes: List, pageContext: ContentPage, - sourceSetRestriction: Set? = null + sourceSetRestriction: Set? = null ) { nodes.forEach { it.build(this, pageContext, sourceSetRestriction) } } @@ -85,7 +84,7 @@ abstract class DefaultRenderer( open fun T.buildHeader( node: ContentHeader, pageContext: ContentPage, - sourceSetRestriction: Set? = null + sourceSetRestriction: Set? = null ) { buildHeader(node.level, node) { node.children.forEach { it.build(this, pageContext, sourceSetRestriction) } } } @@ -93,14 +92,14 @@ abstract class DefaultRenderer( open fun ContentNode.build( builder: T, pageContext: ContentPage, - sourceSetRestriction: Set? = null + sourceSetRestriction: Set? = null ) = builder.buildContentNode(this, pageContext, sourceSetRestriction) open fun T.buildContentNode( node: ContentNode, pageContext: ContentPage, - sourceSetRestriction: Set? = null + sourceSetRestriction: Set? = null ) { if (sourceSetRestriction == null || node.sourceSets.any { it in sourceSetRestriction }) { when (node) { @@ -178,8 +177,8 @@ abstract class DefaultRenderer( protected fun ContentDivergentGroup.groupDivergentInstances( pageContext: ContentPage, - beforeTransformer: (ContentDivergentInstance, ContentPage, DokkaSourceSet) -> String, - afterTransformer: (ContentDivergentInstance, ContentPage, DokkaSourceSet) -> String + beforeTransformer: (ContentDivergentInstance, ContentPage, ContentSourceSet) -> String, + afterTransformer: (ContentDivergentInstance, ContentPage, ContentSourceSet) -> String ): Map> = children.flatMap { instance -> instance.sourceSets.map { sourceSet -> @@ -195,6 +194,6 @@ abstract class DefaultRenderer( } internal typealias SerializedBeforeAndAfter = Pair -internal typealias InstanceWithSource = Pair +internal typealias InstanceWithSource = Pair -fun ContentPage.sourceSets() = this.content.sourceSets \ No newline at end of file +fun ContentPage.sourceSets() = this.content.sourceSets diff --git a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt index 88d2539d..c533836a 100644 --- a/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt +++ b/plugins/base/src/main/kotlin/renderers/html/HtmlRenderer.kt @@ -5,7 +5,6 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import kotlinx.html.* import kotlinx.html.stream.createHTML -import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet import org.jetbrains.dokka.Platform import org.jetbrains.dokka.base.DokkaBase import org.jetbrains.dokka.base.renderers.DefaultRenderer @@ -111,7 +110,7 @@ open class HtmlRenderer( page.content.withDescendants().flatMap { it.sourceSets }.distinct().forEach { button(classes = "platform-tag platform-selector") { attributes["data-active"] = "" - attributes["data-filter"] = it.sourceSetID.toString() + attributes["data-filter"] = it.sourceSetIDs.merged.toString() when (it.analysisPlatform.key) { "common" -> classes = classes + "common-like" "native" -> classes = classes + "native-like" @@ -157,7 +156,7 @@ open class HtmlRenderer( override fun FlowContent.buildPlatformDependent( content: PlatformHintedContent, pageContext: ContentPage, - sourceSetRestriction: Set? + sourceSetRestriction: Set? ) = buildPlatformDependent( content.sourceSets.filter { @@ -169,7 +168,7 @@ open class HtmlRenderer( ) private fun FlowContent.buildPlatformDependent( - nodes: Map>, + nodes: Map>, pageContext: ContentPage, extra: PropertyContainer = PropertyContainer.empty(), styles: Set