diff options
author | Kamil Doległo <kamilok1965@interia.pl> | 2020-06-19 14:08:49 +0200 |
---|---|---|
committer | Paweł Marks <pmarks@virtuslab.com> | 2020-06-25 20:23:58 +0200 |
commit | 8cb6efc97f8fa321381c95cc5f85a3ce7bc13c3f (patch) | |
tree | fe4e24d9f352199e551bd34ba330c0d2c0acf7af /plugins/base/src/main/kotlin/transformers | |
parent | 08f40e2a13006882e8f8425f111b8527e7bbcb0f (diff) | |
download | dokka-8cb6efc97f8fa321381c95cc5f85a3ce7bc13c3f.tar.gz dokka-8cb6efc97f8fa321381c95cc5f85a3ce7bc13c3f.tar.bz2 dokka-8cb6efc97f8fa321381c95cc5f85a3ce7bc13c3f.zip |
Remove SourceSetDataCache, rename PassConfiguration to DokkaSourceSet and use it instead of SourceSetData
Diffstat (limited to 'plugins/base/src/main/kotlin/transformers')
10 files changed, 64 insertions, 83 deletions
diff --git a/plugins/base/src/main/kotlin/transformers/documentables/DeprecatedDocumentableFilterTransformer.kt b/plugins/base/src/main/kotlin/transformers/documentables/DeprecatedDocumentableFilterTransformer.kt index 27557107..109aa640 100644 --- a/plugins/base/src/main/kotlin/transformers/documentables/DeprecatedDocumentableFilterTransformer.kt +++ b/plugins/base/src/main/kotlin/transformers/documentables/DeprecatedDocumentableFilterTransformer.kt @@ -8,18 +8,16 @@ import org.jetbrains.dokka.transformers.documentation.PreMergeDocumentableTransf class DeprecatedDocumentableFilterTransformer(val context: DokkaContext) : PreMergeDocumentableTransformer { override fun invoke(modules: List<DModule>) = modules.map { original -> - val passOptions = context.configuration.passesConfigurations.first { - original.sourceSets.contains(context.sourceSet(it)) - } + val sourceSet = original.sourceSets.single() val packageOptions = - passOptions.perPackageOptions + sourceSet.perPackageOptions original.let { - DeprecatedDocumentableFilter(passOptions, packageOptions).processModule(it) + DeprecatedDocumentableFilter(sourceSet, packageOptions).processModule(it) } } private class DeprecatedDocumentableFilter( - val globalOptions: DokkaConfiguration.PassConfiguration, + val globalOptions: DokkaConfiguration.DokkaSourceSet, val packageOptions: List<DokkaConfiguration.PackageOptions> ) { diff --git a/plugins/base/src/main/kotlin/transformers/documentables/DocumentableVisibilityFilterTransformer.kt b/plugins/base/src/main/kotlin/transformers/documentables/DocumentableVisibilityFilterTransformer.kt index 0a01680f..c3cc4d38 100644 --- a/plugins/base/src/main/kotlin/transformers/documentables/DocumentableVisibilityFilterTransformer.kt +++ b/plugins/base/src/main/kotlin/transformers/documentables/DocumentableVisibilityFilterTransformer.kt @@ -4,15 +4,13 @@ import org.jetbrains.dokka.DokkaConfiguration import org.jetbrains.dokka.model.* import org.jetbrains.dokka.plugability.DokkaContext import org.jetbrains.dokka.transformers.documentation.PreMergeDocumentableTransformer +import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet class DocumentableVisibilityFilterTransformer(val context: DokkaContext) : PreMergeDocumentableTransformer { override fun invoke(modules: List<DModule>) = modules.map { original -> - val passOptions = context.configuration.passesConfigurations.first { - original.sourceSets.contains(context.sourceSet(it)) - } - val packageOptions = - passOptions.perPackageOptions + val passOptions = original.sourceSets.single() + val packageOptions = passOptions.perPackageOptions original.let { DocumentableVisibilityFilter(packageOptions, passOptions).processModule(it) } @@ -20,7 +18,7 @@ class DocumentableVisibilityFilterTransformer(val context: DokkaContext) : PreMe private class DocumentableVisibilityFilter( val packageOptions: List<DokkaConfiguration.PackageOptions>, - val globalOptions: DokkaConfiguration.PassConfiguration + val globalOptions: DokkaSourceSet ) { fun Visibility.isAllowedInPackage(packageName: String?) = when (this) { is JavaVisibility.Public, @@ -82,14 +80,14 @@ class DocumentableVisibilityFilterTransformer(val context: DokkaContext) : PreMe return Pair(packagesListChanged, filteredPackages) } - private fun <T : WithVisibility> alwaysTrue(a: T, p: SourceSetData) = true - private fun <T : WithVisibility> alwaysFalse(a: T, p: SourceSetData) = false + private fun <T : WithVisibility> alwaysTrue(a: T, p: DokkaSourceSet) = true + private fun <T : WithVisibility> alwaysFalse(a: T, p: DokkaSourceSet) = false - private fun WithVisibility.visibilityForPlatform(data: SourceSetData): Visibility? = visibility[data] + private fun WithVisibility.visibilityForPlatform(data: DokkaSourceSet): Visibility? = visibility[data] private fun <T> T.filterPlatforms( - additionalCondition: (T, SourceSetData) -> Boolean = ::alwaysTrue, - alternativeCondition: (T, SourceSetData) -> Boolean = ::alwaysFalse + additionalCondition: (T, DokkaSourceSet) -> Boolean = ::alwaysTrue, + alternativeCondition: (T, DokkaSourceSet) -> Boolean = ::alwaysFalse ) where T : Documentable, T : WithVisibility = sourceSets.filter { d -> visibilityForPlatform(d)?.isAllowedInPackage(dri.packageName) == true && @@ -98,9 +96,9 @@ class DocumentableVisibilityFilterTransformer(val context: DokkaContext) : PreMe }.toSet() private fun <T> List<T>.transform( - additionalCondition: (T, SourceSetData) -> Boolean = ::alwaysTrue, - alternativeCondition: (T, SourceSetData) -> Boolean = ::alwaysFalse, - recreate: (T, Set<SourceSetData>) -> T + additionalCondition: (T, DokkaSourceSet) -> Boolean = ::alwaysTrue, + alternativeCondition: (T, DokkaSourceSet) -> Boolean = ::alwaysFalse, + recreate: (T, Set<DokkaSourceSet>) -> T ): Pair<Boolean, List<T>> where T : Documentable, T : WithVisibility { var changed = false val values = mapNotNull { t -> @@ -122,7 +120,7 @@ class DocumentableVisibilityFilterTransformer(val context: DokkaContext) : PreMe private fun filterFunctions( functions: List<DFunction>, - additionalCondition: (DFunction, SourceSetData) -> Boolean = ::alwaysTrue + additionalCondition: (DFunction, DokkaSourceSet) -> Boolean = ::alwaysTrue ) = functions.transform(additionalCondition) { original, filteredPlatforms -> with(original) { @@ -145,13 +143,13 @@ class DocumentableVisibilityFilterTransformer(val context: DokkaContext) : PreMe } } - private fun hasVisibleAccessorsForPlatform(property: DProperty, data: SourceSetData) = + private fun hasVisibleAccessorsForPlatform(property: DProperty, data: DokkaSourceSet) = property.getter?.visibilityForPlatform(data)?.isAllowedInPackage(property.dri.packageName) == true || property.setter?.visibilityForPlatform(data)?.isAllowedInPackage(property.dri.packageName) == true private fun filterProperties( properties: List<DProperty>, - additionalCondition: (DProperty, SourceSetData) -> Boolean = ::alwaysTrue + additionalCondition: (DProperty, DokkaSourceSet) -> Boolean = ::alwaysTrue ): Pair<Boolean, List<DProperty>> = properties.transform(additionalCondition, ::hasVisibleAccessorsForPlatform) { original, filteredPlatforms -> with(original) { @@ -174,7 +172,7 @@ class DocumentableVisibilityFilterTransformer(val context: DokkaContext) : PreMe } } - private fun filterEnumEntries(entries: List<DEnumEntry>, filteredPlatforms: Set<SourceSetData>) = + private fun filterEnumEntries(entries: List<DEnumEntry>, filteredPlatforms: Set<DokkaSourceSet>) = entries.mapNotNull { entry -> if (filteredPlatforms.containsAll(entry.sourceSets)) entry else { @@ -196,7 +194,7 @@ class DocumentableVisibilityFilterTransformer(val context: DokkaContext) : PreMe private fun filterClasslikes( classlikeList: List<DClasslike>, - additionalCondition: (DClasslike, SourceSetData) -> Boolean = ::alwaysTrue + additionalCondition: (DClasslike, DokkaSourceSet) -> Boolean = ::alwaysTrue ): Pair<Boolean, List<DClasslike>> { var classlikesListChanged = false val filteredClasslikes: List<DClasslike> = classlikeList.mapNotNull { diff --git a/plugins/base/src/main/kotlin/transformers/documentables/EmptyPackagesFilterTransformer.kt b/plugins/base/src/main/kotlin/transformers/documentables/EmptyPackagesFilterTransformer.kt index 6b29531c..3fd0081a 100644 --- a/plugins/base/src/main/kotlin/transformers/documentables/EmptyPackagesFilterTransformer.kt +++ b/plugins/base/src/main/kotlin/transformers/documentables/EmptyPackagesFilterTransformer.kt @@ -3,22 +3,18 @@ package org.jetbrains.dokka.base.transformers.documentables import org.jetbrains.dokka.DokkaConfiguration import org.jetbrains.dokka.model.DModule import org.jetbrains.dokka.model.DPackage -import org.jetbrains.dokka.model.sourceSet import org.jetbrains.dokka.plugability.DokkaContext import org.jetbrains.dokka.transformers.documentation.PreMergeDocumentableTransformer class EmptyPackagesFilterTransformer(val context: DokkaContext) : PreMergeDocumentableTransformer { override fun invoke(modules: List<DModule>): List<DModule> = modules.map { original -> - val passOptions = context.configuration.passesConfigurations.first { - original.sourceSets.contains(context.sourceSet(it)) - } original.let { - EmptyPackagesFilter(passOptions).processModule(it) + EmptyPackagesFilter(original.sourceSets.single()).processModule(it) } } private class EmptyPackagesFilter( - val passOptions: DokkaConfiguration.PassConfiguration + val passOptions: DokkaConfiguration.DokkaSourceSet ) { fun DPackage.shouldBeSkipped() = passOptions.skipEmptyPackages && functions.isEmpty() && diff --git a/plugins/base/src/main/kotlin/transformers/documentables/InheritorsExtractorTransformer.kt b/plugins/base/src/main/kotlin/transformers/documentables/InheritorsExtractorTransformer.kt index 15ffc08a..f1bccd66 100644 --- a/plugins/base/src/main/kotlin/transformers/documentables/InheritorsExtractorTransformer.kt +++ b/plugins/base/src/main/kotlin/transformers/documentables/InheritorsExtractorTransformer.kt @@ -5,13 +5,14 @@ import org.jetbrains.dokka.model.* import org.jetbrains.dokka.model.properties.ExtraProperty import org.jetbrains.dokka.model.properties.MergeStrategy import org.jetbrains.dokka.plugability.DokkaContext +import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet import org.jetbrains.dokka.transformers.documentation.DocumentableTransformer class InheritorsExtractorTransformer : DocumentableTransformer { override fun invoke(original: DModule, context: DokkaContext): DModule = original.generateInheritanceMap().let { inheritanceMap -> original.appendInheritors(inheritanceMap) as DModule } - private fun <T : Documentable> T.appendInheritors(inheritanceMap: Map<SourceSetData, Map<DRI, List<DRI>>>): Documentable = + private fun <T : Documentable> T.appendInheritors(inheritanceMap: Map<DokkaSourceSet, Map<DRI, List<DRI>>>): Documentable = InheritorsInfo(inheritanceMap.getForDRI(dri)).let { info -> when (this) { is DModule -> copy(packages = packages.map { it.appendInheritors(inheritanceMap) as DPackage }) @@ -45,7 +46,7 @@ class InheritorsExtractorTransformer : DocumentableTransformer { private fun InheritorsInfo.isNotEmpty() = this.value.values.fold(0) { acc, list -> acc + list.size } > 0 - private fun Map<SourceSetData, Map<DRI, List<DRI>>>.getForDRI(dri: DRI) = + private fun Map<DokkaSourceSet, Map<DRI, List<DRI>>>.getForDRI(dri: DRI) = map { (v, k) -> v to k[dri] }.map { (k, v) -> k to v.orEmpty() }.toMap() @@ -57,7 +58,7 @@ class InheritorsExtractorTransformer : DocumentableTransformer { .groupBy({ it.first }) { it.second }.map { (k2, v2) -> k2 to v2.flatten() }.toMap() }.filter { it.second.values.isNotEmpty() }.toMap() - private fun <T : Documentable> T.getInheritanceEntriesRec(): List<Pair<SourceSetData, List<Pair<DRI, DRI>>>> = + private fun <T : Documentable> T.getInheritanceEntriesRec(): List<Pair<DokkaSourceSet, List<Pair<DRI, DRI>>>> = this.toInheritanceEntries() + children.flatMap { it.getInheritanceEntriesRec() } private fun <T : Documentable> T.toInheritanceEntries() = diff --git a/plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationTransformer.kt b/plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationTransformer.kt index 63232793..1f718a7c 100644 --- a/plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationTransformer.kt +++ b/plugins/base/src/main/kotlin/transformers/documentables/ModuleAndPackageDocumentationTransformer.kt @@ -3,9 +3,8 @@ 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.SourceSetData import org.jetbrains.dokka.model.doc.DocumentationNode -import org.jetbrains.dokka.model.sourceSet +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 @@ -23,9 +22,9 @@ internal class ModuleAndPackageDocumentationTransformer( override fun invoke(modules: List<DModule>): List<DModule> { val modulesAndPackagesDocumentation = - context.configuration.passesConfigurations + context.configuration.sourceSets .map { - Pair(it.moduleName, context.sourceSet(it)) to + Pair(it.moduleName, it) to it.includes.map { Paths.get(it) } .also { it.forEach { @@ -101,7 +100,7 @@ internal class ModuleAndPackageDocumentationTransformer( } } - private fun mergeDocumentation(origin: Map<SourceSetData, DocumentationNode>, new: Map<SourceSetData, DocumentationNode>) = + private fun mergeDocumentation(origin: Map<DokkaSourceSet, DocumentationNode>, new: Map<DokkaSourceSet, DocumentationNode>) = (origin.asSequence() + new.asSequence()) .distinct() .groupBy({ it.key }, { it.value }) diff --git a/plugins/base/src/main/kotlin/transformers/documentables/ReportUndocumentedTransformer.kt b/plugins/base/src/main/kotlin/transformers/documentables/ReportUndocumentedTransformer.kt index 0b47345d..2ebd4c62 100644 --- a/plugins/base/src/main/kotlin/transformers/documentables/ReportUndocumentedTransformer.kt +++ b/plugins/base/src/main/kotlin/transformers/documentables/ReportUndocumentedTransformer.kt @@ -1,7 +1,7 @@ package org.jetbrains.dokka.base.transformers.documentables import org.jetbrains.dokka.DokkaConfiguration -import org.jetbrains.dokka.DokkaConfiguration.PassConfiguration +import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet import org.jetbrains.dokka.analysis.DescriptorDocumentableSource import org.jetbrains.dokka.model.* import org.jetbrains.dokka.plugability.DokkaContext @@ -26,12 +26,11 @@ internal class ReportUndocumentedTransformer : DocumentableTransformer { } private fun shouldBeReportedIfNotDocumented( - documentable: Documentable, sourceSet: SourceSetData, context: DokkaContext + documentable: Documentable, sourceSet: DokkaSourceSet, context: DokkaContext ): Boolean { - val passConfiguration = passConfiguration(context, sourceSet) - val packageOptionsOrNull = packageOptionsOrNull(passConfiguration, documentable) + val packageOptionsOrNull = packageOptionsOrNull(sourceSet, documentable) - if (!(packageOptionsOrNull?.reportUndocumented ?: passConfiguration.reportUndocumented)) { + if (!(packageOptionsOrNull?.reportUndocumented ?: sourceSet.reportUndocumented)) { return false } @@ -61,7 +60,7 @@ internal class ReportUndocumentedTransformer : DocumentableTransformer { private fun reportIfUndocumented( context: DokkaContext, documentable: Documentable, - sourceSet: SourceSetData + sourceSet: DokkaSourceSet ) { if (isUndocumented(documentable, sourceSet)) { val documentableDescription = with(documentable) { @@ -94,14 +93,14 @@ internal class ReportUndocumentedTransformer : DocumentableTransformer { } } - private fun isUndocumented(documentable: Documentable, sourceSet: SourceSetData): Boolean { - fun resolveDependentSourceSets(sourceSet: SourceSetData): List<SourceSetData> { + private fun isUndocumented(documentable: Documentable, sourceSet: DokkaSourceSet): Boolean { + fun resolveDependentSourceSets(sourceSet: DokkaSourceSet): List<DokkaSourceSet> { return sourceSet.dependentSourceSets.mapNotNull { sourceSetID -> documentable.sourceSets.singleOrNull { it.sourceSetID == sourceSetID } } } - fun withAllDependentSourceSets(sourceSet: SourceSetData): Sequence<SourceSetData> { + fun withAllDependentSourceSets(sourceSet: DokkaSourceSet): Sequence<DokkaSourceSet> { return sequence { yield(sourceSet) for (dependentSourceSet in resolveDependentSourceSets(sourceSet)) { @@ -120,25 +119,16 @@ internal class ReportUndocumentedTransformer : DocumentableTransformer { return documentable.isConstructor } - private fun passConfiguration(context: DokkaContext, sourceSet: SourceSetData): PassConfiguration { - val passes = context.configuration.passesConfigurations.filter { configuration -> - configuration.sourceSetID == sourceSet.sourceSetID - } - if (passes.size > 1) - context.logger.error("Expected one passConfiguration with ID: ${sourceSet.sourceSetID} found: ${passes.size} in [${passes.joinToString { it.moduleName }}]") - return passes.first() - } - - private fun isFakeOverride(documentable: Documentable, sourceSet: SourceSetData): Boolean { + private fun isFakeOverride(documentable: Documentable, sourceSet: DokkaSourceSet): Boolean { return callableMemberDescriptorOrNull(documentable, sourceSet)?.kind == FAKE_OVERRIDE } - private fun isSynthesized(documentable: Documentable, sourceSet: SourceSetData): Boolean { + private fun isSynthesized(documentable: Documentable, sourceSet: DokkaSourceSet): Boolean { return callableMemberDescriptorOrNull(documentable, sourceSet)?.kind == SYNTHESIZED } private fun callableMemberDescriptorOrNull( - documentable: Documentable, sourceSet: SourceSetData + documentable: Documentable, sourceSet: DokkaSourceSet ): CallableMemberDescriptor? { if (documentable is WithExpectActual) { return documentable.sources[sourceSet] @@ -149,7 +139,7 @@ internal class ReportUndocumentedTransformer : DocumentableTransformer { return null } - private fun isPrivateOrInternalApi(documentable: Documentable, sourceSet: SourceSetData): Boolean { + private fun isPrivateOrInternalApi(documentable: Documentable, sourceSet: DokkaSourceSet): Boolean { return when (documentable.safeAs<WithVisibility>()?.visibility?.get(sourceSet)) { KotlinVisibility.Public -> false KotlinVisibility.Private -> true @@ -164,11 +154,11 @@ internal class ReportUndocumentedTransformer : DocumentableTransformer { } private fun packageOptionsOrNull( - passConfiguration: PassConfiguration, + dokkaSourceSet: DokkaSourceSet, documentable: Documentable ): DokkaConfiguration.PackageOptions? { val packageName = documentable.dri.packageName ?: return null - return passConfiguration.perPackageOptions + return dokkaSourceSet.perPackageOptions .filter { packageOptions -> packageName.startsWith(packageOptions.prefix) } .maxBy { packageOptions -> packageOptions.prefix.length } } diff --git a/plugins/base/src/main/kotlin/transformers/pages/comments/CommentsToContentConverter.kt b/plugins/base/src/main/kotlin/transformers/pages/comments/CommentsToContentConverter.kt index cb74441e..fa9ce37e 100644 --- a/plugins/base/src/main/kotlin/transformers/pages/comments/CommentsToContentConverter.kt +++ b/plugins/base/src/main/kotlin/transformers/pages/comments/CommentsToContentConverter.kt @@ -1,6 +1,6 @@ package org.jetbrains.dokka.base.transformers.pages.comments -import org.jetbrains.dokka.model.SourceSetData +import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet import org.jetbrains.dokka.model.doc.DocTag import org.jetbrains.dokka.model.properties.PropertyContainer import org.jetbrains.dokka.pages.* @@ -9,7 +9,7 @@ interface CommentsToContentConverter { fun buildContent( docTag: DocTag, dci: DCI, - platforms: Set<SourceSetData>, + sourceSets: Set<DokkaSourceSet>, styles: Set<Style> = emptySet(), extras: PropertyContainer<ContentNode> = PropertyContainer.empty() ): List<ContentNode> diff --git a/plugins/base/src/main/kotlin/transformers/pages/comments/DocTagToContentConverter.kt b/plugins/base/src/main/kotlin/transformers/pages/comments/DocTagToContentConverter.kt index be1217db..14f3a996 100644 --- a/plugins/base/src/main/kotlin/transformers/pages/comments/DocTagToContentConverter.kt +++ b/plugins/base/src/main/kotlin/transformers/pages/comments/DocTagToContentConverter.kt @@ -1,6 +1,6 @@ package org.jetbrains.dokka.base.transformers.pages.comments -import org.jetbrains.dokka.model.SourceSetData +import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet import org.jetbrains.dokka.model.doc.* import org.jetbrains.dokka.model.properties.PropertyContainer import org.jetbrains.dokka.pages.* @@ -9,7 +9,7 @@ object DocTagToContentConverter : CommentsToContentConverter { override fun buildContent( docTag: DocTag, dci: DCI, - sourceSets: Set<SourceSetData>, + sourceSets: Set<DokkaSourceSet>, styles: Set<Style>, extra: PropertyContainer<ContentNode> ): List<ContentNode> { 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 0d133a65..a40f2f53 100644 --- a/plugins/base/src/main/kotlin/transformers/pages/samples/SamplesTransformer.kt +++ b/plugins/base/src/main/kotlin/transformers/pages/samples/SamplesTransformer.kt @@ -8,10 +8,9 @@ import org.jetbrains.dokka.analysis.DokkaResolutionFacade import org.jetbrains.dokka.analysis.EnvironmentAndFacade import org.jetbrains.dokka.base.renderers.platforms import org.jetbrains.dokka.links.DRI -import org.jetbrains.dokka.model.SourceSetData +import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet import org.jetbrains.dokka.model.doc.Sample import org.jetbrains.dokka.model.properties.PropertyContainer -import org.jetbrains.dokka.model.sourceSet import org.jetbrains.dokka.pages.* import org.jetbrains.dokka.plugability.DokkaContext import org.jetbrains.dokka.transformers.pages.PageTransformer @@ -40,8 +39,8 @@ abstract class SamplesTransformer(val context: DokkaContext) : PageTransformer { } } - private fun setUpAnalysis(context: DokkaContext) = context.configuration.passesConfigurations.map { - context.sourceSet(it) to AnalysisEnvironment(DokkaMessageCollector(context.logger), it.analysisPlatform).run { + private fun setUpAnalysis(context: DokkaContext) = context.configuration.sourceSets.map { + it to AnalysisEnvironment(DokkaMessageCollector(context.logger), it.analysisPlatform).run { if (analysisPlatform == Platform.jvm) { addClasspath(PathUtil.getJdkClassesRootsFromCurrentJre()) } @@ -59,9 +58,9 @@ abstract class SamplesTransformer(val context: DokkaContext) : PageTransformer { private fun ContentNode.addSample( contentPage: ContentPage, - platform: SourceSetData, + platform: DokkaSourceSet, fqName: String, - analysis: Map<SourceSetData, EnvironmentAndFacade> + analysis: Map<DokkaSourceSet, EnvironmentAndFacade> ): ContentNode { val facade = analysis[platform]?.facade ?: return this.also { context.logger.warn("Cannot resolve facade for platform ${platform.moduleName}") } @@ -110,7 +109,7 @@ abstract class SamplesTransformer(val context: DokkaContext) : PageTransformer { return DescriptorToSourceUtils.descriptorToDeclaration(symbol) } - private fun contentCode(sourceSets: List<SourceSetData>, dri: Set<DRI>, content: String, language: String) = + private fun contentCode(sourceSets: List<DokkaSourceSet>, dri: Set<DRI>, content: String, language: String) = ContentCode( children = listOf( ContentText( diff --git a/plugins/base/src/main/kotlin/transformers/pages/sourcelinks/SourceLinksTransformer.kt b/plugins/base/src/main/kotlin/transformers/pages/sourcelinks/SourceLinksTransformer.kt index 7603c80b..42422934 100644 --- a/plugins/base/src/main/kotlin/transformers/pages/sourcelinks/SourceLinksTransformer.kt +++ b/plugins/base/src/main/kotlin/transformers/pages/sourcelinks/SourceLinksTransformer.kt @@ -3,11 +3,11 @@ package org.jetbrains.dokka.base.transformers.pages.sourcelinks import com.intellij.psi.PsiElement import com.intellij.psi.PsiDocumentManager import org.jetbrains.dokka.DokkaConfiguration -import org.jetbrains.dokka.analysis.DescriptorDocumentableSource -import org.jetbrains.dokka.analysis.PsiDocumentableSource import org.jetbrains.dokka.base.translators.documentables.PageContentBuilder -import org.jetbrains.dokka.model.SourceSetData import org.jetbrains.dokka.model.DocumentableSource +import org.jetbrains.dokka.DokkaConfiguration.DokkaSourceSet +import org.jetbrains.dokka.analysis.DescriptorDocumentableSource +import org.jetbrains.dokka.analysis.PsiDocumentableSource import org.jetbrains.dokka.model.WithExpectActual import org.jetbrains.dokka.pages.* import org.jetbrains.dokka.plugability.DokkaContext @@ -29,8 +29,8 @@ class SourceLinksTransformer(val context: DokkaContext, val builder: PageContent } } - private fun getSourceLinks() = context.configuration.passesConfigurations - .flatMap { it.sourceLinks.map { sl -> SourceLink(sl, context.sourceSetCache.getSourceSet(it)) } } + private fun getSourceLinks() = context.configuration.sourceSets + .flatMap { it.sourceLinks.map { sl -> SourceLink(sl, it) } } private fun resolveSources(documentable: WithExpectActual) = documentable.sources .mapNotNull { entry -> @@ -42,7 +42,7 @@ class SourceLinksTransformer(val context: DokkaContext, val builder: PageContent } } - private fun ContentPage.addSourcesContent(sources: List<Pair<SourceSetData, String>>) = builder + private fun ContentPage.addSourcesContent(sources: List<Pair<DokkaSourceSet, String>>) = builder .buildSourcesContent(this, sources) .let { this.modified( @@ -52,7 +52,7 @@ class SourceLinksTransformer(val context: DokkaContext, val builder: PageContent private fun PageContentBuilder.buildSourcesContent( node: ContentPage, - sources: List<Pair<SourceSetData, String>> + sources: List<Pair<DokkaSourceSet, String>> ) = contentFor( node.dri.first(), node.documentable!!.sourceSets.toSet() @@ -121,8 +121,8 @@ class SourceLinksTransformer(val context: DokkaContext, val builder: PageContent } } -data class SourceLink(val path: String, val url: String, val lineSuffix: String?, val sourceSetData: SourceSetData) { - constructor(sourceLinkDefinition: DokkaConfiguration.SourceLinkDefinition, sourceSetData: SourceSetData) : this( +data class SourceLink(val path: String, val url: String, val lineSuffix: String?, val sourceSetData: DokkaSourceSet) { + constructor(sourceLinkDefinition: DokkaConfiguration.SourceLinkDefinition, sourceSetData: DokkaSourceSet) : this( sourceLinkDefinition.path, sourceLinkDefinition.url, sourceLinkDefinition.lineSuffix, sourceSetData ) } |