diff --git a/buildSrc/src/main/java/com/google/firebase/gradle/plugins/DackkaPlugin.kt b/buildSrc/src/main/java/com/google/firebase/gradle/plugins/DackkaPlugin.kt index a7606f40a66..ef7b67ea87e 100644 --- a/buildSrc/src/main/java/com/google/firebase/gradle/plugins/DackkaPlugin.kt +++ b/buildSrc/src/main/java/com/google/firebase/gradle/plugins/DackkaPlugin.kt @@ -294,6 +294,7 @@ abstract class DackkaPlugin : Plugin { val transformJavadoc = project.tasks.register("firesiteTransformJavadoc") { dependsOnAndMustRunAfter("separateJavadoc") + referencePath.set("/docs/reference/android") referenceHeadTagsPath.set("docs/reference/android") dackkaFiles.set(project.childFile(separatedFilesDirectory, "android")) outputDirectory.set(project.childFile(targetDirectory, "android")) @@ -303,6 +304,7 @@ abstract class DackkaPlugin : Plugin { dependsOnAndMustRunAfter("separateKotlindoc") referenceHeadTagsPath.set("docs/reference/kotlin") + referencePath.set("/docs/reference/kotlin") dackkaFiles.set(project.childFile(separatedFilesDirectory, "kotlin")) outputDirectory.set(project.childFile(targetDirectory, "kotlin")) } diff --git a/buildSrc/src/main/java/com/google/firebase/gradle/plugins/FiresiteTransformTask.kt b/buildSrc/src/main/java/com/google/firebase/gradle/plugins/FiresiteTransformTask.kt index c68279d5985..2e7e8db7213 100644 --- a/buildSrc/src/main/java/com/google/firebase/gradle/plugins/FiresiteTransformTask.kt +++ b/buildSrc/src/main/java/com/google/firebase/gradle/plugins/FiresiteTransformTask.kt @@ -19,7 +19,7 @@ import org.gradle.api.tasks.TaskAction * More specifically, it: * - Deletes unnecessary files * - Removes Class and Index headers from _toc.yaml files - * - Appends /docs/ to hyperlinks in html files + * - Changes links to be appropriate for Firesite versus normal Devsite behavior * - Removes the prefix path from book_path * - Removes the firebase prefix from all links * - Changes the path for _reference-head-tags at the top of html files @@ -36,6 +36,9 @@ abstract class FiresiteTransformTask : DefaultTask() { @get:Input abstract val referenceHeadTagsPath: Property + @get:Input + abstract val referencePath: Property + @get:OutputDirectory abstract val outputDirectory: Property @@ -65,15 +68,21 @@ abstract class FiresiteTransformTask : DefaultTask() { } private fun File.fixHTMLFile() { - val fixedContent = readText().fixBookPath().fixHyperlinks().removeLeadingFirebaseDomainInLinks().fixReferenceHeadTagsPath() + val fixedContent = readText().fixBookPath().fixReferenceHeadTagsPath().fixLinks() writeText(fixedContent) } private fun File.fixYamlFile() { - val fixedContent = readText().removeClassHeader().removeIndexHeader().removeLeadingFirebaseDomainInLinks() + val fixedContent = readText().removeClassHeader().removeIndexHeader().fixLinks() writeText(fixedContent) } + // Our documentation does not live under the standard path expected by Dackka, especially + // between Kotlin + Javadocs + // TODO(b/243674305): Remove when dackka exposes configuration for this + private fun String.fixLinks() = + replace(Regex("(?<=\")/reference[^\"]*?(?=/com/google/firebase)"), referencePath.get()) + // We utilize difference reference head tags between Kotlin and Java docs // TODO(b/248316730): Remove when dackka exposes configuration for this private fun String.fixReferenceHeadTagsPath() = @@ -92,11 +101,6 @@ abstract class FiresiteTransformTask : DefaultTask() { private fun String.fixBookPath() = remove(Regex("(?<=setvar book_path ?%})(.+)(?=/_book.yaml\\{% ?endsetvar)")) - // Our documentation lives under /docs/reference/ versus the expected /reference/ - // TODO(b/243674305): Remove when dackka exposes configuration for this - private fun String.fixHyperlinks() = - replace(Regex("(?<=href=\")(/)(?=reference/.*\\.html)"), "/docs/") - // The documentation will work fine without this. This is primarily to make sure that links // resolve to their local counter part. Meaning when the docs are staged, they will resolve to // staged docs instead of prod docs- and vise versa. diff --git a/kotlindoc/package-lists/firebase/package-list b/kotlindoc/package-lists/firebase/package-list deleted file mode 100644 index 0b11ecaccf7..00000000000 --- a/kotlindoc/package-lists/firebase/package-list +++ /dev/null @@ -1,44 +0,0 @@ -com.google.firebase -com.google.firebase.analytics -com.google.firebase.analytics.ktx -com.google.firebase.appcheck -com.google.firebase.appcheck.ktx -com.google.firebase.appcheck.debug -com.google.firebase.appcheck.debug.testing -com.google.firebase.appcheck.playintegrity -com.google.firebase.appcheck.safetynet -com.google.firebase.appdistribution -com.google.firebase.appdistribution.ktx -com.google.firebase.auth -com.google.firebase.auth.ktx -com.google.firebase.crashlytics -com.google.firebase.crashlytics.ktx -com.google.firebase.database -com.google.firebase.database.ktx -com.google.firebase.dynamiclinks -com.google.firebase.dynamiclinks.ktx -com.google.firebase.firestore -com.google.firebase.firestore.ktx -com.google.firebase.functions -com.google.firebase.functions.ktx -com.google.firebase.inappmessaging -com.google.firebase.inappmessaging.display -com.google.firebase.inappmessaging.display.ktx -com.google.firebase.inappmessaging.ktx -com.google.firebase.inappmessaging.model -com.google.firebase.installations -com.google.firebase.installations.ktx -com.google.firebase.ktx -com.google.firebase.messaging -com.google.firebase.messaging.ktx -com.google.firebase.ml -com.google.firebase.ml.modeldownloader -com.google.firebase.ml.modeldownloader.ktx -com.google.firebase.perf -com.google.firebase.perf.ktx -com.google.firebase.perf.metrics -com.google.firebase.provider -com.google.firebase.remoteconfig -com.google.firebase.remoteconfig.ktx -com.google.firebase.storage -com.google.firebase.storage.ktx