2.5 KiB
2.5 KiB
TASK-001: Bootstrap the Android project
Status: complete Owner: Codex Reviewer: Claude
Outcome
Create an Android Studio project that builds a minimal UBGitea Compose application and establishes deterministic local checks.
Scope
- Included: Gradle wrapper, one Android application module, Compose theme, placeholder home screen, unit-test baseline, lint, CI-ready commands.
- Excluded: OAuth implementation, Gitea API calls, final branding assets.
Writable paths
- Root build and configuration files
app/.github/if CI is selected- Documentation updates needed to record chosen versions
Acceptance criteria
- Android Studio can import the project without manual source edits.
- Debug APK builds successfully.
- Unit tests and Android lint run successfully.
- The launcher displays
UBGiteaand a placeholder state. - No secret or client secret is present.
- Final application ID and minimum SDK are recorded in an ADR.
Required checks
./gradlew assembleDebug
./gradlew testDebugUnitTest
./gradlew lintDebug
Evidence
Recorded on 2026-08-25 using JDK 17 and Android SDK 36:
./gradlew assembleDebug— passed; generatedapp/build/outputs/apk/debug/app-debug.apk../gradlew testDebugUnitTest— passed; 1 test, 0 failures, 0 errors../gradlew lintDebug— passed; report generated atapp/build/reports/lint-results-debug.html.- APK metadata inspection — package
com.ubisam.ubgitea, minimum SDK 28, target SDK 36, application labelUBGitea, launchableMainActivity. - Sensitive-pattern repository scan excluding generated and Git metadata — no assigned secret, token, password, or private-key value found.
- Static formatting/check task — not configured for this bootstrap.
- Manual device launch — not performed because no emulator or device was available; packaged resources and APK metadata were inspected instead.
- Product decisions are recorded in
docs/decisions/001-android-application-baseline.mdand summarized indocs/product.md. - Independent read-only review — no P0-P3 findings; reviewer reran build, unit test, and lint together successfully.
- Residual review notes — no device/emulator launch was available; lint completed with 0 errors and 11 non-blocking warnings (dependency updates, final icon, and future data-extraction policy). Final branding is excluded from TASK-001, and backup/data-extraction policy must be revisited before authentication or local persistence is introduced.