aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.idea/compiler.xml26
-rw-r--r--.idea/jarRepositories.xml70
-rw-r--r--.idea/kotlinc.xml2
-rw-r--r--.idea/modules.xml29
-rw-r--r--METADATA1
-rw-r--r--busytown.gradle15
-rwxr-xr-xbusytown.sh2
-rw-r--r--core/src/main/kotlin/Formats/DacHtmlFormat.kt78
-rw-r--r--core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormat.kt2
-rw-r--r--core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlFormatOutputBuilder.kt12
-rw-r--r--core/src/main/kotlin/Formats/JavaLayoutHtml/JavaLayoutHtmlGenerator.kt1
-rw-r--r--core/src/main/kotlin/Java/JavaPsiDocumentationBuilder.kt33
-rw-r--r--core/src/main/kotlin/Kotlin/DocumentationBuilder.kt9
-rw-r--r--core/src/main/kotlin/Kotlin/ExternalDocumentationLinkResolver.kt2
-rw-r--r--core/src/main/kotlin/Kotlin/KotlinAsJavaDocumentationBuilder.kt4
-rw-r--r--core/src/main/kotlin/Kotlin/KotlinLanguageService.kt2
-rw-r--r--core/src/main/kotlin/Languages/NewJavaLanguageService.kt18
-rw-r--r--core/src/main/kotlin/Model/Content.kt2
-rw-r--r--core/src/main/kotlin/javadoc/docbase.kt4
-rw-r--r--core/src/test/kotlin/format/DacAsJavaFormatTest.kt34
-rw-r--r--core/src/test/kotlin/format/DacFormatTest.kt60
-rw-r--r--core/src/test/kotlin/format/DacFormatTestCase.kt119
-rw-r--r--core/testdata/format/dac/deprecation/DeprecatedBar.kt17
-rw-r--r--core/testdata/format/dac/deprecation/DeprecatedFoo.java21
-rw-r--r--core/testdata/format/dac/deprecation/dac-as-java/Bar.html82
-rw-r--r--core/testdata/format/dac/deprecation/dac-as-java/DeprecatedBar.html37
-rw-r--r--core/testdata/format/dac/deprecation/dac-as-java/DeprecatedFoo.html37
-rw-r--r--core/testdata/format/dac/deprecation/dac-as-java/Foo.html82
-rw-r--r--core/testdata/format/dac/deprecation/dac/Bar.html82
-rw-r--r--core/testdata/format/dac/deprecation/dac/DeprecatedBar.html37
-rw-r--r--core/testdata/format/dac/deprecation/dac/DeprecatedFoo.html37
-rw-r--r--core/testdata/format/dac/deprecation/dac/Foo.html82
-rw-r--r--core/testdata/format/dac/inheritedMethods/Child.java8
-rw-r--r--core/testdata/format/dac/inheritedMethods/Parent.java10
-rw-r--r--core/testdata/format/dac/inheritedMethods/dac-as-java/Child.html74
-rw-r--r--core/testdata/format/dac/inheritedMethods/dac-as-java/Parent.html92
-rw-r--r--core/testdata/format/dac/inheritedMethods/dac/Child.html99
-rw-r--r--core/testdata/format/dac/inheritedMethods/dac/Parent.html92
-rw-r--r--core/testdata/format/dac/javaClassLinks/Bar.java28
-rw-r--r--core/testdata/format/dac/javaClassLinks/Foo.java (renamed from core/testdata/format/dac-as-java/javaDefaultConstructor.java)0
-rw-r--r--core/testdata/format/dac/javaClassLinks/dac-as-java/Bar.html147
-rw-r--r--core/testdata/format/dac/javaClassLinks/dac-as-java/Foo.html (renamed from core/testdata/format/dac-as-java/javaConstructor.html)8
-rw-r--r--core/testdata/format/dac/javaClassLinks/dac/Bar.html147
-rw-r--r--core/testdata/format/dac/javaClassLinks/dac/Foo.html (renamed from core/testdata/format/dac/javaConstructor.html)6
-rw-r--r--core/testdata/format/dac/javaConstructor/Foo.java (renamed from core/testdata/format/dac/javaConstructor.java)0
-rw-r--r--core/testdata/format/dac/javaConstructor/dac-as-java/Foo.html (renamed from core/testdata/format/dac-as-java/javaDefaultConstructor.html)8
-rw-r--r--core/testdata/format/dac/javaConstructor/dac/Foo.html37
-rw-r--r--core/testdata/format/dac/javaDefaultConstructor/Foo.java (renamed from core/testdata/format/dac-as-java/javaConstructor.java)1
-rw-r--r--core/testdata/format/dac/javaDefaultConstructor/dac-as-java/Foo.html37
-rw-r--r--core/testdata/format/dac/javaDefaultConstructor/dac/Foo.html37
-rw-r--r--core/testdata/format/dac/javaMethodVisibilities/Foo.java5
-rw-r--r--core/testdata/format/dac/javaMethodVisibilities/dac-as-java/Foo.html97
-rw-r--r--core/testdata/format/dac/javaMethodVisibilities/dac/Foo.html97
-rw-r--r--core/testdata/format/dac/javaSeeTag.java6
-rw-r--r--core/testdata/format/dac/javaSeeTag/Bar.kt5
-rw-r--r--core/testdata/format/dac/javaSeeTag/Foo.java (renamed from core/testdata/format/dac-as-java/javaSeeTag.java)1
-rw-r--r--core/testdata/format/dac/javaSeeTag/dac-as-java/Bar.html44
-rw-r--r--core/testdata/format/dac/javaSeeTag/dac-as-java/Foo.html (renamed from core/testdata/format/dac-as-java/javaSeeTag.html)18
-rw-r--r--core/testdata/format/dac/javaSeeTag/dac/Bar.html44
-rw-r--r--core/testdata/format/dac/javaSeeTag/dac/Foo.html (renamed from core/testdata/format/dac/javaSeeTag.html)13
-rw-r--r--gradle.properties2
-rw-r--r--runners/android-gradle-plugin/build.gradle3
-rw-r--r--runners/cli/src/main/kotlin/cli/main.kt18
-rw-r--r--runners/gradle-plugin/build.gradle24
-rw-r--r--runners/maven-plugin/build.gradle3
-rw-r--r--settings.gradle3
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>
diff --git a/METADATA b/METADATA
index 8b9dd3b9..dfb86523 100644
--- a/METADATA
+++ b/METADATA
@@ -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()">&lt;init&gt;</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">&lt;init&gt;</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()">&lt;init&gt;</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">&lt;init&gt;</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()">&lt;init&gt;</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">&lt;init&gt;</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()">&lt;init&gt;</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">&lt;init&gt;</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>&nbsp;<span class="symbol">:</span>&nbsp;<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()">&lt;init&gt;</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">&lt;init&gt;</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()">&lt;init&gt;</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">&lt;init&gt;</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">&lt;</span><span class="identifier">java.lang.String</span><span class="symbol">&gt;</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">&lt;</span><span class="identifier">java.lang.String</span><span class="symbol">&gt;</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">&lt;</span><span class="identifier">java.lang.String</span><span class="symbol">&gt;</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()">&lt;init&gt;</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>&nbsp;<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">&lt;</span><span class="identifier">String</span><span class="symbol">!</span><span class="symbol">&gt;</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>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/HashSet.html"><span class="identifier">HashSet</span></a><span class="symbol">&lt;</span><span class="identifier">Any</span><span class="symbol">!</span><span class="symbol">&gt;</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">&lt;init&gt;</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>&nbsp;<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>&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/util/HashSet.html"><span class="identifier">HashSet</span></a><span class="symbol">&lt;</span><span class="identifier">Any</span><span class="symbol">!</span><span class="symbol">&gt;</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">&lt;</span><span class="identifier">String</span><span class="symbol">!</span><span class="symbol">&gt;</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">&lt;</span><span class="identifier">Any</span><span class="symbol">!</span><span class="symbol">&gt;</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">&lt;</span><span class="identifier">String</span><span class="symbol">!</span><span class="symbol">&gt;</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()">&lt;init&gt;</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">&lt;init&gt;</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()">&lt;init&gt;</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">&lt;init&gt;</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()">&lt;init&gt;</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">&lt;init&gt;</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()">&lt;init&gt;</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">&lt;init&gt;</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'