diff --git a/appcheck/firebase-appcheck-debug-testing/firebase-appcheck-debug-testing.gradle b/appcheck/firebase-appcheck-debug-testing/firebase-appcheck-debug-testing.gradle index 03624b20da0..64a1ff3bfa0 100644 --- a/appcheck/firebase-appcheck-debug-testing/firebase-appcheck-debug-testing.gradle +++ b/appcheck/firebase-appcheck-debug-testing/firebase-appcheck-debug-testing.gradle @@ -23,7 +23,6 @@ firebaseLibrary { releaseNotes { name.set("{{app_check}} Debug Testing") versionName.set("appcheck-debug-testing") - hasKTX.set(false) } } diff --git a/appcheck/firebase-appcheck-debug/firebase-appcheck-debug.gradle b/appcheck/firebase-appcheck-debug/firebase-appcheck-debug.gradle index 44a14355d03..55028d221e1 100644 --- a/appcheck/firebase-appcheck-debug/firebase-appcheck-debug.gradle +++ b/appcheck/firebase-appcheck-debug/firebase-appcheck-debug.gradle @@ -21,7 +21,6 @@ firebaseLibrary { releaseNotes { name.set("{{app_check}} Debug") versionName.set("appcheck-debug") - hasKTX.set(false) } } diff --git a/appcheck/firebase-appcheck-playintegrity/firebase-appcheck-playintegrity.gradle b/appcheck/firebase-appcheck-playintegrity/firebase-appcheck-playintegrity.gradle index 82a4ba07e2d..6e430d58eac 100644 --- a/appcheck/firebase-appcheck-playintegrity/firebase-appcheck-playintegrity.gradle +++ b/appcheck/firebase-appcheck-playintegrity/firebase-appcheck-playintegrity.gradle @@ -21,7 +21,6 @@ firebaseLibrary { releaseNotes { name.set("{{app_check}} Play integrity") versionName.set("appcheck-playintegrity") - hasKTX.set(false) } } diff --git a/firebase-abt/firebase-abt.gradle b/firebase-abt/firebase-abt.gradle index 3743c3b9546..625d9a93a31 100644 --- a/firebase-abt/firebase-abt.gradle +++ b/firebase-abt/firebase-abt.gradle @@ -22,7 +22,6 @@ firebaseLibrary { releaseNotes { name.set("{{ab_testing}}") versionName.set("ab_testing") - hasKTX.set(false) } } diff --git a/firebase-ai/firebase-ai.gradle.kts b/firebase-ai/firebase-ai.gradle.kts index fb4a8bd6f1a..70b2883d287 100644 --- a/firebase-ai/firebase-ai.gradle.kts +++ b/firebase-ai/firebase-ai.gradle.kts @@ -30,7 +30,6 @@ firebaseLibrary { releaseNotes { name.set("{{firebase_ai_logic}}") versionName.set("ai") - hasKTX.set(false) } } diff --git a/firebase-appdistribution/firebase-appdistribution.gradle b/firebase-appdistribution/firebase-appdistribution.gradle index a6333aff391..b71c20c4536 100644 --- a/firebase-appdistribution/firebase-appdistribution.gradle +++ b/firebase-appdistribution/firebase-appdistribution.gradle @@ -24,7 +24,6 @@ firebaseLibrary { releaseNotes { name.set("{{appdistro}}") versionName.set("app-distro") - hasKTX.set(false) } } diff --git a/firebase-components/firebase-dynamic-module-support/firebase-dynamic-module-support.gradle.kts b/firebase-components/firebase-dynamic-module-support/firebase-dynamic-module-support.gradle.kts index bdce2e7c87c..1166b008e22 100644 --- a/firebase-components/firebase-dynamic-module-support/firebase-dynamic-module-support.gradle.kts +++ b/firebase-components/firebase-dynamic-module-support/firebase-dynamic-module-support.gradle.kts @@ -22,7 +22,6 @@ firebaseLibrary { releaseNotes { name.set("Dynamic feature modules support") versionName.set("dynamic-feature-modules-support") - hasKTX.set(false) } } diff --git a/firebase-crashlytics-ndk/firebase-crashlytics-ndk.gradle b/firebase-crashlytics-ndk/firebase-crashlytics-ndk.gradle index 4198cdc64f6..6a3da292f11 100644 --- a/firebase-crashlytics-ndk/firebase-crashlytics-ndk.gradle +++ b/firebase-crashlytics-ndk/firebase-crashlytics-ndk.gradle @@ -26,7 +26,6 @@ firebaseLibrary { releaseNotes { name.set("{{crashlytics}} NDK") versionName.set("crashlytics-ndk") - hasKTX.set(false) } testLab.enabled = true publishJavadoc = false diff --git a/firebase-dataconnect/firebase-dataconnect.gradle.kts b/firebase-dataconnect/firebase-dataconnect.gradle.kts index 914985ac18d..bdc23837da1 100644 --- a/firebase-dataconnect/firebase-dataconnect.gradle.kts +++ b/firebase-dataconnect/firebase-dataconnect.gradle.kts @@ -31,7 +31,6 @@ firebaseLibrary { releaseNotes { name.set("{{data_connect_short}}") versionName.set("data-connect") - hasKTX.set(false) } } diff --git a/firebase-messaging-directboot/firebase-messaging-directboot.gradle b/firebase-messaging-directboot/firebase-messaging-directboot.gradle index 4952f714c01..f26fca21b02 100644 --- a/firebase-messaging-directboot/firebase-messaging-directboot.gradle +++ b/firebase-messaging-directboot/firebase-messaging-directboot.gradle @@ -23,7 +23,6 @@ firebaseLibrary { releaseNotes { name.set("Cloud Messaging Direct Boot") versionName.set("messaging-directboot") - hasKTX.set(false) } } diff --git a/firebase-sessions/firebase-sessions.gradle.kts b/firebase-sessions/firebase-sessions.gradle.kts index 6ae1a53efa5..2b13d0aaea2 100644 --- a/firebase-sessions/firebase-sessions.gradle.kts +++ b/firebase-sessions/firebase-sessions.gradle.kts @@ -30,10 +30,7 @@ firebaseLibrary { testLab.enabled = true publishJavadoc = false - releaseNotes { - enabled = false - hasKTX = false - } + releaseNotes { enabled = false } } android { diff --git a/firebase-vertexai/firebase-vertexai.gradle.kts b/firebase-vertexai/firebase-vertexai.gradle.kts index 99e45f79253..e27f3799cde 100644 --- a/firebase-vertexai/firebase-vertexai.gradle.kts +++ b/firebase-vertexai/firebase-vertexai.gradle.kts @@ -30,7 +30,6 @@ firebaseLibrary { releaseNotes { name.set("{{vertex_ai_in_firebase}}") versionName.set("vertex-ai") - hasKTX.set(false) } } diff --git a/plugins/src/main/java/com/google/firebase/gradle/plugins/BaseFirebaseLibraryPlugin.kt b/plugins/src/main/java/com/google/firebase/gradle/plugins/BaseFirebaseLibraryPlugin.kt index b8f2c5108fb..f3c187b033a 100644 --- a/plugins/src/main/java/com/google/firebase/gradle/plugins/BaseFirebaseLibraryPlugin.kt +++ b/plugins/src/main/java/com/google/firebase/gradle/plugins/BaseFirebaseLibraryPlugin.kt @@ -75,7 +75,6 @@ abstract class BaseFirebaseLibraryPlugin : Plugin { releaseNotes { enabled.convention(true) - hasKTX.convention(true) artifactId.convention(project.name) artifactName.convention(project.name) } diff --git a/plugins/src/main/java/com/google/firebase/gradle/plugins/MakeReleaseNotesTask.kt b/plugins/src/main/java/com/google/firebase/gradle/plugins/MakeReleaseNotesTask.kt index bdd5520325c..696621c03d2 100644 --- a/plugins/src/main/java/com/google/firebase/gradle/plugins/MakeReleaseNotesTask.kt +++ b/plugins/src/main/java/com/google/firebase/gradle/plugins/MakeReleaseNotesTask.kt @@ -106,7 +106,7 @@ abstract class MakeReleaseNotesTask : DefaultTask() { val versionClassifier = version.replace(".", "-") - val baseReleaseNotes = + val releaseNotes = """ |### ${config.name.get()} version $version {: #${config.versionName.get()}_v$versionClassifier} | @@ -115,25 +115,6 @@ abstract class MakeReleaseNotesTask : DefaultTask() { .trimMargin() .trim() - val ktxReleaseNotes = - """ - |#### ${config.name.get()} Kotlin extensions version $version {: #${config.versionName.get()}-ktx_v$versionClassifier} - | - |${unreleased.ktx?.toReleaseNotes() ?: KTXTransitiveReleaseText(project.name)} - """ - .trimMargin() - .trim() - .takeIf { config.hasKTX.get() } - - val releaseNotes = - """ - |$baseReleaseNotes - | - |${ktxReleaseNotes.orEmpty()} - """ - .trimMargin() - .trim() - releaseNotesFile.asFile.get().writeText(releaseNotes + "\n") } diff --git a/plugins/src/main/java/com/google/firebase/gradle/plugins/MoveUnreleasedChangesTask.kt b/plugins/src/main/java/com/google/firebase/gradle/plugins/MoveUnreleasedChangesTask.kt index 1695f51c460..fe8b9d8e3ba 100644 --- a/plugins/src/main/java/com/google/firebase/gradle/plugins/MoveUnreleasedChangesTask.kt +++ b/plugins/src/main/java/com/google/firebase/gradle/plugins/MoveUnreleasedChangesTask.kt @@ -78,31 +78,7 @@ abstract class MoveUnreleasedChangesTask : DefaultTask() { if (!unreleased.hasContent()) throw StopActionException("No changes to move for project: ${project.name}") - return unreleased.copy(version = releaseVersion.get(), ktx = createEntryForKTX(unreleased)) - } - - /** - * Creates the [ReleaseEntry.ktx] for a new release. - * - * Ensures the entry is only created if the library has a KTX lib to begin with, and adds template - * subtext if it lacks any changes. - * - * @see ReleaseNotesConfigurationExtension - * @see KTXTransitiveReleaseText - */ - private fun createEntryForKTX(release: ReleaseEntry): ReleaseContent? { - val releaseNotesConfig = project.firebaseLibrary.releaseNotes - - val nonEmptyKTXContent = release.ktx?.takeIf { it.hasContent() } - - val ktxContent = - nonEmptyKTXContent - ?: ReleaseContent( - KTXTransitiveReleaseText(releaseNotesConfig.artifactName.get()), - emptyList(), - ) - - return ktxContent.takeIf { releaseNotesConfig.hasKTX.get() } + return unreleased.copy(version = releaseVersion.get()) } private fun configure() { diff --git a/plugins/src/main/java/com/google/firebase/gradle/plugins/ReleaseNotesConfigurationExtension.kt b/plugins/src/main/java/com/google/firebase/gradle/plugins/ReleaseNotesConfigurationExtension.kt index f257052b09e..b480bc95e0f 100644 --- a/plugins/src/main/java/com/google/firebase/gradle/plugins/ReleaseNotesConfigurationExtension.kt +++ b/plugins/src/main/java/com/google/firebase/gradle/plugins/ReleaseNotesConfigurationExtension.kt @@ -29,9 +29,6 @@ import org.gradle.api.provider.Property * @property enabled Whether to generate release notes for this library. Defaults to true. * @property name The variable name mapping for this library, defined on G3. * @property versionName The version name mapping for this library, defined on G3. - * @property hasKTX The library has a sub module with the suffix '-ktx' that releases alongside this - * library, and should have the transitive text added to the release notes. Defaults to true. Will - * likely be removed when we officially drop KTX libraries. * @property artifactName The name of the generation artifact. _Only_ required if your project's * name is different than your generated artifact name. Defaults to the project name. * @see MakeReleaseNotesTask @@ -40,6 +37,5 @@ abstract class ReleaseNotesConfigurationExtension { abstract val enabled: Property abstract val name: Property abstract val versionName: Property - abstract val hasKTX: Property abstract val artifactName: Property } diff --git a/plugins/src/test/kotlin/com/google/firebase/gradle/plugins/MoveUnreleasedChangesTests.kt b/plugins/src/test/kotlin/com/google/firebase/gradle/plugins/MoveUnreleasedChangesTests.kt index 7917d952397..88109d91074 100644 --- a/plugins/src/test/kotlin/com/google/firebase/gradle/plugins/MoveUnreleasedChangesTests.kt +++ b/plugins/src/test/kotlin/com/google/firebase/gradle/plugins/MoveUnreleasedChangesTests.kt @@ -18,14 +18,10 @@ package com.google.firebase.gradle.plugins import com.google.firebase.gradle.plugins.ChangeType.FIXED import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldBeEmpty import io.kotest.matchers.collections.shouldContainExactly import io.kotest.matchers.collections.shouldHaveAtLeastSize import io.kotest.matchers.collections.shouldHaveSize import io.kotest.matchers.shouldBe -import io.kotest.matchers.shouldNot -import io.kotest.matchers.shouldNotBe -import io.kotest.matchers.string.beEmpty import io.kotest.matchers.string.shouldMatch import java.io.File import org.gradle.testkit.runner.GradleRunner @@ -56,22 +52,6 @@ class MoveUnreleasedChangesTests : FunSpec() { releasedEntry.ktx shouldBe ktxEntry } - @Test - fun `Uses template text on KTX libs with no changes`() { - basicChangelog.releases.first().ktx shouldBe null - - val newChangelog = buildWithChangelog(basicChangelog) - validateChangelog(basicChangelog, newChangelog) - - val releasedEntry = newChangelog.releases[1] - - releasedEntry.ktx shouldNotBe null - releasedEntry.ktx?.let { - it.subtext shouldNot beEmpty() - it.changes.shouldBeEmpty() - } - } - @Test fun `Handles empty Unreleased sections`() { val changelog = basicChangelog.replaceUnreleasedWith { ReleaseEntry.Empty } diff --git a/plugins/src/test/resources/BasicProject/firebase-storage/CHANGELOG.md b/plugins/src/test/resources/BasicProject/firebase-storage/CHANGELOG.md index 8b72642125d..6376319e357 100644 --- a/plugins/src/test/resources/BasicProject/firebase-storage/CHANGELOG.md +++ b/plugins/src/test/resources/BasicProject/firebase-storage/CHANGELOG.md @@ -45,14 +45,6 @@ Note: We did some super cool stuff here! * [removed] some stuff that we didn't really like got removed -## Kotlin -* [feature] Added - [`Query.dataObjects()`](/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary#dataObjects) - and - [`DocumentReference.dataObjects()`](/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary#dataObjects_1) - Kotlin Flows to listen for realtime updates and convert its values to a - specific type. - # 24.5.0 * [fixed] Fixed stack overflow caused by deeply nested server timestamps. (GitHub [#4702](//github.com/firebase/firebase-android-sdk/issues/4702){: .external}) diff --git a/plugins/src/test/resources/MakeReleaseNotes/release-notes.md b/plugins/src/test/resources/MakeReleaseNotes/release-notes.md index c6d5cd8ce09..b5578c8c386 100644 --- a/plugins/src/test/resources/MakeReleaseNotes/release-notes.md +++ b/plugins/src/test/resources/MakeReleaseNotes/release-notes.md @@ -45,12 +45,3 @@ Note: We did some super cool stuff here! * {{unchanged}} Idk ig we did some stuff * {{removed}} some stuff that we didn't really like got removed - -#### {{firebase_storage_full}} Kotlin extensions version 24.6.0 {: #storage-ktx_v24-6-0} - -* {{feature}} Added - [`Query.dataObjects()`](/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary#dataObjects) - and - [`DocumentReference.dataObjects()`](/docs/reference/kotlin/com/google/firebase/firestore/ktx/package-summary#dataObjects_1) - Kotlin Flows to listen for realtime updates and convert its values to a - specific type. \ No newline at end of file