Skip to content

Set up :android module with Android Library plugin and dependencies #75

Closed

Description

@MessiasLima

Description

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.
    • Configure android { compileSdk = 37; defaultConfig { minSdk = 21 } } and kotlin { jvmToolchain(17) }.
    • Add :core as api dependency.
    • 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.
  • 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: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

Activity

  1. added this to the next milestone on Jun 17, 2026
  2. moved this from Ready to In progress in Someon Jun 18, 2026
  3. google-labs-jules commented on Jun 18, 2026

    @google-labs-jules
    Contributor

    Jules is on it. When finished, you will see another comment and be able to review a PR.

  4. google-labs-jules commented on Jun 18, 2026

    @google-labs-jules
    Contributor

    I apologize, but I encountered an unexpected error and wasn't able to complete the task.

  5. moved this from In progress to Done in Someon Jun 22, 2026
  6. moved this from Done to In progress in Someon Jul 1, 2026
  7. moved this from In progress to Done in Someon Jul 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    julesJules lives

    Projects

    • Status
      Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions