aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/main/kotlin/Generation/configurationImpl.kt3
-rw-r--r--core/src/main/kotlin/Kotlin/DocumentationBuilder.kt15
-rw-r--r--integration/src/main/kotlin/org/jetbrains/dokka/configuration.kt1
-rw-r--r--runners/ant/src/main/kotlin/ant/dokka.kt2
-rw-r--r--runners/cli/src/main/kotlin/cli/main.kt6
5 files changed, 26 insertions, 1 deletions
diff --git a/core/src/main/kotlin/Generation/configurationImpl.kt b/core/src/main/kotlin/Generation/configurationImpl.kt
index 2aa0e0d7..61f3f902 100644
--- a/core/src/main/kotlin/Generation/configurationImpl.kt
+++ b/core/src/main/kotlin/Generation/configurationImpl.kt
@@ -63,7 +63,8 @@ class PassConfigurationImpl (
override val suppressedFiles: List<String> = listOf(),
override val collectInheritedExtensionsFromLibraries: Boolean = false,
override val analysisPlatform: Platform = Platform.DEFAULT,
- override val targets: List<String> = listOf()
+ override val targets: List<String> = listOf(),
+ override val sinceKotlin: String = "1.0"
): DokkaConfiguration.PassConfiguration {
private val defaultLinks = run {
val links = mutableListOf<DokkaConfiguration.ExternalDocumentationLink>()
diff --git a/core/src/main/kotlin/Kotlin/DocumentationBuilder.kt b/core/src/main/kotlin/Kotlin/DocumentationBuilder.kt
index d300cf4d..e003c2e7 100644
--- a/core/src/main/kotlin/Kotlin/DocumentationBuilder.kt
+++ b/core/src/main/kotlin/Kotlin/DocumentationBuilder.kt
@@ -289,6 +289,11 @@ class DocumentationBuilder
sinceKotlin = kotlinVersion
}
+ fun DocumentationNode.appendDefaultSinceKotlin() {
+ println("setting default sk ${passConfiguration.sinceKotlin} for $this")
+ sinceKotlin = passConfiguration.sinceKotlin
+ }
+
fun DocumentationNode.appendModifiers(descriptor: DeclarationDescriptor) {
val psi = (descriptor as DeclarationDescriptorWithSource).source.getPsi() as? KtModifierListOwner ?: return
appendInline(descriptor, psi)
@@ -590,6 +595,7 @@ class DocumentationBuilder
val node = nodeForDescriptor(this, NodeKind.TypeAlias)
if (!external) {
+ node.appendDefaultSinceKotlin()
node.appendAnnotations(this)
}
node.appendModifiers(this)
@@ -627,6 +633,7 @@ class DocumentationBuilder
for ((descriptor, inheritedLinkKind, extraModifier) in collectMembersToDocument()) {
node.appendClassMember(descriptor, inheritedLinkKind, extraModifier)
}
+ node.appendDefaultSinceKotlin()
node.appendAnnotations(this)
}
node.appendModifiers(this)
@@ -687,6 +694,7 @@ class DocumentationBuilder
val node = nodeForDescriptor(this, NodeKind.Constructor)
node.appendInPageChildren(valueParameters, RefKind.Detail)
node.appendDefaultPlatforms(this)
+ node.appendDefaultSinceKotlin()
register(this, node)
return node
}
@@ -711,6 +719,9 @@ class DocumentationBuilder
extensionReceiverParameter?.let { node.appendChild(it, RefKind.Detail) }
node.appendInPageChildren(valueParameters, RefKind.Detail)
node.appendType(returnType)
+ if (!external) {
+ node.appendDefaultSinceKotlin()
+ }
node.appendAnnotations(this)
node.appendModifiers(this)
if (!external) {
@@ -748,6 +759,9 @@ class DocumentationBuilder
node.appendInPageChildren(typeParameters, RefKind.Detail)
extensionReceiverParameter?.let { node.appendChild(it, RefKind.Detail) }
node.appendType(returnType)
+ if (!external) {
+ node.appendDefaultSinceKotlin()
+ }
node.appendAnnotations(this)
node.appendModifiers(this)
if (!external) {
@@ -817,6 +831,7 @@ class DocumentationBuilder
}
}
}
+ node.appendDefaultSinceKotlin()
node.appendAnnotations(this)
node.appendModifiers(this)
if (varargElementType != null && node.details(NodeKind.Modifier).none { it.name == "vararg" }) {
diff --git a/integration/src/main/kotlin/org/jetbrains/dokka/configuration.kt b/integration/src/main/kotlin/org/jetbrains/dokka/configuration.kt
index 7eb1d3f2..12efd252 100644
--- a/integration/src/main/kotlin/org/jetbrains/dokka/configuration.kt
+++ b/integration/src/main/kotlin/org/jetbrains/dokka/configuration.kt
@@ -71,6 +71,7 @@ interface DokkaConfiguration {
val collectInheritedExtensionsFromLibraries: Boolean
val analysisPlatform: Platform
val targets: List<String>
+ val sinceKotlin: String
}
interface SourceRoot {
diff --git a/runners/ant/src/main/kotlin/ant/dokka.kt b/runners/ant/src/main/kotlin/ant/dokka.kt
index 023b4b7f..5a4111e8 100644
--- a/runners/ant/src/main/kotlin/ant/dokka.kt
+++ b/runners/ant/src/main/kotlin/ant/dokka.kt
@@ -64,6 +64,8 @@ class AntPassConfig(task: Task) : DokkaConfiguration.PassConfiguration {
get() = buildTargets.filter { it.value != "" }
.map { it.value }
+ override var sinceKotlin: String = "1.0"
+
private val samplesPath: Path by lazy { Path(task.project) }
private val includesPath: Path by lazy { Path(task.project) }
private val buildClassPath: Path by lazy { Path(task.project) }
diff --git a/runners/cli/src/main/kotlin/cli/main.kt b/runners/cli/src/main/kotlin/cli/main.kt
index 655dfde5..d67a9875 100644
--- a/runners/cli/src/main/kotlin/cli/main.kt
+++ b/runners/cli/src/main/kotlin/cli/main.kt
@@ -120,6 +120,12 @@ class Arguments(val parser: DokkaArgumentsParser) : DokkaConfiguration.PassConfi
""
)
+ override val sinceKotlin: String by parser.stringOption(
+ listOf("-sinceKotlin"),
+ "Kotlin Api version to use as base version, if none specified",
+ "1.0"
+ )
+
override val collectInheritedExtensionsFromLibraries: Boolean by parser.singleFlag(
listOf("-collectInheritedExtensionsFromLibraries"),
"Search for applicable extensions in libraries")