Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions firebase-dataconnect/firebase-dataconnect.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ firebaseLibrary {
libraryGroup = "dataconnect"
testLab.enabled = false
publishJavadoc = true
onlyPublishKotlindoc = true
releaseNotes {
name.set("{{data_connect_short}}")
versionName.set("data-connect")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ abstract class BaseFirebaseLibraryPlugin : Plugin<Project> {
project.gradle.sharedServices.registerIfAbsent<GMavenService, _>("gmaven")
previewMode.convention("")
publishJavadoc.convention(true)
onlyPublishKotlindoc.convention(false)
artifactId.convention(project.name)
groupId.convention(project.provider { project.group.toString() })
libraryGroup.convention(artifactId)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ package com.google.firebase.gradle.plugins
import java.io.File
import javax.inject.Inject
import org.gradle.api.DefaultTask
import org.gradle.api.Project
import org.gradle.api.file.FileCollection
import org.gradle.api.file.RegularFileProperty
import org.gradle.api.provider.ListProperty
Expand Down Expand Up @@ -120,7 +121,8 @@ constructor(private val workerExecutor: WorkerExecutor) : GenerateDocumentationT
"java.lang.Override",
)
val annotationsNotToDisplayKotlin = listOf("kotlin.ExtensionFunctionType")

// A null path disables javadoc generation
val javadocPath: String? = "android".takeUnless { publishKotlindocOnly(project) }
val jsonMap =
mapOf(
"moduleName" to "",
Expand Down Expand Up @@ -152,7 +154,7 @@ constructor(private val workerExecutor: WorkerExecutor) : GenerateDocumentationT
JSONObject(
mapOf(
"docRootPath" to "/docs/reference/",
"javaDocsPath" to "android",
"javaDocsPath" to javadocPath,
"kotlinDocsPath" to "kotlin",
"projectPath" to "client/${clientName.get()}",
"includedHeadTagsPathJava" to
Expand All @@ -171,6 +173,14 @@ constructor(private val workerExecutor: WorkerExecutor) : GenerateDocumentationT
return JSONObject(jsonMap)
}

/**
* Checks if the [Project] should only release Kotlindocs
*
* This is done via the [FirebaseLibraryExtension.onlyPublishKotlindoc] property.
*/
private fun publishKotlindocOnly(project: Project) =
project.firebaseLibrary.onlyPublishKotlindoc.get()

private fun createExternalLinks(
packageLists: ListProperty<File>
): List<ExternalDocumentationLink> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,22 @@ constructor(val project: Project, val type: LibraryType) {
*/
abstract val publishJavadoc: Property<Boolean>

/**
* Only publish Kotlindocs instead of also publishing Javadocs for this library.
*
* This property is only effective when `publishJavadoc` is `true`.
*
* Defaults to `false`.
*
* ```sh
* ./gradlew :firebase-common:kotlindoc
* ```
*
* @see [FirebaseLibraryExtension]
* @see publishJavadoc
*/
abstract val onlyPublishKotlindoc: Property<Boolean>

/**
* Indicates the library is in a preview mode (such as `alpha` or `beta`).
*
Expand Down
Loading