diff options
| author | Sergey Mashkov <sergey.mashkov@jetbrains.com> | 2015-07-31 15:35:34 +0300 |
|---|---|---|
| committer | Dmitry Jemerov <yole@jetbrains.com> | 2015-10-29 13:21:47 +0100 |
| commit | c9d59e9ae85f76e021d53c77ef18bfce0ff7ec7c (patch) | |
| tree | d5e86994c762318008f7beaf781cdeafde573802 | |
| parent | ff77b8e0ad0b5089e940227dfdd94ba21cfc6bd8 (diff) | |
| download | dokka-c9d59e9ae85f76e021d53c77ef18bfce0ff7ec7c.tar.gz dokka-c9d59e9ae85f76e021d53c77ef18bfce0ff7ec7c.tar.bz2 dokka-c9d59e9ae85f76e021d53c77ef18bfce0ff7ec7c.zip | |
Use Guice injector and ServiceLocator to load implementations on the fly
47 files changed, 424 insertions, 116 deletions
diff --git a/.idea/encodings.xml b/.idea/encodings.xml index e206d70d..f7589596 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> - <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" /> -</project> - + <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false"> + <file url="PROJECT" charset="UTF-8" /> + </component> +</project>
\ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 00b45e99..01f55e26 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -12,6 +12,11 @@ </set> </option> <option name="useAutoImport" value="true" /> + <option name="myModules"> + <set> + <option value="$PROJECT_DIR$/dokka-fatjar" /> + </set> + </option> </GradleProjectSettings> <GradleProjectSettings> <option name="distributionType" value="DEFAULT_WRAPPED" /> @@ -22,6 +27,11 @@ </set> </option> <option name="useAutoImport" value="true" /> + <option name="myModules"> + <set> + <option value="$PROJECT_DIR$/gradle-plugin" /> + </set> + </option> </GradleProjectSettings> <GradleProjectSettings> <option name="distributionType" value="DEFAULT_WRAPPED" /> @@ -33,6 +43,11 @@ </set> </option> <option name="useAutoImport" value="true" /> + <option name="myModules"> + <set> + <option value="$PROJECT_DIR$/javadoc" /> + </set> + </option> </GradleProjectSettings> </option> </component> diff --git a/.idea/libraries/Gradle__org_fusesource_jansi_jansi_1_11.xml b/.idea/libraries/Gradle__org_fusesource_jansi_jansi_1_11.xml deleted file mode 100644 index 8c78e1dc..00000000 --- a/.idea/libraries/Gradle__org_fusesource_jansi_jansi_1_11.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<component name="libraryTable"> - <library name="Gradle: org.fusesource.jansi:jansi:1.11"> - <CLASSES> - <root url="jar://$MAVEN_REPOSITORY$/org/fusesource/jansi/jansi/1.11/jansi-1.11.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> -</component>
\ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_dokka_dokka_fatjar_0_0_1_SNAPSHOT.xml b/.idea/libraries/Gradle__org_jetbrains_dokka_dokka_fatjar_0_0_1_SNAPSHOT.xml deleted file mode 100644 index 1328f8e8..00000000 --- a/.idea/libraries/Gradle__org_jetbrains_dokka_dokka_fatjar_0_0_1_SNAPSHOT.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<component name="libraryTable"> - <library name="Gradle: org.jetbrains.dokka:dokka-fatjar:0.0.1-SNAPSHOT"> - <CLASSES> - <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/dokka/dokka-fatjar/0.0.1-SNAPSHOT/dokka-fatjar-0.0.1-SNAPSHOT.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES> - <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/dokka/dokka-fatjar/0.0.1-SNAPSHOT/dokka-fatjar-0.0.1-SNAPSHOT-sources.jar!/" /> - </SOURCES> - </library> -</component>
\ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_dokka_dokka_fatjar_1_0_0_beta_1038.xml b/.idea/libraries/Gradle__org_jetbrains_dokka_dokka_fatjar_1_0_0_beta_1038.xml new file mode 100644 index 00000000..eee2b80d --- /dev/null +++ b/.idea/libraries/Gradle__org_jetbrains_dokka_dokka_fatjar_1_0_0_beta_1038.xml @@ -0,0 +1,11 @@ +<component name="libraryTable"> + <library name="Gradle: org.jetbrains.dokka:dokka-fatjar:1.0.0-beta-1038"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/dokka/dokka-fatjar/1.0.0-beta-1038/dokka-fatjar-1.0.0-beta-1038.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/dokka/dokka-fatjar/1.0.0-beta-1038/dokka-fatjar-1.0.0-beta-1038-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_runtime_0_1_SNAPSHOT.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_runtime_0_1_SNAPSHOT.xml new file mode 100644 index 00000000..7269fee8 --- /dev/null +++ b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_runtime_0_1_SNAPSHOT.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Gradle: org.jetbrains.kotlin:kotlin-runtime:0.1-SNAPSHOT"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-runtime/0.1-SNAPSHOT/kotlin-runtime-0.1-SNAPSHOT.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-runtime/0.1-SNAPSHOT/kotlin-runtime-0.1-SNAPSHOT-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_0_1_SNAPSHOT.xml b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_0_1_SNAPSHOT.xml new file mode 100644 index 00000000..7ee2d16e --- /dev/null +++ b/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_0_1_SNAPSHOT.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="Gradle: org.jetbrains.kotlin:kotlin-stdlib:0.1-SNAPSHOT"> + <CLASSES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/0.1-SNAPSHOT/kotlin-stdlib-0.1-SNAPSHOT.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES> + <root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/0.1-SNAPSHOT/kotlin-stdlib-0.1-SNAPSHOT-sources.jar!/" /> + </SOURCES> + </library> +</component>
\ No newline at end of file diff --git a/.idea/libraries/com_google_inject_guice_4_0.xml b/.idea/libraries/com_google_inject_guice_4_0.xml new file mode 100644 index 00000000..99d2a5e4 --- /dev/null +++ b/.idea/libraries/com_google_inject_guice_4_0.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<component name="libraryTable"> + <library name="com.google.inject:guice:4.0" type="repository"> + <properties maven-id="com.google.inject:guice:4.0" /> + <CLASSES> + <root url="jar://$PROJECT_DIR$/lib/guice-4.0.jar!/" /> + <root url="jar://$PROJECT_DIR$/lib/javax.inject-1.jar!/" /> + <root url="jar://$PROJECT_DIR$/lib/aopalliance-1.0.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> +</component>
\ No newline at end of file diff --git a/dokka-fatjar/dokka-fatjar.iml b/dokka-fatjar/dokka-fatjar.iml index dcf9d922..e8948bfb 100644 --- a/dokka-fatjar/dokka-fatjar.iml +++ b/dokka-fatjar/dokka-fatjar.iml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<module external.linked.project.id="dokka-fatjar" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="org.jetbrains.dokka" external.system.module.version="0.0.1-SNAPSHOT" type="JAVA_MODULE" version="4"> +<module external.linked.project.id="dokka-fatjar" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="org.jetbrains.dokka" external.system.module.version="1.0.0-beta-1038" type="JAVA_MODULE" version="4"> <component name="NewModuleRootManager" inherit-compiler-output="false"> <output url="file://$MODULE_DIR$/build/classes/main" /> <output-test url="file://$MODULE_DIR$/build/classes/test" /> @@ -24,6 +24,7 @@ <orderEntry type="library" name="protobuf" level="project" /> <orderEntry type="library" name="asm" level="project" /> <orderEntry type="library" name="jps-model" level="project" /> + <orderEntry type="library" name="com.google.inject:guice:4.0" level="project" /> <orderEntry type="library" name="jansi" level="project" /> </component> </module>
\ No newline at end of file diff --git a/gradle-plugin/dokka-gradle-plugin.iml b/gradle-plugin/dokka-gradle-plugin.iml index 3098979d..03f8028f 100644 --- a/gradle-plugin/dokka-gradle-plugin.iml +++ b/gradle-plugin/dokka-gradle-plugin.iml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<module external.linked.project.id="dokka-gradle-plugin" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="org.jetbrains.dokka" external.system.module.version="0.1-SNAPSHOT" type="JAVA_MODULE" version="4"> +<module external.linked.project.id="dokka-gradle-plugin" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="org.jetbrains.dokka" external.system.module.version="1.0.0-beta-1038" type="JAVA_MODULE" version="4"> <component name="NewModuleRootManager" inherit-compiler-output="false"> <output url="file://$MODULE_DIR$/build/classes/main" /> <output-test url="file://$MODULE_DIR$/build/classes/test" /> @@ -1466,7 +1466,6 @@ </SOURCES> </library> </orderEntry> - <orderEntry type="library" name="Gradle: org.jetbrains.dokka:dokka-fatjar:0.0.1-SNAPSHOT" level="project" /> - <orderEntry type="library" name="Gradle: org.fusesource.jansi:jansi:1.11" level="project" /> + <orderEntry type="library" name="Gradle: org.jetbrains.dokka:dokka-fatjar:1.0.0-beta-1038" level="project" /> </component> </module>
\ No newline at end of file diff --git a/javadoc/build.gradle b/javadoc/build.gradle index 5c1d464d..ac079b99 100644 --- a/javadoc/build.gradle +++ b/javadoc/build.gradle @@ -33,7 +33,7 @@ repositories { dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" - compile "org.jetbrains.dokka:dokka-fatjar:(,0.2)" + compile "org.jetbrains.dokka:dokka-fatjar:(1.0,1.1)" compile files("${System.properties['java.home']}/../lib/tools.jar") compile gradleApi() diff --git a/javadoc/javadoc.iml b/javadoc/javadoc.iml index bc2537e7..e62f617f 100644 --- a/javadoc/javadoc.iml +++ b/javadoc/javadoc.iml @@ -16,8 +16,6 @@ </content> <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" /> <orderEntry type="sourceFolder" forTests="false" /> - <orderEntry type="library" name="Gradle: org.jetbrains.dokka:dokka-fatjar:0.0.1-SNAPSHOT" level="project" /> - <orderEntry type="library" name="Gradle: org.fusesource.jansi:jansi:1.11" level="project" /> <orderEntry type="module-library"> <library name="Gradle: gradle-core-2.5"> <CLASSES> @@ -1473,11 +1471,12 @@ <orderEntry type="module-library"> <library name="Gradle: tools"> <CLASSES> - <root url="jar:///usr/java/jdk1.8.0_51/lib/tools.jar!/" /> + <root url="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/tools.jar!/" /> </CLASSES> <JAVADOC /> <SOURCES /> </library> </orderEntry> + <orderEntry type="library" name="Gradle: org.jetbrains.dokka:dokka-fatjar:1.0.0-beta-1038" level="project" /> </component> </module>
\ No newline at end of file diff --git a/javadoc/src/main/kotlin/docbase.kt b/javadoc/src/main/kotlin/docbase.kt index fe66a672..36371ad8 100644 --- a/javadoc/src/main/kotlin/docbase.kt +++ b/javadoc/src/main/kotlin/docbase.kt @@ -63,7 +63,7 @@ open class DocumentationNodeAdapter(val module: ModuleNodeAdapter, docNode: Docu }).toTypedArray() } -private val allClassKinds = setOf(DocumentationNode.Kind.Class, DocumentationNode.Kind.Enum, DocumentationNode.Kind.Interface, DocumentationNode.Kind.Object, DocumentationNode.Kind.Exception) +val allClassKinds = setOf(DocumentationNode.Kind.Class, DocumentationNode.Kind.Enum, DocumentationNode.Kind.Interface, DocumentationNode.Kind.Object, DocumentationNode.Kind.Exception) class PackageAdapter(module: ModuleNodeAdapter, val node: DocumentationNode) : DocumentationNodeAdapter(module, node), PackageDoc { private val allClasses = node.members.filter { it.kind in allClassKinds }.toMap { it.name } @@ -472,7 +472,7 @@ fun DocumentationNode.lookupSuperClasses(module: ModuleNodeAdapter) = .map { module.allTypes[it?.qualifiedName] } .filterNotNull() -class ModuleNodeAdapter(val module: DocumentationModule, val reporter: DocErrorReporter) : DocumentationNodeBareAdapter(module), DocErrorReporter by reporter, RootDoc { +class ModuleNodeAdapter(val module: DocumentationModule, val reporter: DocErrorReporter, val outputPath: String) : DocumentationNodeBareAdapter(module), DocErrorReporter by reporter, RootDoc { val allPackages = module.members(DocumentationNode.Kind.Package).toMap { it.name } val allTypes = module.members(DocumentationNode.Kind.Package) .flatMap { it.members(DocumentationNode.Kind.Class) + it.members(DocumentationNode.Kind.Interface) + it.members(DocumentationNode.Kind.Enum) } @@ -486,8 +486,10 @@ class ModuleNodeAdapter(val module: DocumentationModule, val reporter: DocErrorR .toTypedArray() override fun options(): Array<out Array<String>> = arrayOf( - arrayOf("-d", "out/javadoc"), - arrayOf("-docencoding", "UTF-8") + arrayOf("-d", outputPath), + arrayOf("-docencoding", "UTF-8"), + arrayOf("-charset", "UTF-8"), + arrayOf("-keywords") ) override fun specifiedPackages(): Array<out PackageDoc>? = module.members(DocumentationNode.Kind.Package).map { PackageAdapter(this, it) }.toTypedArray() diff --git a/javadoc/src/main/kotlin/dokka-adapters.kt b/javadoc/src/main/kotlin/dokka-adapters.kt new file mode 100644 index 00000000..c9183d50 --- /dev/null +++ b/javadoc/src/main/kotlin/dokka-adapters.kt @@ -0,0 +1,29 @@ +package org.jetbrains.dokka.javadoc + +import com.sun.tools.doclets.formats.html.HtmlDoclet +import org.jetbrains.dokka.* +import org.jetbrains.dokka.Formats.FormatDescriptor + +class JavadocGenerator(val conf: DokkaGenerator) : Generator { + override fun buildPages(nodes: Iterable<DocumentationNode>) { + val module = nodes.single() as DocumentationModule + + DokkaConsoleLogger.report() + HtmlDoclet.start(ModuleNodeAdapter(module, StandardReporter, conf.outputDir)) + } + + override fun buildOutlines(nodes: Iterable<DocumentationNode>) { + // no outline could be generated separately + } +} + +class JavadocFormatDescriptor : FormatDescriptor { + override val formatServiceClass: Class<out FormatService>? + get() = null + override val outlineServiceClass: Class<out OutlineFormatService>? + get() = null + + override val generatorServiceClass: Class<out Generator> + get() = javaClass<JavadocGenerator>() +} + diff --git a/javadoc/src/main/kotlin/main.kt b/javadoc/src/main/kotlin/main.kt deleted file mode 100644 index 0c3821c3..00000000 --- a/javadoc/src/main/kotlin/main.kt +++ /dev/null @@ -1,24 +0,0 @@ -package org.jetbrains.dokka.javadoc - -import com.sun.tools.doclets.formats.html.HtmlDoclet -import org.jetbrains.dokka.DocumentationOptions -import org.jetbrains.dokka.DokkaConsoleLogger -import org.jetbrains.dokka.DokkaGenerator -import org.jetbrains.dokka.buildDocumentationModule -import java.io.File - -/** - * Test me, my friend - */ -public fun main(args: Array<String>) { - val generator = DokkaGenerator(DokkaConsoleLogger, System.getProperty("java.class.path").split(File.pathSeparator), listOf(File("test").absolutePath), emptyList(), emptyList(), "me", "out/dokka", "html", emptyList(), false) - val env = generator.createAnalysisEnvironment() - val module = buildDocumentationModule(env, generator.moduleName, DocumentationOptions(includeNonPublic = true, sourceLinks = emptyList()), emptyList(), { - generator.isSample(it) - }, generator.logger) - - DokkaConsoleLogger.report() - HtmlDoclet.start(ModuleNodeAdapter(module, StandardReporter)) -} - -public fun String.a(): Int = 1
\ No newline at end of file diff --git a/javadoc/src/main/kotlin/tags.kt b/javadoc/src/main/kotlin/tags.kt index 120154f9..6f0ebca0 100644 --- a/javadoc/src/main/kotlin/tags.kt +++ b/javadoc/src/main/kotlin/tags.kt @@ -2,7 +2,7 @@ package org.jetbrains.dokka.javadoc import com.sun.javadoc.* import org.jetbrains.dokka.* -import java.util.ArrayList +import java.util.* class TextTag(val holder: Doc, val content: ContentText) : Tag { val plainText: String @@ -66,7 +66,7 @@ class SeeClassTagAdapter(holder: Doc, val clazz: ClassDocumentationNodeAdapter, override fun firstSentenceTags(): Array<out Tag> = inlineTags() // TODO } -class ParamTagAdapter(val module: ModuleNodeAdapter, val holder: Doc, val parameterName: String, val isTypeParameter: Boolean, val content: List<ContentNode>) : ParamTag { +class ParamTagAdapter(val module: ModuleNodeAdapter, val holder: Doc, val parameterName: String, val typeParameter: Boolean, val content: List<ContentNode>) : ParamTag { constructor(module: ModuleNodeAdapter, holder: Doc, parameterName: String, isTypeParameter: Boolean, content: ContentNode) : this(module, holder, parameterName, isTypeParameter, listOf(content)) override fun name(): String = "@param" @@ -78,7 +78,7 @@ class ParamTagAdapter(val module: ModuleNodeAdapter, val holder: Doc, val parame override fun inlineTags(): Array<out Tag> = content.flatMap { buildInlineTags(module, holder, it) }.toTypedArray() override fun firstSentenceTags(): Array<out Tag> = arrayOf(TextTag(holder, ContentText(text()))) - override fun isTypeParameter(): Boolean = isTypeParameter + override fun isTypeParameter(): Boolean = typeParameter override fun parameterComment(): String = content.toString() // TODO override fun parameterName(): String = parameterName } diff --git a/javadoc/src/main/resources/dokka/generator/javadoc.properties b/javadoc/src/main/resources/dokka/generator/javadoc.properties new file mode 100644 index 00000000..4075704f --- /dev/null +++ b/javadoc/src/main/resources/dokka/generator/javadoc.properties @@ -0,0 +1,2 @@ +class=org.jetbrains.dokka.javadoc.JavadocGenerator +description=Produces output via JDK javadoc tool
\ No newline at end of file diff --git a/javadoc/src/main/resources/format/javadoc.properties b/javadoc/src/main/resources/format/javadoc.properties new file mode 100644 index 00000000..a58317fc --- /dev/null +++ b/javadoc/src/main/resources/format/javadoc.properties @@ -0,0 +1 @@ +class=org.jetbrains.dokka.javadoc.JavadocFormatDescriptor
\ No newline at end of file diff --git a/lib/aopalliance-1.0.jar b/lib/aopalliance-1.0.jar Binary files differnew file mode 100644 index 00000000..578b1a0c --- /dev/null +++ b/lib/aopalliance-1.0.jar diff --git a/lib/guice-4.0.jar b/lib/guice-4.0.jar Binary files differnew file mode 100644 index 00000000..f4fc9ffd --- /dev/null +++ b/lib/guice-4.0.jar diff --git a/lib/javax.inject-1.jar b/lib/javax.inject-1.jar Binary files differnew file mode 100644 index 00000000..b2a9d0bf --- /dev/null +++ b/lib/javax.inject-1.jar diff --git a/resources/dokka/format/html.properties b/resources/dokka/format/html.properties new file mode 100644 index 00000000..7881dfae --- /dev/null +++ b/resources/dokka/format/html.properties @@ -0,0 +1,2 @@ +class=org.jetbrains.dokka.Formats.HtmlFormatDescriptor +description=Produces output in HTML format
\ No newline at end of file diff --git a/resources/dokka/format/jekyll.properties b/resources/dokka/format/jekyll.properties new file mode 100644 index 00000000..b11401a4 --- /dev/null +++ b/resources/dokka/format/jekyll.properties @@ -0,0 +1,2 @@ +class=org.jetbrains.dokka.Formats.JekyllFormatDescriptor +description=Produces documentation in Jekyll format
\ No newline at end of file diff --git a/resources/dokka/format/kotlin-website.properties b/resources/dokka/format/kotlin-website.properties new file mode 100644 index 00000000..c13e7675 --- /dev/null +++ b/resources/dokka/format/kotlin-website.properties @@ -0,0 +1,2 @@ +class=org.jetbrains.dokka.Formats.KotlinWebsiteFormatDescriptor +description=Generates Kotlin website documentation
\ No newline at end of file diff --git a/resources/dokka/format/markdown.properties b/resources/dokka/format/markdown.properties new file mode 100644 index 00000000..6217a6df --- /dev/null +++ b/resources/dokka/format/markdown.properties @@ -0,0 +1,2 @@ +class=org.jetbrains.dokka.Formats.MarkdownFormatDescriptor +description=Produces documentation in markdown format
\ No newline at end of file diff --git a/resources/dokka/generator/default.properties b/resources/dokka/generator/default.properties new file mode 100644 index 00000000..a4a16200 --- /dev/null +++ b/resources/dokka/generator/default.properties @@ -0,0 +1,2 @@ +class=org.jetbrains.dokka.FileGenerator +description=Default documentation generator
\ No newline at end of file diff --git a/resources/dokka/language/java.properties b/resources/dokka/language/java.properties new file mode 100644 index 00000000..ab42f532 --- /dev/null +++ b/resources/dokka/language/java.properties @@ -0,0 +1 @@ +class=org.jetbrains.dokka.JavaLanguageService
\ No newline at end of file diff --git a/resources/dokka/language/kotlin.properties b/resources/dokka/language/kotlin.properties new file mode 100644 index 00000000..16092007 --- /dev/null +++ b/resources/dokka/language/kotlin.properties @@ -0,0 +1 @@ +class=org.jetbrains.dokka.KotlinLanguageService
\ No newline at end of file diff --git a/resources/dokka/outline/yaml.properties b/resources/dokka/outline/yaml.properties new file mode 100644 index 00000000..7268af37 --- /dev/null +++ b/resources/dokka/outline/yaml.properties @@ -0,0 +1 @@ +class=org.jetbrains.dokka.YamlOutlineService
\ No newline at end of file diff --git a/src/Formats/FormatDescriptor.kt b/src/Formats/FormatDescriptor.kt new file mode 100644 index 00000000..beff730f --- /dev/null +++ b/src/Formats/FormatDescriptor.kt @@ -0,0 +1,11 @@ +package org.jetbrains.dokka.Formats + +import org.jetbrains.dokka.FormatService +import org.jetbrains.dokka.Generator +import org.jetbrains.dokka.OutlineFormatService + +public interface FormatDescriptor { + val formatServiceClass: Class<out FormatService>? + val outlineServiceClass: Class<out OutlineFormatService>? + val generatorServiceClass: Class<out Generator> +}
\ No newline at end of file diff --git a/src/Formats/HtmlFormatService.kt b/src/Formats/HtmlFormatService.kt index 8e38a32c..e810ef7f 100644 --- a/src/Formats/HtmlFormatService.kt +++ b/src/Formats/HtmlFormatService.kt @@ -1,10 +1,12 @@ package org.jetbrains.dokka +import com.google.inject.Inject +import com.google.inject.name.Named import java.io.File -public open class HtmlFormatService(locationService: LocationService, +public open class HtmlFormatService @Inject constructor(@Named("folders") locationService: LocationService, signatureGenerator: LanguageService, - val templateService: HtmlTemplateService = HtmlTemplateService.default()) + val templateService: HtmlTemplateService) : StructuredFormatService(locationService, signatureGenerator, "html"), OutlineFormatService { override public fun formatText(text: String): String { return text.htmlEscape() diff --git a/src/Formats/JekyllFormatService.kt b/src/Formats/JekyllFormatService.kt index 98958293..75684ac2 100644 --- a/src/Formats/JekyllFormatService.kt +++ b/src/Formats/JekyllFormatService.kt @@ -1,6 +1,8 @@ package org.jetbrains.dokka -public open class JekyllFormatService(locationService: LocationService, +import com.google.inject.Inject + |
