blob: 9555aeb94e9242d502e3321f4af6812e94944494 [file] [log] [blame]
package org.jetbrains.dokka.javadoc
import com.google.inject.Inject
import com.sun.tools.doclets.formats.html.HtmlDoclet
import org.jetbrains.dokka.*
import org.jetbrains.dokka.Formats.FormatDescriptor
import org.jetbrains.dokka.Samples.DefaultSampleProcessingService
import kotlin.reflect.KClass
class JavadocGenerator @Inject constructor(val options: DocumentationOptions, val logger: DokkaLogger) : Generator {
override fun buildPages(nodes: Iterable<DocumentationNode>) {
val module = nodes.single() as DocumentationModule
DokkaConsoleLogger.report()
HtmlDoclet.start(ModuleNodeAdapter(module, StandardReporter(logger), options.outputDir))
}
override fun buildOutlines(nodes: Iterable<DocumentationNode>) {
// no outline could be generated separately
}
override fun buildSupportFiles() {
}
override fun buildPackageList(nodes: Iterable<DocumentationNode>) {
// handled by javadoc itself
}
}
class JavadocFormatDescriptor : FormatDescriptor {
override val formatServiceClass = null
override val outlineServiceClass = null
override val generatorServiceClass = JavadocGenerator::class
override val packageDocumentationBuilderClass = KotlinAsJavaDocumentationBuilder::class
override val javaDocumentationBuilderClass = JavaPsiDocumentationBuilder::class
override val sampleProcessingService = DefaultSampleProcessingService::class
override val packageListServiceClass: KClass<out PackageListService>? = null
}