aboutsummaryrefslogtreecommitdiff
path: root/core/src/main/kotlin/Generation
diff options
context:
space:
mode:
authoraleksZubakov <aleks.zubakov@gmail.com>2018-08-02 18:59:20 +0300
committeraleksZubakov <aleks.zubakov@gmail.com>2018-08-06 12:01:31 +0300
commitba09711a1ecbdaede86cab9e76d13ff1047f89b2 (patch)
tree643168461eee8d574e6cdb28a57a7a4f9e526839 /core/src/main/kotlin/Generation
parent052a218dcf8bc565d5e78dc900a9647f0da5350a (diff)
downloaddokka-ba09711a1ecbdaede86cab9e76d13ff1047f89b2.tar.gz
dokka-ba09711a1ecbdaede86cab9e76d13ff1047f89b2.tar.bz2
dokka-ba09711a1ecbdaede86cab9e76d13ff1047f89b2.zip
ExternalDocumentationLinkResolver refactoring, extract common dependencies from guice modules
Diffstat (limited to 'core/src/main/kotlin/Generation')
-rw-r--r--core/src/main/kotlin/Generation/DokkaGenerator.kt11
1 files changed, 7 insertions, 4 deletions
diff --git a/core/src/main/kotlin/Generation/DokkaGenerator.kt b/core/src/main/kotlin/Generation/DokkaGenerator.kt
index 2e46d908..22d1519f 100644
--- a/core/src/main/kotlin/Generation/DokkaGenerator.kt
+++ b/core/src/main/kotlin/Generation/DokkaGenerator.kt
@@ -9,6 +9,7 @@ import com.intellij.psi.PsiJavaFile
import com.intellij.psi.PsiManager
import org.jetbrains.dokka.Utilities.DokkaAnalysisModule
import org.jetbrains.dokka.Utilities.DokkaOutputModule
+import org.jetbrains.dokka.Utilities.DokkaRunModule
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
@@ -27,6 +28,7 @@ class DokkaGenerator(val dokkaConfiguration: DokkaConfiguration,
val logger: DokkaLogger) {
private val documentationModules: MutableList<DocumentationModule> = mutableListOf()
+ private val globalInjector = Guice.createInjector(DokkaRunModule(dokkaConfiguration))
fun generate() = with(dokkaConfiguration) {
@@ -43,8 +45,9 @@ class DokkaGenerator(val dokkaConfiguration: DokkaConfiguration,
val timeBuild = measureTimeMillis {
logger.info("Generating pages... ")
- val outputInjector = Guice.createInjector(DokkaOutputModule(dokkaConfiguration, logger))
- outputInjector.getInstance(Generator::class.java).buildAll(totalDocumentationModule)
+ val outputInjector = globalInjector.createChildInjector(DokkaOutputModule(dokkaConfiguration, logger))
+ val instance = outputInjector.getInstance(Generator::class.java)
+ instance.buildAll(totalDocumentationModule)
}
logger.info("done in ${timeBuild / 1000} secs")
}
@@ -75,11 +78,11 @@ class DokkaGenerator(val dokkaConfiguration: DokkaConfiguration,
}
}
- val injector = Guice.createInjector(
+ val injector = globalInjector.createChildInjector(
DokkaAnalysisModule(environment, dokkaConfiguration, defaultPlatformsProvider, documentationModule.nodeRefGraph, passConfiguration, logger))
buildDocumentationModule(injector, documentationModule, { isNotSample(it, passConfiguration.samples) }, includes)
- documentationModule.nodeRefGraph.nodeMapView.forEach { (_, node) ->
+ documentationModule.nodeRefGraph.nodeMapView.forEach { (_, node) -> // FIXME: change to full graph visiting
node.addReferenceTo(
DocumentationNode(analysisPlatform.key, Content.Empty, NodeKind.Platform),
RefKind.Platform