You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create the :android Gradle module as an Android Library. This module will host all Android-specific resolvers but begins empty — only the project scaffolding, build configuration, and an empty AndroidTypeResolverProvider.
Scope and constraints
Create android/build.gradle.kts applying com.android.library, org.jetbrains.kotlin.android, autoservice-ir, and com.vanniktech.maven.publish.
Add androidx.compose.ui:ui as implementation dependency.
Add AGP (com.android.library), Kotlin Android plugin (org.jetbrains.kotlin.android), and AndroidX Compose entries to gradle/libs.versions.toml.
Verify that the current Gradle Wrapper (9.5.1) is compatible with AGP 9.2.0; downgrade to 8.14 if not.
Create android/src/main/AndroidManifest.xml with minimal <manifest />.
Add the empty AndroidTypeResolverProvider in dev.appoutlet.some.android.provider returning emptyList().
Wire Maven Central publishing: artifactId = "some-android", same signing and POM metadata as :core (description should mention Android extension).
Shared build config (Detekt, gitHooks, Dokka) is already handled by ticket Set up Gradle version catalog #1; this ticket only adds Android-specific plugins and deps.
In scope: build files, version catalog, Gradle Wrapper compatibility check, empty provider class, publishing wiring.
Out of scope: any resolver implementation.
Acceptance criteria
./gradlew :android:build compiles successfully (may produce warnings about empty source set but must not fail)
./gradlew :android:test runs (no-op since no test sources yet, but task exists and succeeds)
:core classes are accessible from :android (e.g., TypeResolver, TypeResolverProvider resolve at compile time)
AndroidTypeResolverProvider exists with @AutoService(TypeResolverProvider::class) and compiles
androidx.compose.ui:ui resolves and is on the compile classpath
AndroidManifest.xml is present and valid
Maven publish configuration resolves artifactId = "some-android" for the :android module
Gradle Wrapper is at a version compatible with AGP 9.2.0 (8.14+)
Version catalog contains entries for agp, kotlin-android, and androidx-compose-ui
Description
Create the
:androidGradle module as an Android Library. This module will host all Android-specific resolvers but begins empty — only the project scaffolding, build configuration, and an emptyAndroidTypeResolverProvider.Scope and constraints
android/build.gradle.ktsapplyingcom.android.library,org.jetbrains.kotlin.android,autoservice-ir, andcom.vanniktech.maven.publish.android { compileSdk = 37; defaultConfig { minSdk = 21 } }andkotlin { jvmToolchain(17) }.:coreasapidependency.androidx.compose.ui:uiasimplementationdependency.com.android.library), Kotlin Android plugin (org.jetbrains.kotlin.android), and AndroidX Compose entries togradle/libs.versions.toml.android/src/main/AndroidManifest.xmlwith minimal<manifest />.AndroidTypeResolverProviderindev.appoutlet.some.android.providerreturningemptyList().artifactId = "some-android", same signing and POM metadata as:core(description should mention Android extension).References
Scope
In scope: build files, version catalog, Gradle Wrapper compatibility check, empty provider class, publishing wiring.
Out of scope: any resolver implementation.
Acceptance criteria
./gradlew :android:buildcompiles successfully (may produce warnings about empty source set but must not fail)./gradlew :android:testruns (no-op since no test sources yet, but task exists and succeeds):coreclasses are accessible from:android(e.g.,TypeResolver,TypeResolverProviderresolve at compile time)AndroidTypeResolverProviderexists with@AutoService(TypeResolverProvider::class)and compilesandroidx.compose.ui:uiresolves and is on the compile classpathAndroidManifest.xmlis present and validartifactId = "some-android"for the:androidmoduleagp,kotlin-android, andandroidx-compose-ui