diff --git a/.github/workflows/android-app.yml b/.github/workflows/android-app.yml index 9e55582..0c9c286 100644 --- a/.github/workflows/android-app.yml +++ b/.github/workflows/android-app.yml @@ -1,6 +1,6 @@ name: Android app -# Reusable build/release pipeline for every personal-OS Android app. An app's own workflow +# Reusable build/release pipeline for every consuming Android app. An app's own workflow # is a handful of lines that calls this one, so the version logic, signing and release steps # exist once rather than in four slightly-diverged copies. # @@ -8,8 +8,8 @@ name: Android app # android: # uses: mountEvarus/android-config/.github/workflows/android-app.yml@main # with: -# app-name: finance -# release-title: Finance (Android) +# app-name: foo +# release-title: Foo (Android) # secrets: inherit on: @@ -215,7 +215,7 @@ jobs: # One release per version, tagged android-v. `gh release create` creates the # tag, so there is no separate tagging step. A predictable "latest" release and a fixed - # asset name are the contract the self-hosted F-Droid repo downloads against. + # asset name are the contract the downstream package index builds against. - name: Publish signed APK to a versioned release env: GH_TOKEN: ${{ github.token }} diff --git a/README.md b/README.md index 9628f45..c22bba2 100644 --- a/README.md +++ b/README.md @@ -144,10 +144,10 @@ building or releasing. ## Submodules -The workflow initialises **only** `packages/android-config`, not every submodule. A repo like -finance also carries private `js-config` and `go-config` submodules, and `submodules: recursive` -would fail trying to clone them with the default token. The Android build never reads them, so -it does not ask for them, and no PAT is needed anywhere in this pipeline. +The workflow initialises **only** `packages/android-config`, not every submodule. A consuming +repo may also carry private submodules for its other surfaces, and `submodules: recursive` would +fail trying to clone those with the default token. The Android build never reads them, so it does +not ask for them, and no PAT is needed anywhere in this pipeline. ## Environment config diff --git a/build-logic/src/main/kotlin/dev/evanhynes/convention/AndroidAppConventionPlugin.kt b/build-logic/src/main/kotlin/dev/evanhynes/convention/AndroidAppConventionPlugin.kt index d85b203..3d19f78 100644 --- a/build-logic/src/main/kotlin/dev/evanhynes/convention/AndroidAppConventionPlugin.kt +++ b/build-logic/src/main/kotlin/dev/evanhynes/convention/AndroidAppConventionPlugin.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension /** - * Everything identical across the personal-OS Android apps. An app applies this instead of + * Everything identical across the consuming Android apps. An app applies this instead of * the android/kotlin/compose plugin stack, so its build file carries dependencies and * genuinely app-specific config, and nothing else. */ @@ -77,10 +77,10 @@ class AndroidAppConventionPlugin : Plugin { lint { // Real lint errors fail the build. Warnings are reported but do not, which is - // deliberate: promoting them turned six cosmetic findings in film-roll (an - // inlined int constant, two forward-compatible widget attributes, three - // resource nits) into a red build. A gate that fires on themed-icon advice is - // one that gets switched off entirely. + // deliberate: promoting them turned a handful of cosmetic findings (an inlined + // int constant, forward-compatible widget attributes, resource nits) into a red + // build. A gate that fires on themed-icon advice is one that gets switched off + // entirely. abortOnError = true warningsAsErrors = false // Dependency freshness is Renovate's job. Failing on it would make every app diff --git a/build-logic/src/main/kotlin/dev/evanhynes/convention/AppName.kt b/build-logic/src/main/kotlin/dev/evanhynes/convention/AppName.kt index bd1cfc1..2b0f2c8 100644 --- a/build-logic/src/main/kotlin/dev/evanhynes/convention/AppName.kt +++ b/build-logic/src/main/kotlin/dev/evanhynes/convention/AppName.kt @@ -32,8 +32,8 @@ object AppName { require(name.matches(Regex("[a-z][a-z0-9]*"))) { "$PROPERTY is '$name'. It becomes a package segment, so it must be lowercase " + - "letters and digits only, starting with a letter. 'film-roll' would be invalid; " + - "'filmroll' is what that app uses." + "letters and digits only, starting with a letter. 'long-name' would be " + + "invalid; 'longname' is the form to use." } return name } diff --git a/libs.versions.toml b/libs.versions.toml index 0be35d4..1fba6f1 100644 --- a/libs.versions.toml +++ b/libs.versions.toml @@ -1,4 +1,4 @@ -# Shared version catalog for every personal-OS Android app. +# Shared version catalog for every Android app that consumes this repo. # # This is the single source of truth. Apps consume it through the android-config # submodule and declare no versions of their own. Renovate updates it here once and @@ -42,8 +42,8 @@ glance = "1.1.1" camerax = "1.5.0" mlkit-barcode = "17.3.0" -# Runtime dependency of health's vendored Samsung Health Data SDK AAR, which references -# com.google.gson internally and declares no transitive dependencies of its own. +# Runtime dependency of a vendored AAR that references com.google.gson internally and +# declares no transitive dependencies of its own. gson = "2.14.0" health-connect = "1.1.0-rc02" maps-compose = "6.4.1"