diff options
66 files changed, 2020 insertions, 233 deletions
diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 9700d3cc..4694bee5 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -11,14 +11,6 @@ <entry name="!?*.kt" /> <entry name="!?*.clj" /> </wildcardResourcePatterns> - <annotationProcessing> - <profile name="Maven default annotation processors profile" enabled="true"> - <sourceOutputDir name="target/generated-sources/annotations" /> - <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> - <outputRelativeToContentRoot value="true" /> - <module name="dokka-maven-plugin" /> - </profile> - </annotationProcessing> <bytecodeTargetLevel> <module name="android-gradle-plugin_main" target="1.8" /> <module name="android-gradle-plugin_test" target="1.8" /> @@ -30,6 +22,24 @@ <module name="cli_test" target="1.8" /> <module name="core_main" target="1.8" /> <module name="core_test" target="1.8" /> + <module name="dokka.buildSrc.main" target="1.8" /> + <module name="dokka.buildSrc.test" target="1.8" /> + <module name="dokka.core.main" target="1.8" /> + <module name="dokka.core.test" target="1.8" /> + <module name="dokka.integration.main" target="1.8" /> + <module name="dokka.integration.test" target="1.8" /> + <module name="dokka.runners.android-gradle-plugin.main" target="1.8" /> + <module name="dokka.runners.android-gradle-plugin.test" target="1.8" /> + <module name="dokka.runners.ant.main" target="1.8" /> + <module name="dokka.runners.ant.test" target="1.8" /> + <module name="dokka.runners.cli.main" target="1.8" /> + <module name="dokka.runners.cli.test" target="1.8" /> + <module name="dokka.runners.fatjar.main" target="1.8" /> + <module name="dokka.runners.fatjar.test" target="1.8" /> + <module name="dokka.runners.gradle-integration-tests.main" target="1.8" /> + <module name="dokka.runners.gradle-integration-tests.test" target="1.8" /> + <module name="dokka.runners.gradle-plugin.main" target="1.8" /> + <module name="dokka.runners.gradle-plugin.test" target="1.8" /> <module name="fatjar_main" target="1.8" /> <module name="fatjar_test" target="1.8" /> <module name="gradle-integration-tests_main" target="1.8" /> diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 00000000..d747fa6c --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="RemoteRepositoriesConfiguration"> + <remote-repository> + <option name="id" value="central" /> + <option name="name" value="Maven Central repository" /> + <option name="url" value="https://repo1.maven.org/maven2" /> + </remote-repository> + <remote-repository> + <option name="id" value="jboss.community" /> + <option name="name" value="JBoss Community repository" /> + <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> + </remote-repository> + <remote-repository> + <option name="id" value="maven5" /> + <option name="name" value="maven5" /> + <option name="url" value="https://teamcity.jetbrains.com/guestAuth/repository/download/Kotlin_dev_CompilerAllPlugins/1.3.20-dev-564/maven" /> + </remote-repository> + <remote-repository> + <option name="id" value="maven6" /> + <option name="name" value="maven6" /> + <option name="url" value="https://dl.bintray.com/kotlin/kotlinx.html" /> + </remote-repository> + <remote-repository> + <option name="id" value="MavenRepo" /> + <option name="name" value="MavenRepo" /> + <option name="url" value="https://repo.maven.apache.org/maven2/" /> + </remote-repository> + <remote-repository> + <option name="id" value="MavenLocal" /> + <option name="name" value="MavenLocal" /> + <option name="url" value="file:$USER_HOME$/.m2/repository/" /> + </remote-repository> + <remote-repository> + <option name="id" value="maven" /> + <option name="name" value="maven" /> + <option name="url" value="https://dl.bintray.com/jetbrains/markdown" /> + </remote-repository> + <remote-repository> + <option name="id" value="maven8" /> + <option name="name" value="maven8" /> + <option name="url" value="https://www.jetbrains.com/intellij-repository/releases" /> + </remote-repository> + <remote-repository> + <option name="id" value="maven3" /> + <option name="name" value="maven3" /> + <option name="url" value="https://dl.bintray.com/kotlin/kotlin-dev" /> + </remote-repository> + <remote-repository> + <option name="id" value="maven4" /> + <option name="name" value="maven4" /> + <option name="url" value="https://jitpack.io" /> + </remote-repository> + <remote-repository> + <option name="id" value="maven2" /> + <option name="name" value="maven2" /> + <option name="url" value="http://dl.bintray.com/kotlin/kotlin-eap" /> + </remote-repository> + <remote-repository> + <option name="id" value="maven7" /> + <option name="name" value="maven7" /> + <option name="url" value="https://www.jetbrains.com/intellij-repository/snapshots" /> + </remote-repository> + <remote-repository> + <option name="id" value="BintrayJCenter" /> + <option name="name" value="BintrayJCenter" /> + <option name="url" value="https://jcenter.bintray.com/" /> + </remote-repository> + </component> +</project>
\ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml index b072dc00..38d23597 100644 --- a/.idea/kotlinc.xml +++ b/.idea/kotlinc.xml @@ -6,6 +6,6 @@ </component> <component name="KotlinCommonCompilerArguments"> <option name="apiVersion" value="1.1" /> - <option name="languageVersion" value="1.1" /> + <option name="languageVersion" value="1.2" /> </component> </project>
\ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index 7e6aaef5..772f03fb 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -18,6 +18,34 @@ <module fileurl="file://$PROJECT_DIR$/.idea/modules/core/core_main.iml" filepath="$PROJECT_DIR$/.idea/modules/core/core_main.iml" group="core" /> <module fileurl="file://$PROJECT_DIR$/.idea/modules/core/core_test.iml" filepath="$PROJECT_DIR$/.idea/modules/core/core_test.iml" group="core" /> <module fileurl="file://$PROJECT_DIR$/.idea/modules/dokka.iml" filepath="$PROJECT_DIR$/.idea/modules/dokka.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/dokka.buildSrc.iml" filepath="$PROJECT_DIR$/.idea/modules/dokka.buildSrc.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/dokka.buildSrc.main.iml" filepath="$PROJECT_DIR$/.idea/modules/dokka.buildSrc.main.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/dokka.buildSrc.test.iml" filepath="$PROJECT_DIR$/.idea/modules/dokka.buildSrc.test.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/core/dokka.core.iml" filepath="$PROJECT_DIR$/.idea/modules/core/dokka.core.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/core/dokka.core.main.iml" filepath="$PROJECT_DIR$/.idea/modules/core/dokka.core.main.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/core/dokka.core.test.iml" filepath="$PROJECT_DIR$/.idea/modules/core/dokka.core.test.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/integration/dokka.integration.iml" filepath="$PROJECT_DIR$/.idea/modules/integration/dokka.integration.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/integration/dokka.integration.main.iml" filepath="$PROJECT_DIR$/.idea/modules/integration/dokka.integration.main.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/integration/dokka.integration.test.iml" filepath="$PROJECT_DIR$/.idea/modules/integration/dokka.integration.test.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/dokka.runners.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/dokka.runners.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/android-gradle-plugin/dokka.runners.android-gradle-plugin.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/android-gradle-plugin/dokka.runners.android-gradle-plugin.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/android-gradle-plugin/dokka.runners.android-gradle-plugin.main.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/android-gradle-plugin/dokka.runners.android-gradle-plugin.main.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/android-gradle-plugin/dokka.runners.android-gradle-plugin.test.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/android-gradle-plugin/dokka.runners.android-gradle-plugin.test.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/ant/dokka.runners.ant.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/ant/dokka.runners.ant.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/ant/dokka.runners.ant.main.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/ant/dokka.runners.ant.main.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/ant/dokka.runners.ant.test.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/ant/dokka.runners.ant.test.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/cli/dokka.runners.cli.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/cli/dokka.runners.cli.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/cli/dokka.runners.cli.main.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/cli/dokka.runners.cli.main.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/cli/dokka.runners.cli.test.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/cli/dokka.runners.cli.test.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/fatjar/dokka.runners.fatjar.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/fatjar/dokka.runners.fatjar.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/fatjar/dokka.runners.fatjar.main.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/fatjar/dokka.runners.fatjar.main.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/fatjar/dokka.runners.fatjar.test.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/fatjar/dokka.runners.fatjar.test.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/gradle-integration-tests/dokka.runners.gradle-integration-tests.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/gradle-integration-tests/dokka.runners.gradle-integration-tests.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/gradle-integration-tests/dokka.runners.gradle-integration-tests.main.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/gradle-integration-tests/dokka.runners.gradle-integration-tests.main.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/gradle-integration-tests/dokka.runners.gradle-integration-tests.test.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/gradle-integration-tests/dokka.runners.gradle-integration-tests.test.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/gradle-plugin/dokka.runners.gradle-plugin.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/gradle-plugin/dokka.runners.gradle-plugin.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/gradle-plugin/dokka.runners.gradle-plugin.main.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/gradle-plugin/dokka.runners.gradle-plugin.main.iml" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/gradle-plugin/dokka.runners.gradle-plugin.test.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/gradle-plugin/dokka.runners.gradle-plugin.test.iml" /> <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/fatjar/fatjar.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/fatjar/fatjar.iml" group="runners/fatjar" /> <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/fatjar/fatjar_main.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/fatjar/fatjar_main.iml" group="runners/fatjar" /> <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/fatjar/fatjar_test.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/fatjar/fatjar_test.iml" group="runners/fatjar" /> @@ -33,6 +61,7 @@ <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/maven-plugin/maven-plugin.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/maven-plugin/maven-plugin.iml" group="runners/maven-plugin" /> <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/maven-plugin/maven-plugin_main.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/maven-plugin/maven-plugin_main.iml" group="runners/maven-plugin" /> <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/maven-plugin/maven-plugin_test.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/maven-plugin/maven-plugin_test.iml" group="runners/maven-plugin" /> + <module fileurl="file://$PROJECT_DIR$/.idea/modules/org.jetbrains.dokka.dokka.iml" filepath="$PROJECT_DIR$/.idea/modules/org.jetbrains.dokka.dokka.iml" /> <module fileurl="file://$PROJECT_DIR$/.idea/modules/runners/runners.iml" filepath="$PROJECT_DIR$/.idea/modules/runners/runners.iml" group="runners" /> </modules> </component> @@ -7,6 +7,7 @@ third_party { type: GIT value: "https://github.com/Kotlin/dokka.git" } + license_type: NOTICE last_upgrade_date { year: 2019 month: 7 diff --git a/busytown.gradle b/busytown.gradle index b6fb936e..1b9a7119 100644 --- a/busytown.gradle +++ b/busytown.gradle @@ -15,6 +15,7 @@ allprojects { project -> zipTask.from(report.destination) } } + task.ignoreFailures = true } if (project.rootProject == project) { def zipMaven = project.tasks.create("zipMaven", Zip) { @@ -22,8 +23,16 @@ allprojects { project -> destinationDir destDir archiveName = "maven.zip" } - zipMaven.dependsOn(":runners:android-gradle-plugin:publishToDistMaven") - zipMaven.dependsOn(":runners:gradle-plugin:publishToDistMaven") - zipMaven.dependsOn(":runners:fatjar:publishToDistMaven") + + def copyRepository = project.tasks.create("copyRepository", Copy) { + from file("${project.buildDir}/dist-maven") + into "${destDir}/repository" + } + + [copyRepository, zipMaven].forEach { + it.dependsOn(":runners:android-gradle-plugin:publishToDistMaven") + it.dependsOn(":runners:gradle-plugin:publishToDistMaven") + it.dependsOn(":runners:fatjar:publishToDistMaven") + } } } diff --git a/busytown.sh b/busytown.sh index d99bdfe9..ca1ae619 100755 --- a/busytown.sh +++ b/busytown.sh @@ -3,4 +3,4 @@ set -e SCRIPT_DIR="$(cd $(dirname $0) && pwd)" -"$SCRIPT_DIR"/gradlew -p "$SCRIPT_DIR" -I "$SCRIPT_DIR"/busytown.gradle --no-daemon :core:build :runners:android-gradle-plugin:build :runners:gradle-integration-tests:build zipMaven
\ No newline at end of file +"$SCRIPT_DIR"/gradlew -p "$SCRIPT_DIR" -I "$SCRIPT_DIR"/busytown.gradle --no-daemon :core:build :runners:android-gradle-plugin:build :runners:gradle-integration-tests:build zipMaven copyRepository
\ No newline at end of file diff --git a/core/src/main/kotlin/Formats/DacHtmlFormat.kt b/core/src/main/kotlin/Formats/DacHtmlFormat.kt index 3b70b5b6..7038a7fb 100644 --- a/core/src/main/kotlin/Formats/DacHtmlFormat.kt +++ b/core/src/main/kotlin/Formats/DacHtmlFormat.kt @@ -9,7 +9,6 @@ import org.jetbrains.dokka.Kotlin.ParameterInfoNode import org.jetbrains.dokka.Utilities.firstSentence import java.lang.Math.max import java.net.URI -import java.util.Collections.emptyMap import kotlin.reflect.KClass /** @@ -101,9 +100,33 @@ class DevsiteLayoutHtmlFormatOutputBuilder( } sections.forEach { tr { - td { - colSpan = "2" - metaMarkup(it.children) + if (it.children.size > 0) { + td { + val firstChild = it.children.first() + if (firstChild is ContentBlock && + firstChild.children.size == 3 && + firstChild.children[0] is NodeRenderContent && + firstChild.children[1] is ContentSymbol && + firstChild.children[2] is ContentText) { + // it.children is expected to have two items + // First should have 3 children of its own: + // - NodeRenderContent is the return type + // - ContentSymbol - ":" + // - ContentText - " " + // We want to only use NodeRenderContent in a separate <td> and + // <code> to get proper formatting in DAC. + code { + metaMarkup(listOf(firstChild.children[0])) + } + } else { + metaMarkup(listOf(firstChild)) + } + } + td { + if (it.children.size > 1) { + metaMarkup(it.children.subList(1, it.children.size)) + } + } } } } @@ -152,11 +175,25 @@ class DevsiteLayoutHtmlFormatOutputBuilder( } } ul(classes = "nolist") { - sections.forEach { - li { - code { - metaMarkup(it.children) + sections.filter {it.tag == "See Also"}.forEach { + it.children.forEach { child -> + if (child is ContentNodeLazyLink || child is ContentExternalLink) { + li { + code { + contentNodeToMarkup(child) // Wrap bare links in listItems. + } // bare links come from the java-to-kotlin parser. + } } + else if (child is ContentUnorderedList) { + metaMarkup(child.children) // Already wrapped in listItems. + } // this is how we want things to look. No parser currently does this (yet). + else if (child is ContentParagraph) { + li{ + code { + metaMarkup (child.children) // Replace paragraphs with listItems. + } // paragraph-wrapped links come from the kotlin parser + } + } // NOTE: currently the java-to-java parser does not add See Also links! } } } @@ -443,7 +480,7 @@ class DevsiteLayoutHtmlFormatOutputBuilder( id = summaryId tbody { if (headerAsRow) { - developerHeading(header, summaryId) + developerHeading(header) } nodes.forEach { node -> row(node) @@ -881,25 +918,11 @@ class DevsiteLayoutHtmlFormatOutputBuilder( } } -fun TBODY.developerHeading( - header: String, - summaryId: String? = null -) { +fun TBODY.developerHeading(header: String) { tr { th { attributes["colSpan"] = "2" - dheading { - attributes["ds-is"] = "heading" - attributes["text"] = header - attributes["id"] = summaryId ?: header.replace("\\s".toRegex(), "-").toLowerCase() - attributes["level"] = "h3" - attributes["toc"] = "" - attributes["class"] = "" - h3 { - attributes["is-upgraded"] = "" - +header - } - } + +header } } } @@ -923,8 +946,3 @@ class DacAsJavaFormatDescriptor : JavaLayoutHtmlFormatDescriptorBase(), DefaultA override val packageListServiceClass: KClass<out PackageListService> = JavaLayoutHtmlPackageListService::class override val outputBuilderFactoryClass: KClass<out JavaLayoutHtmlFormatOutputBuilderFactory> = DevsiteLayoutHtmlFormatOutputBuilderFactoryImpl::class } - -fun FlowOrPhrasingContent.dheading(block : DHEADING.() -> Unit = {}) : Unit = DHEADING(consumer).visit(block) - -class DHEADING(consumer: TagConsumer<*>) : - HTMLTag("devsite-heading", consumer, emptyMap(), inlineTag = false, emptyTag = false), HtmlBlockTag diff --git a/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormat.kt b/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormat.kt index 66ded62a..5c3d6bab 100644 --- a/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormat.kt +++ b/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormat.kt @@ -70,7 +70,7 @@ interface JavaLayoutHtmlUriProvider { } fun mainUriOrWarn(node: DocumentationNode): URI? = tryGetMainUri(node) ?: (null).also { - AssertionError("Not implemented mainUri for ${node.kind}").printStackTrace() + AssertionError("Not implemented mainUri for ${node.kind} (${node})").printStackTrace() } } diff --git a/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormatOutputBuilder.kt b/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormatOutputBuilder.kt index b62e51a7..23cb81a1 100644 --- a/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormatOutputBuilder.kt +++ b/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormatOutputBuilder.kt @@ -51,7 +51,7 @@ open class JavaLayoutHtmlFormatOutputBuilder( protected fun FlowContent.contentNodesToMarkup(content: List<ContentNode>, contextUri: URI = uri): Unit = content.forEach { contentNodeToMarkup(it, contextUri) } - private fun FlowContent.contentNodeToMarkup(content: ContentNode, contextUri: URI) { + protected fun FlowContent.contentNodeToMarkup(content: ContentNode, contextUri: URI = uri) { when (content) { is ContentText -> +content.text is ContentSymbol -> span("symbol") { +content.text } @@ -136,7 +136,7 @@ open class JavaLayoutHtmlFormatOutputBuilder( } ContentHardLineBreak -> br - is ContentParagraph -> p { contentNodesToMarkup(content.children, contextUri) } + is ContentParagraph -> p(classes = content.label) { contentNodesToMarkup(content.children, contextUri) } is NodeRenderContent -> renderedSignature(content.node, mode = content.mode) is ContentNodeLink -> { @@ -456,7 +456,7 @@ open class JavaLayoutHtmlFormatOutputBuilder( return } - val targetLink = node.links.singleOrNull() + val targetLink = node.links.firstOrNull() if (targetLink?.kind == NodeKind.TypeParameter) { +node.name @@ -884,7 +884,7 @@ open class JavaLayoutHtmlFormatOutputBuilder( emphasis: Boolean = true): ContentNode? { val deprecated = node.deprecation deprecated?.let { - return ContentParagraph().apply { + return ContentParagraph("caution").apply { if (prefix) { append(ContentStrong().apply { text( if (deprecated.content.children.size == 0) "Deprecated." @@ -1106,8 +1106,8 @@ open class JavaLayoutHtmlFormatOutputBuilder( filter { it.getClassExtensionReceiver() != null } .groupBy { val receiverType = it.getClassExtensionReceiver()!! - receiverType.links(NodeKind.ExternalLink).firstOrNull() - ?: receiverType.links.first { it.kind in NodeKind.classLike} + receiverType.links.filter { it.kind != NodeKind.ExternalLink}.firstOrNull() ?: + receiverType.links(NodeKind.ExternalLink).first() } private fun List<DocumentationNode>.externalExtensions(kind: NodeKind) = diff --git a/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlGenerator.kt b/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlGenerator.kt index 115e3f76..dc0df2a9 100644 --- a/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlGenerator.kt +++ b/core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlGenerator.kt @@ -133,6 +133,7 @@ class JavaLayoutHtmlFormatGenerator @Inject constructor( val normalized = uri.normalize() uriToWriter[normalized]?.let { return it } val file = root.resolve(normalized.path.removePrefix("/")) + file.parentFile.mkdirsOrFail() val writer = file.bufferedWriter() uriToWriter[normalized] = writer return writer diff --git a/core/src/main/kotlin/Java/JavaPsiDocumentationBuilder.kt b/core/src/main/kotlin/Java/JavaPsiDocumentationBuilder.kt index 84649793..ed4d3668 100644 --- a/core/src/main/kotlin/Java/JavaPsiDocumentationBuilder.kt +++ b/core/src/main/kotlin/Java/JavaPsiDocumentationBuilder.kt @@ -4,6 +4,7 @@ import com.google.inject.Inject import com.intellij.openapi.util.text.StringUtil import com.intellij.psi.* import com.intellij.psi.impl.JavaConstantExpressionEvaluator +import com.intellij.psi.impl.source.PsiClassReferenceType import com.intellij.psi.util.InheritanceUtil import com.intellij.psi.util.PsiTreeUtil import org.jetbrains.kotlin.asJava.elements.KtLightDeclaration @@ -47,6 +48,7 @@ class JavaPsiDocumentationBuilder : JavaDocumentationBuilder { private val options: DocumentationOptions private val refGraph: NodeReferenceGraph private val docParser: JavaDocumentationParser + private val externalDocumentationLinkResolver: ExternalDocumentationLinkResolver @Inject constructor( options: DocumentationOptions, @@ -58,12 +60,19 @@ class JavaPsiDocumentationBuilder : JavaDocumentationBuilder { this.options = options this.refGraph = refGraph this.docParser = JavadocParser(refGraph, logger, signatureProvider, externalDocumentationLinkResolver) + this.externalDocumentationLinkResolver = externalDocumentationLinkResolver } - constructor(options: DocumentationOptions, refGraph: NodeReferenceGraph, docParser: JavaDocumentationParser) { + constructor( + options: DocumentationOptions, + refGraph: NodeReferenceGraph, + docParser: JavaDocumentationParser, + externalDocumentationLinkResolver: ExternalDocumentationLinkResolver + ) { this.options = options this.refGraph = refGraph this.docParser = docParser + this.externalDocumentationLinkResolver = externalDocumentationLinkResolver } override fun appendFile(file: PsiJavaFile, module: DocumentationModule, packageContent: Map<String, Content>) { @@ -197,13 +206,14 @@ class JavaPsiDocumentationBuilder : JavaDocumentationBuilder { else -> NodeKind.Class } val node = nodeForElement(this, kind) - superTypes.filter { !ignoreSupertype(it) }.forEach { - node.appendType(it, NodeKind.Supertype) - val superClass = it.resolve() + superTypes.filter { !ignoreSupertype(it) }.forEach { superType -> + node.appendType(superType, NodeKind.Supertype) + val superClass = superType.resolve() if (superClass != null) { link(superClass, node, RefKind.Inheritor) } } + var methodsAndConstructors = methods if (constructors.isEmpty()) { @@ -309,7 +319,20 @@ class JavaPsiDocumentationBuilder : JavaDocumentationBuilder { if (psiType == null) { return } - append(psiType.build(kind), RefKind.Detail) + + val node = psiType.build(kind) + append(node, RefKind.Detail) + + // Attempt to create an external link if the psiType is one + if (psiType is PsiClassReferenceType) { + val target = psiType.reference.resolve() + if (target != null) { + val externalLink = externalDocumentationLinkResolver.buildExternalDocumentationLink(target) + if (externalLink != null) { + node.append(DocumentationNode(externalLink, Content.Empty, NodeKind.ExternalLink), RefKind.Link) + } + } + } } fun PsiType.build(kind: NodeKind = NodeKind.Type): DocumentationNode { diff --git a/core/src/main/kotlin/Kotlin/DocumentationBuilder.kt b/core/src/main/kotlin/Kotlin/DocumentationBuilder.kt index adb8fa4b..0b5e7433 100644 --- a/core/src/main/kotlin/Kotlin/DocumentationBuilder.kt +++ b/core/src/main/kotlin/Kotlin/DocumentationBuilder.kt @@ -265,12 +265,11 @@ class DocumentationBuilder node.append(targetNode, RefKind.ExternalType) node.append(DocumentationNode(externalLink, Content.Empty, NodeKind.ExternalLink), RefKind.Link) } - } else { - link( - node, classifierDescriptor, - if (classifierDescriptor.isBoringBuiltinClass()) RefKind.HiddenLink else RefKind.Link - ) } + link( + node, classifierDescriptor, + if (classifierDescriptor.isBoringBuiltinClass()) RefKind.HiddenLink else RefKind.Link + ) if (classifierDescriptor !is TypeParameterDescriptor) { node.append( DocumentationNode( diff --git a/core/src/main/kotlin/Kotlin/ExternalDocumentationLinkResolver.kt b/core/src/main/kotlin/Kotlin/ExternalDocumentationLinkResolver.kt index a8129793..4e394c46 100644 --- a/core/src/main/kotlin/Kotlin/ExternalDocumentationLinkResolver.kt +++ b/core/src/main/kotlin/Kotlin/ExternalDocumentationLinkResolver.kt @@ -210,7 +210,7 @@ interface InboundExternalLinkResolutionService { override fun getPath(symbol: DeclarationDescriptor): String? { if (symbol is EnumEntrySyntheticClassDescriptor) { return getPath(symbol.containingDeclaration)?.let { it + "#" + symbol.name.asString() } - } else if (symbol is JavaClassDescriptor) { + } else if (symbol is ClassDescriptor) { return DescriptorUtils.getFqName(symbol).asString().replace(".", "/") + ".html" } else if (symbol is JavaCallableMemberDescriptor) { val containingClass = symbol.containingDeclaration as? JavaClassDescriptor ?: return null diff --git a/core/src/main/kotlin/Kotlin/KotlinAsJavaDocumentationBuilder.kt b/core/src/main/kotlin/Kotlin/KotlinAsJavaDocumentationBuilder.kt index e1cda875..c5fb1538 100644 --- a/core/src/main/kotlin/Kotlin/KotlinAsJavaDocumentationBuilder.kt +++ b/core/src/main/kotlin/Kotlin/KotlinAsJavaDocumentationBuilder.kt @@ -30,7 +30,9 @@ class KotlinAsJavaDocumentationBuilder val javaDocumentationBuilder = JavaPsiDocumentationBuilder(documentationBuilder.options, documentationBuilder.refGraph, - kotlinAsJavaDocumentationParser) + kotlinAsJavaDocumentationParser, + documentationBuilder.linkResolver.externalDocumentationLinkResolver + ) psiPackage.classes.filter { it is KtLightElement<*, *> }.filter { it.isVisibleInDocumentation() }.forEach { javaDocumentationBuilder.appendClasses(packageNode, arrayOf(it)) diff --git a/core/src/main/kotlin/Kotlin/KotlinLanguageService.kt b/core/src/main/kotlin/Kotlin/KotlinLanguageService.kt index 22f28da3..757221ce 100644 --- a/core/src/main/kotlin/Kotlin/KotlinLanguageService.kt +++ b/core/src/main/kotlin/Kotlin/KotlinLanguageService.kt @@ -454,7 +454,7 @@ class KotlinLanguageService : CommonLanguageService() { fun DocumentationNode.qualifiedNameFromType(): String { return details.firstOrNull { it.kind == NodeKind.QualifiedName }?.name - ?: (links.firstOrNull() ?: hiddenLinks.firstOrNull())?.qualifiedName() + ?: (links.firstOrNull { it.kind != NodeKind.ExternalLink } ?: hiddenLinks.firstOrNull())?.qualifiedName() ?: name } diff --git a/core/src/main/kotlin/Languages/NewJavaLanguageService.kt b/core/src/main/kotlin/Languages/NewJavaLanguageService.kt index a4b3de57..10715d0d 100644 --- a/core/src/main/kotlin/Languages/NewJavaLanguageService.kt +++ b/core/src/main/kotlin/Languages/NewJavaLanguageService.kt @@ -8,9 +8,11 @@ import org.jetbrains.dokka.LanguageService.RenderMode */ class NewJavaLanguageService : CommonLanguageService() { override fun showModifierInSummary(node: DocumentationNode): Boolean { - return true + return node.name !in fullOnlyModifiers } + private val fullOnlyModifiers = setOf("public", "protected", "private") + override fun render(node: DocumentationNode, renderMode: RenderMode): ContentNode { return content { (when (node.kind) { @@ -23,7 +25,7 @@ class NewJavaLanguageService : CommonLanguageService() { NodeKind.UpperBound -> renderType(node) NodeKind.Parameter -> renderParameter(node) NodeKind.Constructor, - NodeKind.Function -> renderFunction(node) + NodeKind.Function -> renderFunction(node, renderMode) NodeKind.Property -> renderProperty(node) NodeKind.Field -> renderField(node, renderMode) NodeKind.EnumItem -> renderClass(node, renderMode) @@ -39,7 +41,11 @@ class NewJavaLanguageService : CommonLanguageService() { when (node.name) { "open", "internal" -> { } - else -> super.renderModifier(block, node, renderMode, nowrap) + else -> { + if (node.name !in fullOnlyModifiers || renderMode == RenderMode.FULL) { + super.renderModifier(block, node, renderMode, nowrap) + } + } } } @@ -185,7 +191,11 @@ class NewJavaLanguageService : CommonLanguageService() { } } - private fun ContentBlock.renderFunction(node: DocumentationNode) { + private fun ContentBlock.renderFunction( + node: DocumentationNode, + renderMode: RenderMode + ) { + renderModifiersForNode(node, renderMode) when (node.kind) { NodeKind.Constructor -> identifier(node.owner?.name ?: "") NodeKind.Function -> { diff --git a/core/src/main/kotlin/Model/Content.kt b/core/src/main/kotlin/Model/Content.kt index f239da7f..a4c78fab 100644 --- a/core/src/main/kotlin/Model/Content.kt +++ b/core/src/main/kotlin/Model/Content.kt @@ -106,7 +106,7 @@ object ContentIndentedSoftLineBreak: ContentNode { } class ScriptBlock(val type: String?, val src: String) : ContentBlock() -class ContentParagraph() : ContentBlock() +class ContentParagraph(val label: String? = null) : ContentBlock() class ContentEmphasis() : ContentBlock() class ContentStrong() : ContentBlock() class ContentStrikethrough() : ContentBlock() diff --git a/core/src/main/kotlin/javadoc/docbase.kt b/core/src/main/kotlin/javadoc/docbase.kt index 76d63383..12f571be 100644 --- a/core/src/main/kotlin/javadoc/docbase.kt +++ b/core/src/main/kotlin/javadoc/docbase.kt @@ -185,7 +185,9 @@ open class TypeAdapter(override val module: ModuleNodeAdapter, override val node NodeKind.Exception -> module.classNamed(qualifiedTypeName()) ?: ClassDocumentationNodeAdapter(module, node) else -> when { - node.links.isNotEmpty() -> TypeAdapter(module, node.links.first()).asClassDoc() + node.links.firstOrNull { it.kind != NodeKind.ExternalLink } != null -> { + TypeAdapter(module, node.links.firstOrNull { it.kind != NodeKind.ExternalLink }!!).asClassDoc() + } else -> ClassDocumentationNodeAdapter(module, node) // TODO ? } } diff --git a/core/src/test/kotlin/format/DacAsJavaFormatTest.kt b/core/src/test/kotlin/format/DacAsJavaFormatTest.kt deleted file mode 100644 index e47240fd..00000000 --- a/core/src/test/kotlin/format/DacAsJavaFormatTest.kt +++ /dev/null @@ -1,34 +0,0 @@ -package org.jetbrains.dokka.tests.format - -import com.google.inject.Guice.createInjector -import com.google.inject.Injector -import com.google.inject.Module -import com.google.inject.name.Names -import org.jetbrains.dokka.* -import org.jetbrains.dokka.Formats.DacAsJavaFormatDescriptor -import org.jetbrains.dokka.Formats.DacFormatDescriptor -import org.jetbrains.dokka.Formats.JavaLayoutHtmlFormatGenerator -import org.jetbrains.dokka.Utilities.bind -import org.jetbrains.dokka.tests.verifyJavaOutput -import org.junit.Rule -import org.junit.Test -import org.junit.rules.TemporaryFolder -import java.io.File -import java.net.URI - -class DacAsJavaFormatTest: DacFormatTestCase() { - override val formatDescriptor = DacAsJavaFormatDescriptor() - override val dokkaFormat = "dac-as-java" - - @Test fun javaSeeTag() { - verifyJavaHtmlNode("javaSeeTag") - } - - @Test fun javaConstructor() { - verifyJavaHtmlNode("javaConstructor") - } - - @Test fun javaDefaultConstructor() { - verifyJavaHtmlNode("javaDefaultConstructor") - } -}
\ No newline at end of file diff --git a/core/src/test/kotlin/format/DacFormatTest.kt b/core/src/test/kotlin/format/DacFormatTest.kt index 9a6e75ee..5d8babc3 100644 --- a/core/src/test/kotlin/format/DacFormatTest.kt +++ b/core/src/test/kotlin/format/DacFormatTest.kt @@ -1,30 +1,58 @@ package org.jetbrains.dokka.tests.format -import com.google.inject.Guice.createInjector -import com.google.inject.Injector -import com.google.inject.Module -import com.google.inject.name.Names -import org.jetbrains.dokka.* import org.jetbrains.dokka.Formats.DacAsJavaFormatDescriptor import org.jetbrains.dokka.Formats.DacFormatDescriptor -import org.jetbrains.dokka.Formats.JavaLayoutHtmlFormatGenerator -import org.jetbrains.dokka.Utilities.bind -import org.jetbrains.dokka.tests.verifyJavaOutput -import org.junit.Rule +import org.jetbrains.dokka.Formats.JavaLayoutHtmlFormatDescriptorBase import org.junit.Test -import org.junit.rules.TemporaryFolder -import java.io.File -import java.net.URI class DacFormatTest: DacFormatTestCase() { - override val formatDescriptor = DacFormatDescriptor() - override val dokkaFormat = "dac" + val dacFormatDescriptor = DacFormatDescriptor() + val dacAsJavaFormatDescriptor = DacAsJavaFormatDescriptor() + val dacFormat = "dac" + val dacAsJavaFormat = "dac-as-java" + + private fun verifyBothFormats(directory: String) { + verifyDirectory(directory, dacFormatDescriptor, dacFormat) + verifyDirectory(directory, dacAsJavaFormatDescriptor, dacAsJavaFormat) + } @Test fun javaSeeTag() { - verifyJavaHtmlNode("javaSeeTag") + verifyBothFormats("javaSeeTag") } @Test fun javaConstructor() { - verifyJavaHtmlNode("javaConstructor") + verifyBothFormats("javaConstructor") + } + + @Test + fun javaSeeTagAsJava() { + verifyBothFormats("javaSeeTag") + } + + @Test + fun javaConstructorAsJava() { + verifyBothFormats("javaConstructor") + } + + @Test + fun javaDefaultConstructor() { + verifyBothFormats("javaDefaultConstructor") + } + + @Test + fun javaInheritedMethods() { + verifyBothFormats("inheritedMethods") + } + + @Test fun javaMethodVisibilities() { + verifyBothFormats("javaMethodVisibilities") + } + + @Test fun javaClassLinks() { + verifyBothFormats("javaClassLinks") + } + + @Test fun deprecation() { + verifyBothFormats("deprecation") } }
\ No newline at end of file diff --git a/core/src/test/kotlin/format/DacFormatTestCase.kt b/core/src/test/kotlin/format/DacFormatTestCase.kt index 23c01c75..922b5809 100644 --- a/core/src/test/kotlin/format/DacFormatTestCase.kt +++ b/core/src/test/kotlin/format/DacFormatTestCase.kt @@ -4,86 +4,87 @@ import com.google.inject.Guice import com.google.inject.Injector import com.google.inject.Module import com.google.inject.name.Names -import org.jetbrains.dokka.* +import org.jetbrains.dokka.DocumentationOptions +import org.jetbrains.dokka.DokkaLogger import org.jetbrains.dokka.Formats.JavaLayoutHtmlFormatDescriptorBase import org.jetbrains.dokka.Formats.JavaLayoutHtmlFormatGenerator +import org.jetbrains.dokka.Generator import org.jetbrains.dokka.Utilities.bind -import org.jetbrains.dokka.tests.verifyJavaOutput +import org.jetbrains.dokka.tests.assertEqualsIgnoringSeparators +import org.jetbrains.dokka.tests.verifyModel +import org.jetbrains.kotlin.cli.common.config.KotlinSourceRoot +import org.jetbrains.kotlin.cli.jvm.config.JavaSourceRoot import org.junit.Rule import org.junit.rules.TemporaryFolder import java.io.File import java.net.URI abstract class DacFormatTestCase { - abstract val formatDescriptor: JavaLayoutHtmlFormatDescriptorBase - abstract val dokkaFormat: String @get:Rule var folder = TemporaryFolder() - val injector: Injector by lazy { - val options = - DocumentationOptions( - folder.toString(), - dokkaFormat, - apiVersion = null, - languageVersion = null, - generateClassIndexPage = false, - generatePackageIndexPage = false, - noStdlibLink = false, - noJdkLink = false, - collectInheritedExtensionsFromLibraries = true - ) + protected fun verifyDirectory(directory: String, formatDescriptor: JavaLayoutHtmlFormatDescriptorBase, dokkaFormat: String) { + val injector: Injector by lazy { + val options = + DocumentationOptions( + folder.toString(), + dokkaFormat, + apiVersion = null, + languageVersion = null, + generateClassIndexPage = false, + generatePackageIndexPage = false, + noStdlibLink = false, + noJdkLink = false, + collectInheritedExtensionsFromLibraries = true + ) - Guice.createInjector(Module { binder -> + Guice.createInjector(Module { binder -> - binder.bind<Boolean>().annotatedWith(Names.named("generateClassIndex")).toInstance(false) - binder.bind<Boolean>().annotatedWith(Names.named("generatePackageIndex")).toInstance(false) + binder.bind<Boolean>().annotatedWith(Names.named("generateClassIndex")).toInstance(false) + binder.bind<Boolean>().annotatedWith(Names.named("generatePackageIndex")).toInstance(false) - binder.bind<String>().annotatedWith(Names.named("dacRoot")).toInstance("") - binder.bind<String>().annotatedWith(Names.named("outlineRoot")).toInstance("") - binder.bind<File>().annotatedWith(Names.named("outputDir")).toInstance(folder.root) + binder.bind<String>().annotatedWith(Names.named("dacRoot")).toInstance("") + binder.bind<String>().annotatedWith(Names.named("outlineRoot")).toInstance("") + binder.bind<File>().annotatedWith(Names.named("outputDir")).toInstance(folder.root) - binder.bind<DocumentationOptions>().toProvider { options } - binder.bind<DokkaLogger>().toInstance(object : DokkaLogger { - override fun info(message: String) { - println(message) - } + binder.bind<DocumentationOptions>().toProvider { options } + binder.bind<DokkaLogger>().toInstance(object : DokkaLogger { + override fun info(message: String) { + println(message) + } - override fun warn(message: String) { - println("WARN: $message") - } + override fun warn(message: String) { + println("WARN: $message") + } - override fun error(message: String) { - println("ERROR: $message") - } - }) + override fun error(message: String) { + println("ERROR: $message") + } + }) - formatDescriptor.configureOutput(binder) - }) - } - - protected fun verifyJavaHtmlNode(fileName: String, withKotlinRuntime: Boolean = false) { - verifyJavaHtmlNodes(fileName, withKotlinRuntime) { model -> model.members.single().members } - } - - private fun verifyJavaHtmlNodes(fileName: String, - withKotlinRuntime: Boolean = false, - format: String = dokkaFormat, - nodeFilter: (DocumentationModule) -> List<DocumentationNode> - ) { - verifyJavaOutput("testdata/format/$dokkaFormat/$fileName.java",".html", format = format, withKotlinRuntime = withKotlinRuntime) { model, output -> - buildPagesAndReadInto(model, nodeFilter(model), output) + formatDescriptor.configureOutput(binder) + }) } - } - protected fun buildPagesAndReadInto(model: DocumentationNode, nodes: List<DocumentationNode>, sb: StringBuilder) = - with(injector.getInstance(Generator::class.java)) { - this as JavaLayoutHtmlFormatGenerator - buildPages(listOf(model)) - val byLocations = nodes.groupBy { mainUri(it) } - val tmpFolder = folder.root.toURI().resolve(model.name+"/") - byLocations.forEach { (loc, _) -> - sb.append(tmpFolder.resolve(URI("/").relativize(loc)).toURL().readText()) + + val directoryFile = File("testdata/format/dac/$directory") + verifyModel( + JavaSourceRoot(directoryFile, null), KotlinSourceRoot(directoryFile.path, false), + format = dokkaFormat + ) { documentationModule -> + val nodes = documentationModule.members.single().members + with(injector.getInstance(Generator::class.java)) { + this as JavaLayoutHtmlFormatGenerator + buildPages(listOf(documentationModule)) + val byLocations = nodes.groupBy { mainUri(it) } + val tmpFolder = folder.root.toURI().resolve("${documentationModule.name}/") + byLocations.forEach { (loc, node) -> + val output = StringBuilder() + output.append(tmpFolder.resolve(URI("/").relativize(loc)).toURL().readText()) + val expectedFile = File(File(directoryFile, dokkaFormat), "${node.first().name}.html") + assertEqualsIgnoringSeparators(expectedFile, output.toString()) + } } } + } }
\ No newline at end of file diff --git a/core/testdata/format/dac/deprecation/DeprecatedBar.kt b/core/testdata/format/dac/deprecation/DeprecatedBar.kt new file mode 100644 index 00000000..8eb72929 --- /dev/null +++ b/core/testdata/format/dac/deprecation/DeprecatedBar.kt @@ -0,0 +1,17 @@ +class Bar { + fun replacementBarMethod(): Bar { return Bar() } + + fun badBarMethod(): DeprecatedBar { return DeprecatedBar() } + + /** + * @deprecated Use {@link #replacementBarMethod()} instead. + */ + @Deprecated + fun goodBarMethod(): DeprecatedBar { return DeprecatedBar() } +} + +/** + * @deprecated Use {@link #Bar} instead. + */ +@Deprecated +class DeprecatedBar
\ No newline at end of file diff --git a/core/testdata/format/dac/deprecation/DeprecatedFoo.java b/core/testdata/format/dac/deprecation/DeprecatedFoo.java new file mode 100644 index 00000000..3c9c360e --- /dev/null +++ b/core/testdata/format/dac/deprecation/DeprecatedFoo.java @@ -0,0 +1,21 @@ +public class Foo { + public Foo() { } + + public static Foo replacementFooMethod() { return Foo() } + + public static DeprecatedFoo badFooMethod() { return new DeprecatedFoo() } + + /** + * @deprecated Use {@link #replacementFooMethod()} instead. + */ + @Deprecated + public static DeprecatedFoo goodFooMethod() { return new DeprecatedFoo() } +} + +/** + * @deprecated Use {@link #Foo} instead. + */ +@Deprecated +public class DeprecatedFoo { + public DeprecatedFoo() { } +} diff --git a/core/testdata/format/dac/deprecation/dac-as-java/Bar.html b/core/testdata/format/dac/deprecation/dac-as-java/Bar.html new file mode 100644 index 00000000..d77fa9e6 --- /dev/null +++ b/core/testdata/format/dac/deprecation/dac-as-java/Bar.html @@ -0,0 +1,82 @@ +<html devsite="true"> + <head> + <title>Bar</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Bar</h1> + <pre><span class="keyword">public</span> <span class="keyword">final</span> <span class="keyword">class</span> <span class="identifier">Bar</span> <span class="keyword">implements</span> <span class="identifier">java.lang.Object</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Bar</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#Bar()">Bar</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="pubmethods"> + <tbody> + <tr> + <th colSpan="2">Public methods</th> + </tr> + <tr> + <td><span class="keyword">final</span> <a href="DeprecatedBar.html#"><span class="identifier">DeprecatedBar</span></a></td> + <td> + <div><code><a href="#badBarMethod()">badBarMethod</a>()</code></div> + <p></p> + </td> + </tr> + <tr> + <td><span class="keyword">final</span> <a href="DeprecatedBar.html#"><span class="identifier">DeprecatedBar</span></a></td> + <td> + <div><code><a href="#goodBarMethod()">goodBarMethod</a>()</code></div> + <p></p> + </td> + </tr> + <tr> + <td><span class="keyword">final</span> <a href="#"><span class="identifier">Bar</span></a></td> + <td> + <div><code><a href="#replacementBarMethod()">replacementBarMethod</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="Bar()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">Bar</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + <h2>Public methods</h2> +<a name="badBarMethod()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">badBarMethod</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="keyword">final</span> <a href="DeprecatedBar.html#"><span class="identifier">DeprecatedBar</span></a> <span class="identifier">badBarMethod</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> +<a name="goodBarMethod()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">goodBarMethod</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="keyword">final</span> <a href="DeprecatedBar.html#"><span class="identifier">DeprecatedBar</span></a> <span class="identifier">goodBarMethod</span><span class="symbol">(</span><span class="symbol">)</span></pre> + <p class="caution"><strong>Deprecated: </strong><em>Deprecated</em></p> + </div> +<a name="replacementBarMethod()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">replacementBarMethod</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="keyword">final</span> <a href="#"><span class="identifier">Bar</span></a> <span class="identifier">replacementBarMethod</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/deprecation/dac-as-java/DeprecatedBar.html b/core/testdata/format/dac/deprecation/dac-as-java/DeprecatedBar.html new file mode 100644 index 00000000..56283f6e --- /dev/null +++ b/core/testdata/format/dac/deprecation/dac-as-java/DeprecatedBar.html @@ -0,0 +1,37 @@ +<html devsite="true"> + <head> + <title>DeprecatedBar</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>DeprecatedBar</h1> + <pre><span class="keyword">public</span> <span class="keyword">final</span> <span class="keyword">class</span> <span class="identifier">DeprecatedBar</span> <span class="keyword">implements</span> <span class="identifier">java.lang.Object</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">DeprecatedBar</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#DeprecatedBar()">DeprecatedBar</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="DeprecatedBar()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">DeprecatedBar</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">DeprecatedBar</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/deprecation/dac-as-java/DeprecatedFoo.html b/core/testdata/format/dac/deprecation/dac-as-java/DeprecatedFoo.html new file mode 100644 index 00000000..e7e2fecb --- /dev/null +++ b/core/testdata/format/dac/deprecation/dac-as-java/DeprecatedFoo.html @@ -0,0 +1,37 @@ +<html devsite="true"> + <head> + <title>DeprecatedFoo</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>DeprecatedFoo</h1> + <pre><span class="keyword">public</span> <span class="keyword">class</span> <span class="identifier">DeprecatedFoo</span> <span class="keyword">implements</span> <span class="identifier">java.lang.Object</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">DeprecatedFoo</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#DeprecatedFoo()">DeprecatedFoo</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="DeprecatedFoo()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">DeprecatedFoo</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">DeprecatedFoo</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/deprecation/dac-as-java/Foo.html b/core/testdata/format/dac/deprecation/dac-as-java/Foo.html new file mode 100644 index 00000000..c898800d --- /dev/null +++ b/core/testdata/format/dac/deprecation/dac-as-java/Foo.html @@ -0,0 +1,82 @@ +<html devsite="true"> + <head> + <title>Foo</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Foo</h1> + <pre><span class="keyword">public</span> <span class="keyword">class</span> <span class="identifier">Foo</span> <span class="keyword">implements</span> <span class="identifier">java.lang.Object</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Foo</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#Foo()">Foo</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="pubmethods"> + <tbody> + <tr> + <th colSpan="2">Public methods</th> + </tr> + <tr> + <td><span class="keyword">static</span> <a href="DeprecatedFoo.html#"><span class="identifier">DeprecatedFoo</span></a></td> + <td> + <div><code><a href="#badFooMethod()">badFooMethod</a>()</code></div> + <p></p> + </td> + </tr> + <tr> + <td><span class="keyword">static</span> <a href="DeprecatedFoo.html#"><span class="identifier">DeprecatedFoo</span></a></td> + <td> + <div><code><a href="#goodFooMethod()">goodFooMethod</a>()</code></div> + <p></p> + </td> + </tr> + <tr> + <td><span class="keyword">static</span> <a href="#"><span class="identifier">Foo</span></a></td> + <td> + <div><code><a href="#replacementFooMethod()">replacementFooMethod</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="Foo()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">Foo</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + <h2>Public methods</h2> +<a name="badFooMethod()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">badFooMethod</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="keyword">static</span> <a href="DeprecatedFoo.html#"><span class="identifier">DeprecatedFoo</span></a> <span class="identifier">badFooMethod</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> +<a name="goodFooMethod()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">goodFooMethod</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="keyword">static</span> <a href="DeprecatedFoo.html#"><span class="identifier">DeprecatedFoo</span></a> <span class="identifier">goodFooMethod</span><span class="symbol">(</span><span class="symbol">)</span></pre> + <p class="caution"><strong>Deprecated.</strong><em></em></p> + </div> +<a name="replacementFooMethod()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">replacementFooMethod</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="keyword">static</span> <a href="#"><span class="identifier">Foo</span></a> <span class="identifier">replacementFooMethod</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/deprecation/dac/Bar.html b/core/testdata/format/dac/deprecation/dac/Bar.html new file mode 100644 index 00000000..f20112e1 --- /dev/null +++ b/core/testdata/format/dac/deprecation/dac/Bar.html @@ -0,0 +1,82 @@ +<html devsite="true"> + <head> + <title>Bar</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Bar</h1> + <pre><span class="keyword">class </span><span class="identifier">Bar</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Bar</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#%3Cinit%3E()"><init></a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="pubmethods"> + <tbody> + <tr> + <th colSpan="2">Public methods</th> + </tr> + <tr> + <td><a href="DeprecatedBar.html#"><span class="identifier">DeprecatedBar</span></a></td> + <td> + <div><code><a href="#badBarMethod()">badBarMethod</a>()</code></div> + <p></p> + </td> + </tr> + <tr> + <td><a href="DeprecatedBar.html#"><span class="identifier">DeprecatedBar</span></a></td> + <td> + <div><code><a href="#goodBarMethod()">goodBarMethod</a>()</code></div> + <p></p> + </td> + </tr> + <tr> + <td><a href="#"><span class="identifier">Bar</span></a></td> + <td> + <div><code><a href="#replacementBarMethod()">replacementBarMethod</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="%3Cinit%3E()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name"><init></h3> + <pre class="api-signature no-pretty-print"><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + <h2>Public methods</h2> +<a name="badBarMethod()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">badBarMethod</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">fun </span><span class="identifier">badBarMethod</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="DeprecatedBar.html#"><span class="identifier">DeprecatedBar</span></a></pre> + </div> +<a name="goodBarMethod()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">goodBarMethod</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">fun </span><del><span class="identifier">goodBarMethod</span></del><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="DeprecatedBar.html#"><span class="identifier">DeprecatedBar</span></a></pre> + <p class="caution"><strong>Deprecated.</strong><em></em></p> + </div> +<a name="replacementBarMethod()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">replacementBarMethod</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">fun </span><span class="identifier">replacementBarMethod</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="#"><span class="identifier">Bar</span></a></pre> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/deprecation/dac/DeprecatedBar.html b/core/testdata/format/dac/deprecation/dac/DeprecatedBar.html new file mode 100644 index 00000000..15be9a06 --- /dev/null +++ b/core/testdata/format/dac/deprecation/dac/DeprecatedBar.html @@ -0,0 +1,37 @@ +<html devsite="true"> + <head> + <title>DeprecatedBar</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>DeprecatedBar</h1> + <pre><span class="keyword">class </span><del><span class="identifier">DeprecatedBar</span></del></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">DeprecatedBar</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#%3Cinit%3E()"><init></a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="%3Cinit%3E()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name"><init></h3> + <pre class="api-signature no-pretty-print"><span class="identifier">DeprecatedBar</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/deprecation/dac/DeprecatedFoo.html b/core/testdata/format/dac/deprecation/dac/DeprecatedFoo.html new file mode 100644 index 00000000..610c46b6 --- /dev/null +++ b/core/testdata/format/dac/deprecation/dac/DeprecatedFoo.html @@ -0,0 +1,37 @@ +<html devsite="true"> + <head> + <title>DeprecatedFoo</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>DeprecatedFoo</h1> + <pre><span class="keyword">open</span> <span class="keyword">class </span><del><span class="identifier">DeprecatedFoo</span></del></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">DeprecatedFoo</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#%3Cinit%3E()"><init></a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="%3Cinit%3E()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name"><init></h3> + <pre class="api-signature no-pretty-print"><span class="identifier">DeprecatedFoo</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/deprecation/dac/Foo.html b/core/testdata/format/dac/deprecation/dac/Foo.html new file mode 100644 index 00000000..76c0760a --- /dev/null +++ b/core/testdata/format/dac/deprecation/dac/Foo.html @@ -0,0 +1,82 @@ +<html devsite="true"> + <head> + <title>Foo</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Foo</h1> + <pre><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Foo</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Foo</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#%3Cinit%3E()"><init></a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="pubmethods"> + <tbody> + <tr> + <th colSpan="2">Public methods</th> + </tr> + <tr> + <td><span class="keyword">open</span> <span class="keyword">static</span> <a href="DeprecatedFoo.html#"><span class="identifier">DeprecatedFoo</span></a><span class="symbol">!</span></td> + <td> + <div><code><a href="#badFooMethod()">badFooMethod</a>()</code></div> + <p></p> + </td> + </tr> + <tr> + <td><span class="keyword">open</span> <span class="keyword">static</span> <a href="DeprecatedFoo.html#"><span class="identifier">DeprecatedFoo</span></a><span class="symbol">!</span></td> + <td> + <div><code><a href="#goodFooMethod()">goodFooMethod</a>()</code></div> + <p></p> + </td> + </tr> + <tr> + <td><span class="keyword">open</span> <span class="keyword">static</span> <a href="#"><span class="identifier">Foo</span></a><span class="symbol">!</span></td> + <td> + <div><code><a href="#replacementFooMethod()">replacementFooMethod</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="%3Cinit%3E()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name"><init></h3> + <pre class="api-signature no-pretty-print"><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + <h2>Public methods</h2> +<a name="badFooMethod()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">badFooMethod</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">open</span> <span class="keyword">static</span> <span class="keyword">fun </span><span class="identifier">badFooMethod</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="DeprecatedFoo.html#"><span class="identifier">DeprecatedFoo</span></a><span class="symbol">!</span></pre> + </div> +<a name="goodFooMethod()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">goodFooMethod</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">open</span> <span class="keyword">static</span> <span class="keyword">fun </span><del><span class="identifier">goodFooMethod</span></del><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="DeprecatedFoo.html#"><span class="identifier">DeprecatedFoo</span></a><span class="symbol">!</span></pre> + <p class="caution"><strong>Deprecated: </strong><em>Use <code><a href="#replacementFooMethod()">replacementFooMethod()</a></code> instead.</em></p> + </div> +<a name="replacementFooMethod()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">replacementFooMethod</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">open</span> <span class="keyword">static</span> <span class="keyword">fun </span><span class="identifier">replacementFooMethod</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="#"><span class="identifier">Foo</span></a><span class="symbol">!</span></pre> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/inheritedMethods/Child.java b/core/testdata/format/dac/inheritedMethods/Child.java new file mode 100644 index 00000000..902f6494 --- /dev/null +++ b/core/testdata/format/dac/inheritedMethods/Child.java @@ -0,0 +1,8 @@ +public class Child extends Parent { + public void Bar() { } + /** + * Do an override subclass baz + */ + @override + public void baz() { } +}
\ No newline at end of file diff --git a/core/testdata/format/dac/inheritedMethods/Parent.java b/core/testdata/format/dac/inheritedMethods/Parent.java new file mode 100644 index 00000000..59d9ab0f --- /dev/null +++ b/core/testdata/format/dac/inheritedMethods/Parent.java @@ -0,0 +1,10 @@ +public class Parent { + /** + * Do a superclass foo + */ + public void foo() { } + /** + * Do a superclass baz + */ + public void baz() { } +}
\ No newline at end of file diff --git a/core/testdata/format/dac/inheritedMethods/dac-as-java/Child.html b/core/testdata/format/dac/inheritedMethods/dac-as-java/Child.html new file mode 100644 index 00000000..67a58125 --- /dev/null +++ b/core/testdata/format/dac/inheritedMethods/dac-as-java/Child.html @@ -0,0 +1,74 @@ +<html devsite="true"> + <head> + <title>Child</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Child</h1> + <pre><span class="keyword">public</span> <span class="keyword">class</span> <span class="identifier">Child</span> <span class="keyword">extends</span> <a href="Parent.html#"><span class="identifier">Parent</span></a></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="2"><a href="Parent.html#">Parent</a></td> + </tr> + <tr> + <td class="jd-inheritance-space">   ↳</td> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Child</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#Child()">Child</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="pubmethods"> + <tbody> + <tr> + <th colSpan="2">Public methods</th> + </tr> + <tr> + <td><span class="identifier">void</span></td> + <td> + <div><code><a href="#Bar()">Bar</a>()</code></div> + <p></p> + </td> + </tr> + <tr> + <td><span class="identifier">void</span></td> + <td> + <div><code><a href="#baz()">baz</a>()</code></div> + <p>Do an override subclass baz</p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="Child()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">Child</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">Child</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + <h2>Public methods</h2> +<a name="Bar()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">Bar</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">void</span> <span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> +<a name="baz()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">baz</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">void</span> <span class="identifier">baz</span><span class="symbol">(</span><span class="symbol">)</span></pre> + <p>Do an override subclass baz</p> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/inheritedMethods/dac-as-java/Parent.html b/core/testdata/format/dac/inheritedMethods/dac-as-java/Parent.html new file mode 100644 index 00000000..dd305f7f --- /dev/null +++ b/core/testdata/format/dac/inheritedMethods/dac-as-java/Parent.html @@ -0,0 +1,92 @@ +<html devsite="true"> + <head> + <title>Parent</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Parent</h1> + <pre><span class="keyword">public</span> <span class="keyword">class</span> <span class="identifier">Parent</span> <span class="keyword">implements</span> <span class="identifier">java.lang.Object</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Parent</a></td> + </tr> + </table> + <table class="jd-sumtable jd-sumtable-subclasses"> + <tbody> + <tr> + <td> + <div class="expandable"><span class="expand-control">Known Direct Subclasses</span> + <div class="showalways" id="subclasses-direct"><a href="Child.html#">Child</a></div> + <div class="exw-expanded-content" id="subclasses-direct-summary"> + <table class="jd-sumtable-expando"> + <tr class="api api-level-" data-version-added=""> + <td class="jd-linkcol"><a href="Child.html#">Child</a></td> + <td class="jd-descrcol" width="100%"> + <p></p> + </td> + </tr> + </table> + </div> + </div> + </td> + </tr> + </tbody> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#Parent()">Parent</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="pubmethods"> + <tbody> + <tr> + <th colSpan="2">Public methods</th> + </tr> + <tr> + <td><span class="identifier">void</span></td> + <td> + <div><code><a href="#baz()">baz</a>()</code></div> + <p>Do a superclass baz</p> + </td> + </tr> + <tr> + <td><span class="identifier">void</span></td> + <td> + <div><code><a href="#foo()">foo</a>()</code></div> + <p>Do a superclass foo</p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="Parent()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">Parent</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">Parent</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + <h2>Public methods</h2> +<a name="baz()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">baz</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">void</span> <span class="identifier">baz</span><span class="symbol">(</span><span class="symbol">)</span></pre> + <p>Do a superclass baz</p> + </div> +<a name="foo()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">foo</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">void</span> <span class="identifier">foo</span><span class="symbol">(</span><span class="symbol">)</span></pre> + <p>Do a superclass foo</p> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/inheritedMethods/dac/Child.html b/core/testdata/format/dac/inheritedMethods/dac/Child.html new file mode 100644 index 00000000..dff52afb --- /dev/null +++ b/core/testdata/format/dac/inheritedMethods/dac/Child.html @@ -0,0 +1,99 @@ +<html devsite="true"> + <head> + <title>Child</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Child</h1> + <pre><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Child</span> <span class="symbol">:</span> <a href="Parent.html#"><span class="identifier">Parent</span></a></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="2"><a href="Parent.html#">Parent</a></td> + </tr> + <tr> + <td class="jd-inheritance-space">   ↳</td> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Child</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#%3Cinit%3E()"><init></a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="pubmethods"> + <tbody> + <tr> + <th colSpan="2">Public methods</th> + </tr> + <tr> + <td><span class="keyword">open</span> <span class="identifier">Unit</span></td> + <td> + <div><code><a href="#Bar()">Bar</a>()</code></div> + <p></p> + </td> + </tr> + <tr> + <td><span class="keyword">open</span> <span class="identifier">Unit</span></td> + <td> + <div><code><a href="#baz()">baz</a>()</code></div> + <p>Do an override subclass baz</p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="inhmethods"> + <tbody> + <tr> + <th colSpan="2">Inherited functions</th> + </tr> + <tr class="api apilevel-"> + <td colSpan="2"> + <div class="expandable jd-inherited-apis"><span class="expand-control exw-expanded">From class <code><a href="Parent.html#">Parent</a></code></span> + <table class="responsive exw-expanded-content"> + <tbody> + <tr class="api apilevel-" data-version-added="ApiLevel:"> + <td><code><span class="identifier">Unit</span></code></td> + <td width="100%"><code><a href="Parent.html#foo()">foo</a>()</code> + <p> + <p>Do a superclass foo</p> + </p> + </td> + </tr> + </tbody> + </table> + </div> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="%3Cinit%3E()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name"><init></h3> + <pre class="api-signature no-pretty-print"><span class="identifier">Child</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + <h2>Public methods</h2> +<a name="Bar()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">Bar</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></pre> + </div> +<a name="baz()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">baz</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">baz</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></pre> + <p>Do an override subclass baz</p> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/inheritedMethods/dac/Parent.html b/core/testdata/format/dac/inheritedMethods/dac/Parent.html new file mode 100644 index 00000000..ff9048b9 --- /dev/null +++ b/core/testdata/format/dac/inheritedMethods/dac/Parent.html @@ -0,0 +1,92 @@ +<html devsite="true"> + <head> + <title>Parent</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Parent</h1> + <pre><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Parent</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Parent</a></td> + </tr> + </table> + <table class="jd-sumtable jd-sumtable-subclasses"> + <tbody> + <tr> + <td> + <div class="expandable"><span class="expand-control">Known Direct Subclasses</span> + <div class="showalways" id="subclasses-direct"><a href="Child.html#">Child</a></div> + <div class="exw-expanded-content" id="subclasses-direct-summary"> + <table class="jd-sumtable-expando"> + <tr class="api api-level-" data-version-added=""> + <td class="jd-linkcol"><a href="Child.html#">Child</a></td> + <td class="jd-descrcol" width="100%"> + <p></p> + </td> + </tr> + </table> + </div> + </div> + </td> + </tr> + </tbody> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#%3Cinit%3E()"><init></a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="pubmethods"> + <tbody> + <tr> + <th colSpan="2">Public methods</th> + </tr> + <tr> + <td><span class="keyword">open</span> <span class="identifier">Unit</span></td> + <td> + <div><code><a href="#baz()">baz</a>()</code></div> + <p>Do a superclass baz</p> + </td> + </tr> + <tr> + <td><span class="keyword">open</span> <span class="identifier">Unit</span></td> + <td> + <div><code><a href="#foo()">foo</a>()</code></div> + <p>Do a superclass foo</p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="%3Cinit%3E()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name"><init></h3> + <pre class="api-signature no-pretty-print"><span class="identifier">Parent</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + <h2>Public methods</h2> +<a name="baz()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">baz</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">baz</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></pre> + <p>Do a superclass baz</p> + </div> +<a name="foo()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">foo</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">foo</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></pre> + <p>Do a superclass foo</p> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/javaClassLinks/Bar.java b/core/testdata/format/dac/javaClassLinks/Bar.java new file mode 100644 index 00000000..88192654 --- /dev/null +++ b/core/testdata/format/dac/javaClassLinks/Bar.java @@ -0,0 +1,28 @@ +import java.util.ArrayList; +import java.util.HashSet; + +public class Bar { + /** + * @return The best of bars. + */ + public Bar() { } + + /** + * @param input The best foo you can find + * @return Another spectacular Foo for you to use. + */ + public Foo getMyFoo(Foo input) { return null; } + + /** + * @param input The best set you can afford. + * @return + */ + public ArrayList<String> getMyList(HashSet input) { return null; } + + /** + * @return {@code true} if the fun mode available, {@code false} otherwise. + */ + public boolean isFunAvailable() { throw new RuntimeException("Stub!"); } + + +}
\ No newline at end of file diff --git a/core/testdata/format/dac-as-java/javaDefaultConstructor.java b/core/testdata/format/dac/javaClassLinks/Foo.java index 0a2b0526..0a2b0526 100644 --- a/core/testdata/format/dac-as-java/javaDefaultConstructor.java +++ b/core/testdata/format/dac/javaClassLinks/Foo.java diff --git a/core/testdata/format/dac/javaClassLinks/dac-as-java/Bar.html b/core/testdata/format/dac/javaClassLinks/dac-as-java/Bar.html new file mode 100644 index 00000000..cbabc292 --- /dev/null +++ b/core/testdata/format/dac/javaClassLinks/dac-as-java/Bar.html @@ -0,0 +1,147 @@ +<html devsite="true"> + <head> + <title>Bar</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Bar</h1> + <pre><span class="keyword">public</span> <span class="keyword">class</span> <span class="identifier">Bar</span> <span class="keyword">implements</span> <span class="identifier">java.lang.Object</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Bar</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#Bar()">Bar</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="pubmethods"> + <tbody> + <tr> + <th colSpan="2">Public methods</th> + </tr> + <tr> + <td><a href="Foo.html#"><span class="identifier">Foo</span></a></td> + <td> + <div><code><a href="#getMyFoo(Foo)">getMyFoo</a>(<a href="Foo.html#"><span class="identifier">Foo</span></a> <span class="identifier">input</span>)</code></div> + <p></p> + </td> + </tr> + <tr> + <td><a href="http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html"><span class="identifier">java.util.ArrayList</span></a><span class="symbol"><</span><span class="identifier">java.lang.String</span><span class="symbol">></span></td> + <td> + <div><code><a href="#getMyList(java.util.HashSet)">getMyList</a>(<a href="http://docs.oracle.com/javase/6/docs/api/java/util/HashSet.html"><span class="identifier">java.util.HashSet</span></a> <span class="identifier">input</span>)</code></div> + <p></p> + </td> + </tr> + <tr> + <td><span class="identifier">boolean</span></td> + <td> + <div><code><a href="#isFunAvailable()">isFunAvailable</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="Bar()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">Bar</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></pre> + <table class="responsive"> + <tbody> + <tr> + <th colspan="2">Return</th> + </tr> + <tr> + <td></td> + <td>The best of bars.</td> + </tr> + </tbody> + </table> + </div> + <h2>Public methods</h2> +<a name="getMyFoo(Foo)"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">getMyFoo</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <a href="Foo.html#"><span class="identifier">Foo</span></a> <span class="identifier">getMyFoo</span><span class="symbol">(</span><a href="Foo.html#"><span class="identifier">Foo</span></a> <span class="identifier">input</span><span class="symbol">)</span></pre> + <table class="responsive"> + <tbody> + <tr> + <th colspan="2">Parameters</th> + </tr> + <tr> + <td><code>input</code></td> + <td><a href="Foo.html#"><span class="identifier">Foo</span></a><span class="symbol">:</span> The best foo you can find</td> + </tr> + </tbody> + </table> + <table class="responsive"> + <tbody> + <tr> + <th colspan="2">Return</th> + </tr> + <tr> + <td><code><a href="Foo.html#"><span class="identifier">Foo</span></a></code></td> + <td>Another spectacular Foo for you to use.</td> + </tr> + </tbody> + </table> + </div> +<a name="getMyList(java.util.HashSet)"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">getMyList</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html"><span class="identifier">java.util.ArrayList</span></a><span class="symbol"><</span><span class="identifier">java.lang.String</span><span class="symbol">></span> <span class="identifier">getMyList</span><span class="symbol">(</span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/HashSet.html"><span class="identifier">java.util.HashSet</span></a> <span class="identifier">input</span><span class="symbol">)</span></pre> + <table class="responsive"> + <tbody> + <tr> + <th colspan="2">Parameters</th> + </tr> + <tr> + <td><code>input</code></td> + <td><a href="http://docs.oracle.com/javase/6/docs/api/java/util/HashSet.html"><span class="identifier">java.util.HashSet</span></a><span class="symbol">:</span> The best set you can afford.</td> + </tr> + </tbody> + </table> + <table class="responsive"> + <tbody> + <tr> + <th colspan="2">Return</th> + </tr> + <tr> + <td><code><a href="http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html"><span class="identifier">java.util.ArrayList</span></a><span class="symbol"><</span><span class="identifier">java.lang.String</span><span class="symbol">></span></code></td> + <td></td> + </tr> + </tbody> + </table> + </div> +<a name="isFunAvailable()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">isFunAvailable</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">boolean</span> <span class="identifier">isFunAvailable</span><span class="symbol">(</span><span class="symbol">)</span></pre> + <table class="responsive"> + <tbody> + <tr> + <th colspan="2">Return</th> + </tr> + <tr> + <td><code><span class="identifier">boolean</span></code></td> + <td><code>true</code> if the fun mode available, <code>false</code> otherwise.</td> + </tr> + </tbody> + </table> + </div> + </body> +</html> diff --git a/core/testdata/format/dac-as-java/javaConstructor.html b/core/testdata/format/dac/javaClassLinks/dac-as-java/Foo.html index a28232bf..0ae4d255 100644 --- a/core/testdata/format/dac-as-java/javaConstructor.html +++ b/core/testdata/format/dac/javaClassLinks/dac-as-java/Foo.html @@ -17,11 +17,7 @@ <table class="responsive" id="pubctors"> <tbody> <tr> - <th colSpan="2"> - <devsite-heading ds-is="heading" text="Public constructors" id="pubctors" level="h3" toc="" class=""> - <h3 is-upgraded="">Public constructors</h3> - </devsite-heading> - </th> + <th colSpan="2">Public constructors</th> </tr> <tr> <td> @@ -35,7 +31,7 @@ <a name="Foo()"></a> <div class="api apilevel-" data-version-added=""> <h3 class="api-name">Foo</h3> - <pre class="api-signature no-pretty-print"><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre> </div> </body> </html> diff --git a/core/testdata/format/dac/javaClassLinks/dac/Bar.html b/core/testdata/format/dac/javaClassLinks/dac/Bar.html new file mode 100644 index 00000000..87f2c3ad --- /dev/null +++ b/core/testdata/format/dac/javaClassLinks/dac/Bar.html @@ -0,0 +1,147 @@ +<html devsite="true"> + <head> + <title>Bar</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Bar</h1> + <pre><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Bar</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Bar</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#%3Cinit%3E()"><init></a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="pubmethods"> + <tbody> + <tr> + <th colSpan="2">Public methods</th> + </tr> + <tr> + <td><span class="keyword">open</span> <a href="Foo.html#"><span class="identifier">Foo</span></a><span class="symbol">!</span></td> + <td> + <div><code><a href="#getMyFoo(Foo)">getMyFoo</a>(<span class="identifier" id="Bar$getMyFoo(Foo)/input">input</span><span class="symbol">:</span> <a href="Foo.html#"><span class="identifier">Foo</span></a><span class="symbol">!</span>)</code></div> + <p></p> + </td> + </tr> + <tr> + <td><span class="keyword">open</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html"><span class="identifier">ArrayList</span></a><span class="symbol"><</span><span class="identifier">String</span><span class="symbol">!</span><span class="symbol">></span><span class="symbol">!</span></td> + <td> + <div><code><a href="#getMyList(java.util.HashSet)">getMyList</a>(<span class="identifier" id="Bar$getMyList(java.util.HashSet((kotlin.Any)))/input">input</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/util/HashSet.html"><span class="identifier">HashSet</span></a><span class="symbol"><</span><span class="identifier">Any</span><span class="symbol">!</span><span class="symbol">></span><span class="symbol">!</span>)</code></div> + <p></p> + </td> + </tr> + <tr> + <td><span class="keyword">open</span> <span class="identifier">Boolean</span></td> + <td> + <div><code><a href="#isFunAvailable()">isFunAvailable</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="%3Cinit%3E()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name"><init></h3> + <pre class="api-signature no-pretty-print"><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></pre> + <table class="responsive"> + <tbody> + <tr> + <th colspan="2">Return</th> + </tr> + <tr> + <td></td> + <td>The best of bars.</td> + </tr> + </tbody> + </table> + </div> + <h2>Public methods</h2> +<a name="getMyFoo(Foo)"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">getMyFoo</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getMyFoo</span><span class="symbol">(</span><span class="identifier" id="Bar$getMyFoo(Foo)/input">input</span><span class="symbol">:</span> <a href="Foo.html#"><span class="identifier">Foo</span></a><span class="symbol">!</span><span class="symbol">)</span><span class="symbol">: </span><a href="Foo.html#"><span class="identifier">Foo</span></a><span class="symbol">!</span></pre> + <table class="responsive"> + <tbody> + <tr> + <th colspan="2">Parameters</th> + </tr> + <tr> + <td><code>input</code></td> + <td><a href="Foo.html#"><span class="identifier">Foo</span></a><span class="symbol">!</span><span class="symbol">:</span> The best foo you can find</td> + </tr> + </tbody> + </table> + <table class="responsive"> + <tbody> + <tr> + <th colspan="2">Return</th> + </tr> + <tr> + <td><code><a href="Foo.html#"><span class="identifier">Foo</span></a><span class="symbol">!</span></code></td> + <td>Another spectacular Foo for you to use.</td> + </tr> + </tbody> + </table> + </div> +<a name="getMyList(java.util.HashSet)"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">getMyList</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getMyList</span><span class="symbol">(</span><span class="identifier" id="Bar$getMyList(java.util.HashSet((kotlin.Any)))/input">input</span><span class="symbol">:</span> <a href="http://docs.oracle.com/javase/6/docs/api/java/util/HashSet.html"><span class="identifier">HashSet</span></a><span class="symbol"><</span><span class="identifier">Any</span><span class="symbol">!</span><span class="symbol">></span><span class="symbol">!</span><span class="symbol">)</span><span class="symbol">: </span><a href="http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html"><span class="identifier">ArrayList</span></a><span class="symbol"><</span><span class="identifier">String</span><span class="symbol">!</span><span class="symbol">></span><span class="symbol">!</span></pre> + <table class="responsive"> + <tbody> + <tr> + <th colspan="2">Parameters</th> + </tr> + <tr> + <td><code>input</code></td> + <td><a href="http://docs.oracle.com/javase/6/docs/api/java/util/HashSet.html"><span class="identifier">HashSet</span></a><span class="symbol"><</span><span class="identifier">Any</span><span class="symbol">!</span><span class="symbol">></span><span class="symbol">!</span><span class="symbol">:</span> The best set you can afford.</td> + </tr> + </tbody> + </table> + <table class="responsive"> + <tbody> + <tr> + <th colspan="2">Return</th> + </tr> + <tr> + <td><code><a href="http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html"><span class="identifier">ArrayList</span></a><span class="symbol"><</span><span class="identifier">String</span><span class="symbol">!</span><span class="symbol">></span><span class="symbol">!</span></code></td> + <td></td> + </tr> + </tbody> + </table> + </div> +<a name="isFunAvailable()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">isFunAvailable</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">isFunAvailable</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Boolean</span></pre> + <table class="responsive"> + <tbody> + <tr> + <th colspan="2">Return</th> + </tr> + <tr> + <td><code><span class="identifier">Boolean</span></code></td> + <td><code>true</code> if the fun mode available, <code>false</code> otherwise.</td> + </tr> + </tbody> + </table> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/javaConstructor.html b/core/testdata/format/dac/javaClassLinks/dac/Foo.html index dc7637b6..51ba0204 100644 --- a/core/testdata/format/dac/javaConstructor.html +++ b/core/testdata/format/dac/javaClassLinks/dac/Foo.html @@ -17,11 +17,7 @@ <table class="responsive" id="pubctors"> <tbody> <tr> - <th colSpan="2"> - <devsite-heading ds-is="heading" text="Public constructors" id="pubctors" level="h3" toc="" class=""> - <h3 is-upgraded="">Public constructors</h3> - </devsite-heading> - </th> + <th colSpan="2">Public constructors</th> </tr> <tr> <td> diff --git a/core/testdata/format/dac/javaConstructor.java b/core/testdata/format/dac/javaConstructor/Foo.java index 0a2b0526..0a2b0526 100644 --- a/core/testdata/format/dac/javaConstructor.java +++ b/core/testdata/format/dac/javaConstructor/Foo.java diff --git a/core/testdata/format/dac-as-java/javaDefaultConstructor.html b/core/testdata/format/dac/javaConstructor/dac-as-java/Foo.html index a28232bf..0ae4d255 100644 --- a/core/testdata/format/dac-as-java/javaDefaultConstructor.html +++ b/core/testdata/format/dac/javaConstructor/dac-as-java/Foo.html @@ -17,11 +17,7 @@ <table class="responsive" id="pubctors"> <tbody> <tr> - <th colSpan="2"> - <devsite-heading ds-is="heading" text="Public constructors" id="pubctors" level="h3" toc="" class=""> - <h3 is-upgraded="">Public constructors</h3> - </devsite-heading> - </th> + <th colSpan="2">Public constructors</th> </tr> <tr> <td> @@ -35,7 +31,7 @@ <a name="Foo()"></a> <div class="api apilevel-" data-version-added=""> <h3 class="api-name">Foo</h3> - <pre class="api-signature no-pretty-print"><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre> </div> </body> </html> diff --git a/core/testdata/format/dac/javaConstructor/dac/Foo.html b/core/testdata/format/dac/javaConstructor/dac/Foo.html new file mode 100644 index 00000000..51ba0204 --- /dev/null +++ b/core/testdata/format/dac/javaConstructor/dac/Foo.html @@ -0,0 +1,37 @@ +<html devsite="true"> + <head> + <title>Foo</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Foo</h1> + <pre><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Foo</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Foo</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#%3Cinit%3E()"><init></a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="%3Cinit%3E()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name"><init></h3> + <pre class="api-signature no-pretty-print"><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + </body> +</html> diff --git a/core/testdata/format/dac-as-java/javaConstructor.java b/core/testdata/format/dac/javaDefaultConstructor/Foo.java index 208f2306..0a2b0526 100644 --- a/core/testdata/format/dac-as-java/javaConstructor.java +++ b/core/testdata/format/dac/javaDefaultConstructor/Foo.java @@ -1,3 +1,2 @@ public class Foo { - public Foo() {} }
\ No newline at end of file diff --git a/core/testdata/format/dac/javaDefaultConstructor/dac-as-java/Foo.html b/core/testdata/format/dac/javaDefaultConstructor/dac-as-java/Foo.html new file mode 100644 index 00000000..0ae4d255 --- /dev/null +++ b/core/testdata/format/dac/javaDefaultConstructor/dac-as-java/Foo.html @@ -0,0 +1,37 @@ +<html devsite="true"> + <head> + <title>Foo</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Foo</h1> + <pre><span class="keyword">public</span> <span class="keyword">class</span> <span class="identifier">Foo</span> <span class="keyword">implements</span> <span class="identifier">java.lang.Object</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Foo</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#Foo()">Foo</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="Foo()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">Foo</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/javaDefaultConstructor/dac/Foo.html b/core/testdata/format/dac/javaDefaultConstructor/dac/Foo.html new file mode 100644 index 00000000..51ba0204 --- /dev/null +++ b/core/testdata/format/dac/javaDefaultConstructor/dac/Foo.html @@ -0,0 +1,37 @@ +<html devsite="true"> + <head> + <title>Foo</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Foo</h1> + <pre><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Foo</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Foo</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#%3Cinit%3E()"><init></a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="%3Cinit%3E()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name"><init></h3> + <pre class="api-signature no-pretty-print"><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/javaMethodVisibilities/Foo.java b/core/testdata/format/dac/javaMethodVisibilities/Foo.java new file mode 100644 index 00000000..936632df --- /dev/null +++ b/core/testdata/format/dac/javaMethodVisibilities/Foo.java @@ -0,0 +1,5 @@ +public class Foo { + public void publicBar() {} + protected void protectedBar() {} + private void privateBar() {} +}
\ No newline at end of file diff --git a/core/testdata/format/dac/javaMethodVisibilities/dac-as-java/Foo.html b/core/testdata/format/dac/javaMethodVisibilities/dac-as-java/Foo.html new file mode 100644 index 00000000..1ed04c54 --- /dev/null +++ b/core/testdata/format/dac/javaMethodVisibilities/dac-as-java/Foo.html @@ -0,0 +1,97 @@ +<html devsite="true"> + <head> + <title>Foo</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Foo</h1> + <pre><span class="keyword">public</span> <span class="keyword">class</span> <span class="identifier">Foo</span> <span class="keyword">implements</span> <span class="identifier">java.lang.Object</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Foo</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#Foo()">Foo</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="pubmethods"> + <tbody> + <tr> + <th colSpan="2">Public methods</th> + </tr> + <tr> + <td><span class="identifier">void</span></td> + <td> + <div><code><a href="#publicBar()">publicBar</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="promethods"> + <tbody> + <tr> + <th colSpan="2">Protected methods</th> + </tr> + <tr> + <td><span class="identifier">void</span></td> + <td> + <div><code><a href="#protectedBar()">protectedBar</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="primethods"> + <tbody> + <tr> + <th colSpan="2">Private methods</th> + </tr> + <tr> + <td><span class="identifier">void</span></td> + <td> + <div><code><a href="#privateBar()">privateBar</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="Foo()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">Foo</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + <h2>Public methods</h2> +<a name="publicBar()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">publicBar</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">void</span> <span class="identifier">publicBar</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + <h2>Protected methods</h2> +<a name="protectedBar()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">protectedBar</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">protected</span> <span class="identifier">void</span> <span class="identifier">protectedBar</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + <h2>Private methods</h2> +<a name="privateBar()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">privateBar</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">private</span> <span class="identifier">void</span> <span class="identifier">privateBar</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/javaMethodVisibilities/dac/Foo.html b/core/testdata/format/dac/javaMethodVisibilities/dac/Foo.html new file mode 100644 index 00000000..0bcdcae9 --- /dev/null +++ b/core/testdata/format/dac/javaMethodVisibilities/dac/Foo.html @@ -0,0 +1,97 @@ +<html devsite="true"> + <head> + <title>Foo</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Foo</h1> + <pre><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Foo</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Foo</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#%3Cinit%3E()"><init></a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="pubmethods"> + <tbody> + <tr> + <th colSpan="2">Public methods</th> + </tr> + <tr> + <td><span class="keyword">open</span> <span class="identifier">Unit</span></td> + <td> + <div><code><a href="#publicBar()">publicBar</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="promethods"> + <tbody> + <tr> + <th colSpan="2">Protected methods</th> + </tr> + <tr> + <td><span class="keyword">open</span> <span class="identifier">Unit</span></td> + <td> + <div><code><a href="#protectedBar()">protectedBar</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <table class="responsive" id="primethods"> + <tbody> + <tr> + <th colSpan="2">Private methods</th> + </tr> + <tr> + <td><span class="keyword">open</span> <span class="identifier">Unit</span></td> + <td> + <div><code><a href="#privateBar()">privateBar</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="%3Cinit%3E()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name"><init></h3> + <pre class="api-signature no-pretty-print"><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre> + </div> + <h2>Public methods</h2> +<a name="publicBar()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">publicBar</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">publicBar</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></pre> + </div> + <h2>Protected methods</h2> +<a name="protectedBar()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">protectedBar</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">protectedBar</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></pre> + </div> + <h2>Private methods</h2> +<a name="privateBar()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">privateBar</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">private</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">privateBar</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Unit</span></pre> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/javaSeeTag.java b/core/testdata/format/dac/javaSeeTag.java deleted file mode 100644 index 94a24606..00000000 --- a/core/testdata/format/dac/javaSeeTag.java +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @see #bar - */ -public class Foo { - public void bar() {} -}
\ No newline at end of file diff --git a/core/testdata/format/dac/javaSeeTag/Bar.kt b/core/testdata/format/dac/javaSeeTag/Bar.kt new file mode 100644 index 00000000..21170d36 --- /dev/null +++ b/core/testdata/format/dac/javaSeeTag/Bar.kt @@ -0,0 +1,5 @@ +/** + * @see Foo + * @see java.lang.String + */ +class Bar
\ No newline at end of file diff --git a/core/testdata/format/dac-as-java/javaSeeTag.java b/core/testdata/format/dac/javaSeeTag/Foo.java index 94a24606..b784ae22 100644 --- a/core/testdata/format/dac-as-java/javaSeeTag.java +++ b/core/testdata/format/dac/javaSeeTag/Foo.java @@ -1,5 +1,6 @@ /** * @see #bar + * @see java.lang.String */ public class Foo { public void bar() {} diff --git a/core/testdata/format/dac/javaSeeTag/dac-as-java/Bar.html b/core/testdata/format/dac/javaSeeTag/dac-as-java/Bar.html new file mode 100644 index 00000000..6b4d75f4 --- /dev/null +++ b/core/testdata/format/dac/javaSeeTag/dac-as-java/Bar.html @@ -0,0 +1,44 @@ +<html devsite="true"> + <head> + <title>Bar</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Bar</h1> + <pre><span class="keyword">public</span> <span class="keyword">final</span> <span class="keyword">class</span> <span class="identifier">Bar</span> <span class="keyword">implements</span> <span class="identifier">java.lang.Object</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Bar</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#Bar()">Bar</a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="Bar()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name">Bar</h3> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></pre> + <div> + <p><b>See Also</b></p> + <ul class="nolist"> + <li><code><a href="Foo.html#">Foo</a></code></li> + <li><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html">java.lang.String</a></code></li> + </ul> + </div> + </div> + </body> +</html> diff --git a/core/testdata/format/dac-as-java/javaSeeTag.html b/core/testdata/format/dac/javaSeeTag/dac-as-java/Foo.html index 0dc5dcb9..b9f23dc5 100644 --- a/core/testdata/format/dac-as-java/javaSeeTag.html +++ b/core/testdata/format/dac/javaSeeTag/dac-as-java/Foo.html @@ -17,11 +17,7 @@ <table class="responsive" id="pubctors"> <tbody> <tr> - <th colSpan="2"> - <devsite-heading ds-is="heading" text="Public constructors" id="pubctors" level="h3" toc="" class=""> - <h3 is-upgraded="">Public constructors</h3> - </devsite-heading> - </th> + <th colSpan="2">Public constructors</th> </tr> <tr> <td> @@ -34,14 +30,10 @@ <table class="responsive" id="pubmethods"> <tbody> <tr> - <th colSpan="2"> - <devsite-heading ds-is="heading" text="Public methods" id="pubmethods" level="h3" toc="" class=""> - <h3 is-upgraded="">Public methods</h3> - </devsite-heading> - </th> + <th colSpan="2">Public methods</th> </tr> <tr> - <td><span class="keyword">public</span> <span class="identifier">void</span></td> + <td><span class="identifier">void</span></td> <td> <div><code><a href="#bar()">bar</a>()</code></div> <p></p> @@ -53,13 +45,13 @@ <a name="Foo()"></a> <div class="api apilevel-" data-version-added=""> <h3 class="api-name">Foo</h3> - <pre class="api-signature no-pretty-print"><span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">Foo</span><span class="symbol">(</span><span class="symbol">)</span></pre> </div> <h2>Public methods</h2> <a name="bar()"></a> <div class="api apilevel-" data-version-added=""> <h3 class="api-name">bar</h3> - <pre class="api-signature no-pretty-print"><span class="identifier">void</span> <span class="identifier">bar</span><span class="symbol">(</span><span class="symbol">)</span></pre> + <pre class="api-signature no-pretty-print"><span class="keyword">public</span> <span class="identifier">void</span> <span class="identifier">bar</span><span class="symbol">(</span><span class="symbol">)</span></pre> </div> </body> </html> diff --git a/core/testdata/format/dac/javaSeeTag/dac/Bar.html b/core/testdata/format/dac/javaSeeTag/dac/Bar.html new file mode 100644 index 00000000..10a5f59e --- /dev/null +++ b/core/testdata/format/dac/javaSeeTag/dac/Bar.html @@ -0,0 +1,44 @@ +<html devsite="true"> + <head> + <title>Bar</title> +{% setvar book_path %}/_book.yaml{% endsetvar %} +{% include "_shared/_reference-head-tags.html" %} + </head> + <body> + <div id="api-info-block"></div> + <h1>Bar</h1> + <pre><span class="keyword">class </span><span class="identifier">Bar</span></pre> + <table class="jd-inheritance-table"> + <tr> + <td class="jd-inheritance-class-cell" colSpan="1"><a href="#">Bar</a></td> + </tr> + </table> + <h2>Summary</h2> + <table class="responsive" id="pubctors"> + <tbody> + <tr> + <th colSpan="2">Public constructors</th> + </tr> + <tr> + <td> + <div><code><a href="#%3Cinit%3E()"><init></a>()</code></div> + <p></p> + </td> + </tr> + </tbody> + </table> + <h2>Public constructors</h2> +<a name="%3Cinit%3E()"></a> + <div class="api apilevel-" data-version-added=""> + <h3 class="api-name"><init></h3> + <pre class="api-signature no-pretty-print"><span class="identifier">Bar</span><span class="symbol">(</span><span class="symbol">)</span></pre> + <div> + <p><b>See Also</b></p> + <ul class="nolist"> + <li><code><a href="Foo.html#">Foo</a></code></li> + <li><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html">java.lang.String</a></code></li> + </ul> + </div> + </div> + </body> +</html> diff --git a/core/testdata/format/dac/javaSeeTag.html b/core/testdata/format/dac/javaSeeTag/dac/Foo.html index 473fd2cc..7ca410c0 100644 --- a/core/testdata/format/dac/javaSeeTag.html +++ b/core/testdata/format/dac/javaSeeTag/dac/Foo.html @@ -17,11 +17,7 @@ <table class="responsive" id="pubctors"> <tbody> <tr> - <th colSpan="2"> - <devsite-heading ds-is="heading" text="Public constructors" id="pubctors" level="h3" toc="" class=""> - <h3 is-upgraded="">Public constructors</h3> - </devsite-heading> - </th> + <th colSpan="2">Public constructors</th> </tr> <tr> <td> @@ -34,11 +30,7 @@ <table class="responsive" id="pubmethods"> <tbody> <tr> - <th colSpan="2"> - <devsite-heading ds-is="heading" text="Public methods" id="pubmethods" level="h3" toc="" class=""> - <h3 is-upgraded="">Public methods</h3> - </devsite-heading> - </th> + <th colSpan="2">Public methods</th> </tr> <tr> <td><span class="keyword">open</span> <span class="identifier">Unit</span></td> @@ -58,6 +50,7 @@ <p><b>See Also</b></p> <ul class="nolist"> <li><code><a href="#bar()">#bar</a></code></li> + <li><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html">java.lang.String</a></code></li> </ul> </div> </div> diff --git a/gradle.properties b/gradle.properties index f34ab3c5..a9e47b0b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -dokka_version=0.9.17-g004 +dokka_version=0.9.17-g011 dokka_publication_channel=dokka #Kotlin compiler and plugin diff --git a/runners/android-gradle-plugin/build.gradle b/runners/android-gradle-plugin/build.gradle index 72d1be9e..22403dc6 100644 --- a/runners/android-gradle-plugin/build.gradle +++ b/runners/android-gradle-plugin/build.gradle @@ -38,6 +38,7 @@ task sourceJar(type: Jar) { } processResources { + inputs.property("dokka_version", dokka_version) eachFile { if (it.name == "org.jetbrains.dokka-android.properties") { it.filter { line -> @@ -98,4 +99,4 @@ pluginBundle { groupId = "org.jetbrains.dokka" artifactId = "dokka-android-gradle-plugin" } -}
\ No newline at end of file +} diff --git a/runners/cli/src/main/kotlin/cli/main.kt b/runners/cli/src/main/kotlin/cli/main.kt index e7fb76f0..37be6e28 100644 --- a/runners/cli/src/main/kotlin/cli/main.kt +++ b/runners/cli/src/main/kotlin/cli/main.kt @@ -72,12 +72,22 @@ class DokkaArguments { @set:Argument(value = "collectInheritedExtensionsFromLibraries", description = "Search for applicable extensions in libraries") var collectInheritedExtensionsFromLibraries: Boolean = false - @set:Argument(value = "generateClassIndexPage", description = "Generate classes.html index page.") + @set:Argument(value = "generateClassIndexPage", description = "Generate classes.html index page. [Deprecated]: use noGenerateClassIndexPage instead.") + @Deprecated("There is no way to set this to false.", replaceWith = ReplaceWith( + expression ="noGenerateClassIndexPage")) var generateClassIndexPage: Boolean = true - @set:Argument(value = "generatePackageIndexPage", description = "Generate packages.html index page.") + @set:Argument(value = "generatePackageIndexPage", description = "Generate packages.html index page. [Deprecated]: use noGeneratePackageIndexPage instead.") + @Deprecated("There is no way to set this to false.", replaceWith = ReplaceWith( + expression ="noGeneratePackageIndexPage")) var generatePackageIndexPage: Boolean = true + @set:Argument(value = "noGenerateClassIndexPage", description = "Disable classes.html index page.") + var noGenerateClassIndexPage: Boolean = false + + @set:Argument(value = "noGeneratePackageIndexPage", description = "Disable packages.html index page.") + var noGeneratePackageIndexPage: Boolean = false + @set:Argument(value = "outlineRoot", description = "Relative root directory the outline files. I.e. androidx/core/") var outlineRoot: String = "" @@ -142,8 +152,8 @@ object MainKt { languageVersion = arguments.languageVersion, apiVersion = arguments.apiVersion, collectInheritedExtensionsFromLibraries = arguments.collectInheritedExtensionsFromLibraries, - generateClassIndexPage = arguments.generateClassIndexPage, - generatePackageIndexPage = arguments.generatePackageIndexPage, + generateClassIndexPage = !arguments.noGenerateClassIndexPage, + generatePackageIndexPage = !arguments.noGeneratePackageIndexPage, outlineRoot = arguments.outlineRoot, dacRoot = arguments.dacRoot, noJdkLink = arguments.noJdkLink diff --git a/runners/gradle-plugin/build.gradle b/runners/gradle-plugin/build.gradle index 661d432b..4742dda5 100644 --- a/runners/gradle-plugin/build.gradle +++ b/runners/gradle-plugin/build.gradle @@ -35,6 +35,7 @@ task sourceJar(type: Jar) { } processResources { + inputs.property("dokka_version", dokka_version) eachFile { if (it.name == "org.jetbrains.dokka.properties") { it.filter { line -> @@ -62,6 +63,27 @@ publishing { } project.shadow.component(publication) + publication.pom { pom -> + // Add dokka-fatjar as a runtime dependency. + // This is a workaround until the Shadow jar can put project dependencies into the .pom: https://github.com/johnrengelman/shadow/commit/da82b37522b349aff414f571d2037682acd84f27 + pom.withXml { xml -> + def node = xml.asNode() + def deps = null + node.children().each { child -> + if (child.name().toString() == "dependencies") { + deps = child + } + } + if (deps == null) { + deps = node.appendNode("dependencies") + } + def dep = deps.appendNode("dependency") + dep.appendNode("groupId", "org.jetbrains.dokka") + dep.appendNode("artifactId", "dokka-fatjar") + dep.appendNode("version", dokka_version) + dep.appendNode("scope", "runtime") + } + } } } } @@ -96,4 +118,4 @@ pluginBundle { groupId = "org.jetbrains.dokka" artifactId = "dokka-gradle-plugin" } -}
\ No newline at end of file +} diff --git a/runners/maven-plugin/build.gradle b/runners/maven-plugin/build.gradle index 79a8c22b..acd3415d 100644 --- a/runners/maven-plugin/build.gradle +++ b/runners/maven-plugin/build.gradle @@ -33,6 +33,9 @@ dependencies { task generatePom() { inputs.file(new File(projectDir, "pom.tpl.xml")) + inputs.property("dokka_version", dokka_version) + inputs.property("maven_version", maven_version) + inputs.property("maven_plugin_tools_version", maven_plugin_tools_version) outputs.file(new File(buildDir, "pom.xml")) doLast { final pomTemplate = new File(projectDir, "pom.tpl.xml") diff --git a/settings.gradle b/settings.gradle index ef5f9869..712f0374 100644 --- a/settings.gradle +++ b/settings.gradle @@ -5,7 +5,8 @@ include 'core', 'runners:fatjar', 'runners:ant', 'runners:cli', - 'runners:maven-plugin', + // Google's fork does not use maven-plugin. Removing it from build for convenience. + // 'runners:maven-plugin', 'runners:gradle-plugin', 'runners:android-gradle-plugin', 'runners:gradle-integration-tests' |
