54 lines
2.5 KiB
Markdown
54 lines
2.5 KiB
Markdown
# 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
|
|
|
|
- [x] Android Studio can import the project without manual source edits.
|
|
- [x] Debug APK builds successfully.
|
|
- [x] Unit tests and Android lint run successfully.
|
|
- [x] The launcher displays `UBGitea` and a placeholder state.
|
|
- [x] No secret or client secret is present.
|
|
- [x] Final application ID and minimum SDK are recorded in an ADR.
|
|
|
|
## Required checks
|
|
|
|
```text
|
|
./gradlew assembleDebug
|
|
./gradlew testDebugUnitTest
|
|
./gradlew lintDebug
|
|
```
|
|
|
|
## Evidence
|
|
|
|
Recorded on 2026-08-25 using JDK 17 and Android SDK 36:
|
|
|
|
- `./gradlew assembleDebug` — passed; generated `app/build/outputs/apk/debug/app-debug.apk`.
|
|
- `./gradlew testDebugUnitTest` — passed; 1 test, 0 failures, 0 errors.
|
|
- `./gradlew lintDebug` — passed; report generated at `app/build/reports/lint-results-debug.html`.
|
|
- APK metadata inspection — package `com.ubisam.ubgitea`, minimum SDK 28, target SDK 36, application label `UBGitea`, launchable `MainActivity`.
|
|
- 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.md` and summarized in `docs/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.
|