aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Ogorodnik <Simon.Ogorodnik@jetbrains.com>2018-06-04 16:23:34 +0300
committerSimon Ogorodnik <Simon.Ogorodnik@jetbrains.com>2018-07-14 23:57:13 +0300
commit23861925232505dbd70344a1d690f2475bb022e8 (patch)
treef5fab8081b700c9553a4d925de0de70a9ced7b37
parentadee5c45d9b9b47a38fa0124b97c85c8733476e8 (diff)
downloaddokka-23861925232505dbd70344a1d690f2475bb022e8.tar.gz
dokka-23861925232505dbd70344a1d690f2475bb022e8.tar.bz2
dokka-23861925232505dbd70344a1d690f2475bb022e8.zip
[backport] Introduce option to enable/disable jdk linking
Original: 8e9e768
-rw-r--r--core/src/main/kotlin/DokkaBootstrapImpl.kt39
-rw-r--r--core/src/main/kotlin/Generation/configurationImpl.kt1
-rw-r--r--core/src/main/kotlin/Kotlin/DocumentationBuilder.kt6
-rw-r--r--core/src/test/kotlin/TestAPI.kt9
-rw-r--r--core/src/test/kotlin/format/KotlinWebSiteFormatTest.kt1
-rw-r--r--core/src/test/kotlin/format/KotlinWebSiteHtmlFormatTest.kt1
-rw-r--r--core/src/test/kotlin/format/MarkdownFormatTest.kt2
-rw-r--r--core/src/test/kotlin/model/JavaTest.kt4
-rw-r--r--integration/src/main/kotlin/org/jetbrains/dokka/configuration.kt2
-rw-r--r--runners/ant/src/main/kotlin/ant/dokka.kt2
-rw-r--r--runners/gradle-plugin/src/main/kotlin/main.kt14
11 files changed, 54 insertions, 27 deletions
diff --git a/core/src/main/kotlin/DokkaBootstrapImpl.kt b/core/src/main/kotlin/DokkaBootstrapImpl.kt
index b7787be8..e18ab6cf 100644
--- a/core/src/main/kotlin/DokkaBootstrapImpl.kt
+++ b/core/src/main/kotlin/DokkaBootstrapImpl.kt
@@ -52,25 +52,26 @@ class DokkaBootstrapImpl : DokkaBootstrap {
includes,
moduleName,
DocumentationOptions(
- outputDir,
- format,
- includeNonPublic,
- includeRootPackage,
- reportUndocumented,
- skipEmptyPackages,
- skipDeprecated,
- jdkVersion,
- generateIndexPages,
- sourceLinks,
- impliedPlatforms,
- perPackageOptions,
- externalDocumentationLinks,
- noStdlibLink,
- languageVersion,
- apiVersion,
- cacheRoot,
- suppressedFiles.map { File(it) }.toSet(),
- collectInheritedExtensionsFromLibraries
+ outputDir = outputDir,
+ outputFormat = format,
+ includeNonPublic = includeNonPublic,
+ includeRootPackage = includeRootPackage,
+ reportUndocumented = reportUndocumented,
+ skipEmptyPackages = skipEmptyPackages,
+ skipDeprecated = skipDeprecated,
+ jdkVersion = jdkVersion,
+ generateIndexPages = generateIndexPages,
+ sourceLinks = sourceLinks,
+ impliedPlatforms = impliedPlatforms,
+ perPackageOptions = perPackageOptions,
+ externalDocumentationLinks = externalDocumentationLinks,
+ noStdlibLink = noStdlibLink,
+ noJdkLink = noJdkLink,
+ languageVersion = languageVersion,
+ apiVersion = apiVersion,
+ cacheRoot = cacheRoot,
+ suppressedFiles = suppressedFiles.map { File(it) }.toSet(),
+ collectInheritedExtensionsFromLibraries = collectInheritedExtensionsFromLibraries
)
)
}
diff --git a/core/src/main/kotlin/Generation/configurationImpl.kt b/core/src/main/kotlin/Generation/configurationImpl.kt
index 52e8446f..90e27b4b 100644
--- a/core/src/main/kotlin/Generation/configurationImpl.kt
+++ b/core/src/main/kotlin/Generation/configurationImpl.kt
@@ -55,6 +55,7 @@ data class DokkaConfigurationImpl(
override val perPackageOptions: List<PackageOptionsImpl>,
override val externalDocumentationLinks: List<ExternalDocumentationLinkImpl>,
override val noStdlibLink: Boolean,
+ override val noJdkLink: Boolean,
override val cacheRoot: String?,
override val suppressedFiles: List<String>,
override val languageVersion: String?,
diff --git a/core/src/main/kotlin/Kotlin/DocumentationBuilder.kt b/core/src/main/kotlin/Kotlin/DocumentationBuilder.kt
index e6a75277..58f5e246 100644
--- a/core/src/main/kotlin/Kotlin/DocumentationBuilder.kt
+++ b/core/src/main/kotlin/Kotlin/DocumentationBuilder.kt
@@ -55,6 +55,7 @@ class DocumentationOptions(val outputDir: String,
perPackageOptions: List<PackageOptions> = emptyList(),
externalDocumentationLinks: List<ExternalDocumentationLink> = emptyList(),
noStdlibLink: Boolean,
+ noJdkLink: Boolean,
val languageVersion: String?,
val apiVersion: String?,
cacheRoot: String? = null,
@@ -72,7 +73,10 @@ class DocumentationOptions(val outputDir: String,
fun effectivePackageOptions(pack: FqName): PackageOptions = effectivePackageOptions(pack.asString())
val defaultLinks = run {
- val links = mutableListOf(ExternalDocumentationLink.Builder("http://docs.oracle.com/javase/$jdkVersion/docs/api/").build())
+ val links = mutableListOf<ExternalDocumentationLink>()
+ if (!noJdkLink)
+ links += ExternalDocumentationLink.Builder("http://docs.oracle.com/javase/$jdkVersion/docs/api/").build()
+
if (!noStdlibLink)
links += ExternalDocumentationLink.Builder("https://kotlinlang.org/api/latest/jvm/stdlib/").build()
links
diff --git a/core/src/test/kotlin/TestAPI.kt b/core/src/test/kotlin/TestAPI.kt
index aeff9284..953e3bab 100644
--- a/core/src/test/kotlin/TestAPI.kt
+++ b/core/src/test/kotlin/TestAPI.kt
@@ -39,6 +39,7 @@ fun verifyModel(vararg roots: ContentRoot,
perPackageOptions = perPackageOptions,
generateIndexPages = false,
noStdlibLink = noStdlibLink,
+ noJdkLink = false,
cacheRoot = "default",
languageVersion = null,
apiVersion = null,
@@ -269,6 +270,14 @@ fun StringBuilder.appendNode(node: ContentNode): StringBuilder {
is ContentBlock -> {
appendChildren(node)
}
+ is NodeRenderContent -> {
+ append("render(")
+ append(node.node)
+ append(",")
+ append(node.mode)
+ append(")")
+ }
+ is ContentSymbol -> { append(node.text) }
is ContentEmpty -> { /* nothing */ }
else -> throw IllegalStateException("Don't know how to format node $node")
}
diff --git a/core/src/test/kotlin/format/KotlinWebSiteFormatTest.kt b/core/src/test/kotlin/format/KotlinWebSiteFormatTest.kt
index b971b54d..062cf0b5 100644
--- a/core/src/test/kotlin/format/KotlinWebSiteFormatTest.kt
+++ b/core/src/test/kotlin/format/KotlinWebSiteFormatTest.kt
@@ -54,6 +54,7 @@ class KotlinWebSiteFormatTest: FileGeneratorTestCase() {
outputFormat = "html",
generateIndexPages = false,
noStdlibLink = true,
+ noJdkLink = true,
languageVersion = null,
apiVersion = null
)
diff --git a/core/src/test/kotlin/format/KotlinWebSiteHtmlFormatTest.kt b/core/src/test/kotlin/format/KotlinWebSiteHtmlFormatTest.kt
index 49fa6d2f..8076fb92 100644
--- a/core/src/test/kotlin/format/KotlinWebSiteHtmlFormatTest.kt
+++ b/core/src/test/kotlin/format/KotlinWebSiteHtmlFormatTest.kt
@@ -65,6 +65,7 @@ class KotlinWebSiteHtmlFormatTest: FileGeneratorTestCase() {
outputFormat = "kotlin-website-html",
generateIndexPages = false,
noStdlibLink = true,
+ noJdkLink = true,
languageVersion = null,
apiVersion = null
)
diff --git a/core/src/test/kotlin/format/MarkdownFormatTest.kt b/core/src/test/kotlin/format/MarkdownFormatTest.kt
index 9e4c831d..3723e5ae 100644
--- a/core/src/test/kotlin/format/MarkdownFormatTest.kt
+++ b/core/src/test/kotlin/format/MarkdownFormatTest.kt
@@ -313,6 +313,7 @@ class MarkdownFormatTest: FileGeneratorTestCase() {
outputFormat = "html",
generateIndexPages = false,
noStdlibLink = true,
+ noJdkLink = true,
languageVersion = null,
apiVersion = null
)
@@ -447,6 +448,7 @@ class MarkdownFormatTest: FileGeneratorTestCase() {
outputFormat = "html",
generateIndexPages = false,
noStdlibLink = true,
+ noJdkLink = true,
languageVersion = null,
apiVersion = null
)
diff --git a/core/src/test/kotlin/model/JavaTest.kt b/core/src/test/kotlin/model/JavaTest.kt
index c2ede8f0..66eb84f1 100644
--- a/core/src/test/kotlin/model/JavaTest.kt
+++ b/core/src/test/kotlin/model/JavaTest.kt
@@ -18,12 +18,12 @@ public class JavaTest {
with(content.sections[0]) {
assertEquals("Parameters", tag)
assertEquals("name", subjectName)
- assertEquals("is String parameter", toTestString())
+ assertEquals("render(Type:String,SUMMARY): is String parameter", toTestString())
}
with(content.sections[1]) {
assertEquals("Parameters", tag)
assertEquals("value", subjectName)
- assertEquals("is int parameter", toTestString())
+ assertEquals("render(Type:String,SUMMARY): is int parameter", toTestString())
}
with(content.sections[2]) {
assertEquals("Author", tag)
diff --git a/integration/src/main/kotlin/org/jetbrains/dokka/configuration.kt b/integration/src/main/kotlin/org/jetbrains/dokka/configuration.kt
index 46a57278..69d19944 100644
--- a/integration/src/main/kotlin/org/jetbrains/dokka/configuration.kt
+++ b/integration/src/main/kotlin/org/jetbrains/dokka/configuration.kt
@@ -39,6 +39,7 @@ interface DokkaConfiguration {
val languageVersion: String?
val apiVersion: String?
val noStdlibLink: Boolean
+ val noJdkLink: Boolean
val cacheRoot: String?
val suppressedFiles: List<String>
val collectInheritedExtensionsFromLibraries: Boolean
@@ -102,6 +103,7 @@ data class SerializeOnlyDokkaConfiguration(
override val perPackageOptions: List<DokkaConfiguration.PackageOptions>,
override val externalDocumentationLinks: List<DokkaConfiguration.ExternalDocumentationLink>,
override val noStdlibLink: Boolean,
+ override val noJdkLink: Boolean,
override val cacheRoot: String?,
override val suppressedFiles: List<String>,
override val languageVersion: String?,
diff --git a/runners/ant/src/main/kotlin/ant/dokka.kt b/runners/ant/src/main/kotlin/ant/dokka.kt
index d1b6bef5..79583a1f 100644
--- a/runners/ant/src/main/kotlin/ant/dokka.kt
+++ b/runners/ant/src/main/kotlin/ant/dokka.kt
@@ -40,6 +40,7 @@ class DokkaAntTask: Task() {
var jdkVersion: Int = 6
var noStdlibLink: Boolean = false
+ var noJdkLink: Boolean = false
var skipDeprecated: Boolean = false
@@ -131,6 +132,7 @@ class DokkaAntTask: Task() {
perPackageOptions = antPackageOptions,
externalDocumentationLinks = antExternalDocumentationLinks.map { it.build() },
noStdlibLink = noStdlibLink,
+ noJdkLink = noJdkLink,
cacheRoot = cacheRoot,
languageVersion = languageVersion,
apiVersion = apiVersion
diff --git a/runners/gradle-plugin/src/main/kotlin/main.kt b/runners/gradle-plugin/src/main/kotlin/main.kt
index 4812e217..d3a341e0 100644
--- a/runners/gradle-plugin/src/main/kotlin/main.kt
+++ b/runners/gradle-plugin/src/main/kotlin/main.kt
@@ -124,6 +124,9 @@ open class DokkaTask : DefaultTask() {
@Input var noStdlibLink: Boolean = false
+ @Input
+ var noJdkLink: Boolean = false
+
@Optional @Input
var cacheRoot: String? = null
@@ -309,11 +312,12 @@ open class DokkaTask : DefaultTask() {
perPackageOptions,
externalDocumentationLinks,
noStdlibLink,
- cacheRoot,
- collectSuppressedFiles(sourceRoots),
- languageVersion,
- apiVersion,
- collectInheritedExtensionsFromLibraries
+ noJdkLink,
+ cacheRoot,
+ collectSuppressedFiles(sourceRoots),
+ languageVersion,
+ apiVersion,
+ collectInheritedExtensionsFromLibraries
)