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.
44 lines
1.8 KiB
Plaintext
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
|