Skip to content

Atualizando para Gradle 9.0#87

Merged
gabrielbmoro merged 10 commits intomasterfrom
gmoro/update-gradle-v
May 5, 2026
Merged

Atualizando para Gradle 9.0#87
gabrielbmoro merged 10 commits intomasterfrom
gmoro/update-gradle-v

Conversation

@gabrielbmoro
Copy link
Copy Markdown
Collaborator

@gabrielbmoro gabrielbmoro commented May 4, 2026

Descrição

Atualizando para Gradle 9.0

Migração para Android App dedicado

Principais mudanças

  • Separação do módulo Android: O composeApp deixou de ser um aplicativo Android e agora é uma biblioteca KMP. Um novo módulo :androidApp foi criado como ponto de entrada Android, com seu próprio AndroidManifest.xml, google-services.json, build.gradle.kts, CustomApplication e MainActivity.

  • Atualização de dependências: Kotlin 2.3.102.3.20, AGP 8.9.19.1.0, Gradle 8.11.19.3.1.

  • Remoção do Kotzilla: Plugin, kotzilla.json, chave de API, script de upload de dSYM no Xcode e chamadas monitoring() foram removidos. -> o setup será realizado novamente em Kotzilla Setup - Gradle 9 #88

  • Build Logic simplificado: O arquivo com.streamplayer.application.gradle.kts foi deletado (não é mais necessário). O com.streamplayer.kmp-library.gradle.kts foi refatorado para usar com.android.kotlin.multiplatform.library em vez de com.android.library, com namespace e compileSdk definidos inline.

  • DI refatorada: AppModule (objeto com lista de módulos) foi substituído pela função streamPlayerApplication que chama startKoin, permitindo que os pontos de entrada (Android e iOS) configurem o Koin de forma consistente.

  • CI atualizado: Build renomeado de composeApp para androidApp.

  • Xcode: DEVELOPMENT_TEAM agora usa variável ${TEAM_ID}, esquema alterado de Release para Debug, e Kotzilla Dsym build phase removido.

  • Kotzilla setup será novamente realizado na issue -> Kotzilla Setup - Gradle 9 #88

Screenshots

Gravacao.de.Tela.2026-05-04.as.18.38.38.mp4

Checklist

  • Os testes foram executados e passaram com sucesso.
  • As alterações de código seguem as diretrizes de estilo do projeto.
  • Foram adicionados testes, se aplicável.
  • Se inscreveu no canal?😛

- Update Gradle wrapper to 8.13 in `gradle-wrapper.properties`.
- Update `android_gradle_plugin` to 8.13.2 in `libs.versions.toml`.
… a dedicated module

- Create new `:androidApp` module to serve as the main Android entry point.
- Convert `:composeApp` from an application module to a KMP library.
- Move `MainActivity`, `CustomApplication`, and Android-specific configuration files (Manifest, Firebase, Kotzilla) from `:composeApp` to `:androidApp`.
- Update `CommonExtensions` visibility to `public` to support the new module configuration.
- Pin `kotlin_android` version to `2.2.20` in the version catalog.
- Update `:composeApp` dependency declarations to use `api` for core shared modules.
- Introduce `streamPlayerApplication` in `AppModule.kt` to centralize shared dependency injection setup.
- Update `CustomApplication` (Android) and `KoinIosHelper` (iOS) to use the new centralized Koin initialization helper.
- Migrate Kotzilla plugin and configuration from `androidApp` to `composeApp` build logic.
- Update `kotzilla.json` to support flavor-specific configurations for debug and release.
- Remove unused `com.streamplayer.application.gradle.kts` build logic script.
- Add `composeApp/kotzilla.json` containing the SDK version, application ID, and API keys for the project.
- Delete `androidApp/kotzilla.json` containing SDK key configurations.
- Upgrade Gradle wrapper to 9.3.1.
- Upgrade Kotlin to 2.3.20 and Android Gradle Plugin to 9.1.0.
- Transition `com.streamplayer.kmp-library` logic to use `com.android.kotlin.multiplatform.library`.
- Remove `CommonExtensions.kt` and inline Android configuration (namespace, SDK versions, compile options) directly into build scripts.
- Relocate Kotzilla configuration and `kotzilla.json` from `composeApp` to `androidApp`.
- Remove Kotzilla monitoring initialization from `CustomApplication` and `KoinIosHelper`.
- Remove the unused `org.jetbrains.kotlin.android` plugin from the project.
- Fix whitespace/newline at the end of the file.
@gabrielbmoro gabrielbmoro requested a review from a team as a code owner May 4, 2026 21:20
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 4, 2026

🦙 MegaLinter status: ✅ SUCCESS

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ KOTLIN detekt yes no no 4.54s
✅ MARKDOWN markdownlint 6 0 0 0.73s
✅ YAML prettier 6 0 0 0.72s

See detailed report in MegaLinter reports

MegaLinter is graciously provided by OX Security

- Change the default launch build configuration from Release to Debug in the Xcode scheme.
- Enable the "Current Location" scenario for the launch action.
- Replace the hardcoded `DEVELOPMENT_TEAM` ID with the `${TEAM_ID}` variable in `project.pbxproj`.
- Update build step name and Gradle command to reference `:androidApp:assembleDebug` instead of `:composeApp:assembleDebug`.

- name: Build Android (composeApp)
run: ./gradlew :composeApp:assembleDebug
- name: Build Android (androidApp)
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

composeApp agora é um modulo library como outro qualquer

plugins {
id("org.jetbrains.kotlin.multiplatform")
id("com.android.library")
id("com.android.kotlin.multiplatform.library")
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

com.android.library não funciona mais, agora precisamos usar com.android.kotlin.multiplatform.library

Comment thread composeApp/kotzilla.json
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kotzilla voltará aqui #88

@gabrielbmoro gabrielbmoro merged commit 1a233e6 into master May 5, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants