Files
web-terminal/android/settings.gradle.kts
Yaojia Wang 4fe1981997 chore(android): install Android SDK + wire AGP 9.2.1 (toolchain proven)
Android SDK installed on this machine (cmdline-tools via brew;
platform-tools + platforms;android-35 + build-tools;35.0.0), local.properties
points Gradle at it (gitignored). Wired AGP 9.2.1 into the version catalog +
google() repos; proved the full chain by building a throwaway android-library
module against SDK 35 (AAR produced), then removed the probe.

Groundwork for AW2+: AGP plugins in the catalog, google() in settings, and the
working recipe in README (incl. the AGP-9-has-built-in-Kotlin gotcha — Android
modules apply ONLY the android plugin, never kotlin.android). Pure JVM modules
still green (218 tests). Framework module stubs stay gated until implemented.
2026-07-08 17:37:54 +02:00

44 lines
1.8 KiB
Plaintext

pluginManagement {
repositories {
google()
gradlePluginPortal()
mavenCentral()
// google() (above) serves AGP for the Android-framework modules.
// It requires the Android Gradle Plugin / SDK, absent in this env.
}
}
@Suppress("UnstableApiUsage")
dependencyResolutionManagement {
// Modules must not declare their own repositories.
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
// The version catalog at gradle/libs.versions.toml is auto-registered as `libs`.
}
rootProject.name = "webterm-android"
// ── Pure Kotlin/JVM modules (JVM-unit-testable; the 80% Kover targets) ──────────
// These build with the JVM toolchain only — NO Android SDK required.
include(":wire-protocol")
include(":session-core")
include(":api-client")
include(":client-tls")
include(":test-support")
// ── Android-framework modules ───────────────────────────────────────────────────
// The Android SDK IS now installed (see android/README.md → "Android SDK setup"),
// and AGP 9.2.1 is proven to build against SDK 35 with Gradle 9.6.1. These stay
// commented out only because their build.gradle.kts are still empty SCAFFOLD STUBS
// — enable each as its real module is implemented (plan AW2+).
// Recipe: apply `alias(libs.plugins.android.library)` ONLY (AGP 9 has built-in
// Kotlin — do NOT add kotlin.android); android { namespace; compileSdk = 35;
// defaultConfig { minSdk = 29 } }.
// include(":app") // AW4 — uses libs.plugins.android.application
// include(":terminal-view") // AW3
// include(":host-registry") // AW1/AW2 storage half
// include(":client-tls-android") // AW1 framework half