diff options
author | Kamil Doległo <kamilok1965@interia.pl> | 2020-11-11 18:07:21 +0100 |
---|---|---|
committer | Błażej Kardyś <bkardys@virtuslab.com> | 2020-11-27 03:15:02 +0100 |
commit | 4639cbda50359c8dcbaa61f0a960c002c060d3b9 (patch) | |
tree | 8bc96fd08644d80e5fd244eab5dccf167cc55a21 /plugins/base/src/main/kotlin/resolvers/local | |
parent | e6ce96cef610cab0163c669ab4a9de0c259904cc (diff) | |
download | dokka-4639cbda50359c8dcbaa61f0a960c002c060d3b9.tar.gz dokka-4639cbda50359c8dcbaa61f0a960c002c060d3b9.tar.bz2 dokka-4639cbda50359c8dcbaa61f0a960c002c060d3b9.zip |
Unify MultimoduleLocationProvider
Diffstat (limited to 'plugins/base/src/main/kotlin/resolvers/local')
-rw-r--r-- | plugins/base/src/main/kotlin/resolvers/local/DokkaLocationProviderFactory.kt | 4 | ||||
-rw-r--r-- | plugins/base/src/main/kotlin/resolvers/local/MultimoduleLocationProvider.kt | 34 |
2 files changed, 1 insertions, 37 deletions
diff --git a/plugins/base/src/main/kotlin/resolvers/local/DokkaLocationProviderFactory.kt b/plugins/base/src/main/kotlin/resolvers/local/DokkaLocationProviderFactory.kt index 99cc0687..85127d77 100644 --- a/plugins/base/src/main/kotlin/resolvers/local/DokkaLocationProviderFactory.kt +++ b/plugins/base/src/main/kotlin/resolvers/local/DokkaLocationProviderFactory.kt @@ -1,6 +1,5 @@ package org.jetbrains.dokka.base.resolvers.local -import org.jetbrains.dokka.pages.MultimoduleRootPageNode import org.jetbrains.dokka.pages.RootPageNode import org.jetbrains.dokka.plugability.DokkaContext import java.util.concurrent.ConcurrentHashMap @@ -9,8 +8,7 @@ class DokkaLocationProviderFactory(private val context: DokkaContext) : Location private val cache = ConcurrentHashMap<CacheWrapper, LocationProvider>() override fun getLocationProvider(pageNode: RootPageNode) = cache.computeIfAbsent(CacheWrapper(pageNode)) { - if (pageNode.children.first() is MultimoduleRootPageNode) MultimoduleLocationProvider(pageNode, context) - else DokkaLocationProvider(pageNode, context) + DokkaLocationProvider(pageNode, context) } private class CacheWrapper(val pageNode: RootPageNode) { diff --git a/plugins/base/src/main/kotlin/resolvers/local/MultimoduleLocationProvider.kt b/plugins/base/src/main/kotlin/resolvers/local/MultimoduleLocationProvider.kt deleted file mode 100644 index 60e72319..00000000 --- a/plugins/base/src/main/kotlin/resolvers/local/MultimoduleLocationProvider.kt +++ /dev/null @@ -1,34 +0,0 @@ -package org.jetbrains.dokka.base.resolvers.local - -import org.jetbrains.dokka.base.resolvers.local.DokkaLocationProvider.Companion.identifierToFilename -import org.jetbrains.dokka.links.DRI -import org.jetbrains.dokka.model.DisplaySourceSet -import org.jetbrains.dokka.pages.PageNode -import org.jetbrains.dokka.pages.RootPageNode -import org.jetbrains.dokka.plugability.DokkaContext - -class MultimoduleLocationProvider(pageGraphRoot: RootPageNode, dokkaContext: DokkaContext) : - DokkaBaseLocationProvider(pageGraphRoot, dokkaContext, ".html") { - - private val defaultLocationProvider = DokkaLocationProvider(pageGraphRoot, dokkaContext) - - val paths = dokkaContext.configuration.modules.map { - it.name to it.relativePathToOutputDirectory - }.toMap() - - override fun resolve(dri: DRI, sourceSets: Set<DisplaySourceSet>, context: PageNode?) = - dri.takeIf { it.packageName == MULTIMODULE_PACKAGE_PLACEHOLDER }?.classNames?.let { paths[it] }?.let { - "$it/${identifierToFilename(dri.classNames.orEmpty())}/index.html" - } ?: defaultLocationProvider.resolve(dri, sourceSets, context) - - override fun resolve(node: PageNode, context: PageNode?, skipExtension: Boolean) = - defaultLocationProvider.resolve(node, context, skipExtension) - - override fun pathToRoot(from: PageNode): String = defaultLocationProvider.pathToRoot(from) - - override fun ancestors(node: PageNode): List<PageNode> = listOf(pageGraphRoot) - - companion object { - const val MULTIMODULE_PACKAGE_PLACEHOLDER = ".ext" - } -} |