Repository: Automattic/pocket-casts-android
File: build.gradle.kts (Kotlin)

Code before:

    plugins.withType<LibraryPlugin>().configureEach {
        configure<LibraryExtension> {
            buildTypes {
                named("release") {
                    isMinifyEnabled = false
                }
            }
        }
        dependencies {
            val lintChecks by configurations
            lintChecks(libs.security.lint)
            lintChecks(libs.wordpress.lint)
        }
    }

    plugins.withType<AppPlugin>().configureEach {
        configure<BaseAppModuleExtension> {
            lint(configureLint)

            buildTypes {
                named("debug") {
                    applicationIdSuffix = ".debug"
                }

                maybeCreate("debugProd")

                maybeCreate("prototype").apply {
                    isMinifyEnabled = true
                    isShrinkResources = true
                    proguardFiles.addAll(
                        listOf(
                            getDefaultProguardFile("proguard-android-optimize.txt"),
                            rootProject.file("proguard-rules.pro"),
                            rootProject.file("proguard-rules-no-obfuscate.pro"),
                        ),
                    )
                }

                named("release") {
                    isMinifyEnabled = true
                    isShrinkResources = true
                    proguardFiles.addAll(
                        listOf(
                            getDefaultProguardFile("proguard-android-optimize.txt"),
                            rootProject.file("proguard-rules.pro"),
                        ),
                    )
                }
            }
        }

Review comment (bug):
@geekygecko @MiSikora is this okay?

Builds on `main` use `Prototype` but builds on PRs use `DebugProd`. Firebase is configured with `au.com.shiftyjelly.pocketcasts`, so to avoid [upload rejections](https://buildkite.com/automattic/pocket-casts-android/builds/15248/steps/canvas?sid=019c1cc1-feab-4a21-87f6-d81de57a50c7#019c1cc1-ff19-4b44-a666-1e823c91c611/L2109) I thought we'd use the same package name for both.

If having different application ids for those build type is important, then we could use the same build type for all Firebase builds. In that case, please suggest which. Thanks!

Claude tells me:

```
  ┌────────────┬──────────────┬───────────────────────────────────────────────┐
  │ Build Type │ Minification │                    Purpose                    │
  ├────────────┼──────────────┼───────────────────────────────────────────────┤
  │ DebugProd  │ No           │ Fast builds, production servers               │
  ├────────────┼──────────────┼───────────────────────────────────────────────┤
  │ Prototype  │ Yes          │ Pre-release testing (catches proguard issues) │
  └────────────┴──────────────┴───────────────────────────────────────────────┘
```


Code after:

    plugins.withType<LibraryPlugin>().configureEach {
        configure<LibraryExtension> {
            buildTypes {
                named("release") {
                    isMinifyEnabled = false
                }
            }
        }
        dependencies {
            val lintChecks by configurations
            lintChecks(libs.security.lint)
            lintChecks(libs.wordpress.lint)
        }
    }

    plugins.withType<AppPlugin>().configureEach {
        configure<BaseAppModuleExtension> {
            lint(configureLint)

            buildTypes {
                named("debug") {
                    applicationIdSuffix = ".debug"
                }

                maybeCreate("debugProd").apply {
                    applicationIdSuffix = ".debug"
                }

                maybeCreate("prototype").apply {
                    isMinifyEnabled = true
                    isShrinkResources = true
                    proguardFiles.addAll(
                        listOf(
                            getDefaultProguardFile("proguard-android-optimize.txt"),
                            rootProject.file("proguard-rules.pro"),
                            rootProject.file("proguard-rules-no-obfuscate.pro"),
                        ),
                    )
                }

                named("release") {
                    isMinifyEnabled = true
                    isShrinkResources = true
                    proguardFiles.addAll(
                        listOf(
                            getDefaultProguardFile("proguard-android-optimize.txt"),
                            rootProject.file("proguard-rules.pro"),
                        ),
                    )
                }