aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/kotlin/DokkaGenerator.kt
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/kotlin/DokkaGenerator.kt')
-rw-r--r--core/src/main/kotlin/DokkaGenerator.kt25
1 files changed, 25 insertions, 0 deletions
diff --git a/core/src/main/kotlin/DokkaGenerator.kt b/core/src/main/kotlin/DokkaGenerator.kt
index 6e62c033..7f90fe9a 100644
--- a/core/src/main/kotlin/DokkaGenerator.kt
+++ b/core/src/main/kotlin/DokkaGenerator.kt
@@ -60,6 +60,22 @@ class DokkaGenerator(
logger.report()
}.dump("\n\n === TIME MEASUREMENT ===\n")
+ fun generateAllModulesPage() = timed {
+ val sourceSetsCache = SourceSetCache()
+ val sourceSets = emptyMap<SourceSetData, EnvironmentAndFacade>()
+ report("Initializing plugins")
+ val context = initializePlugins(configuration, logger, sourceSets, sourceSetsCache)
+
+ report("Creating all modules page")
+ val pages = createAllModulePage(context)
+
+ report("Transforming pages")
+ val transformedPages = transformAllModulesPage(pages, context)
+
+ report("Rendering")
+ render(transformedPages, context)
+ }.dump("\n\n === TIME MEASUREMENT ===\n")
+
fun setUpAnalysis(
configuration: DokkaConfiguration,
sourceSetsCache: SourceSetCache
@@ -101,11 +117,20 @@ class DokkaGenerator(
context: DokkaContext
) = context.single(CoreExtensions.documentableToPageTranslator).invoke(transformedDocumentation)
+ fun createAllModulePage(
+ context: DokkaContext
+ ) = context.single(CoreExtensions.allModulePageCreator).invoke()
+
fun transformPages(
pages: RootPageNode,
context: DokkaContext
) = context[CoreExtensions.pageTransformer].fold(pages) { acc, t -> t(acc) }
+ fun transformAllModulesPage(
+ pages: RootPageNode,
+ context: DokkaContext
+ ) = context[CoreExtensions.allModulePageTransformer].fold(pages) { acc, t -> t(acc) }
+
fun render(
transformedPages: RootPageNode,
context: DokkaContext