Skip to content

[LLM] build: migrate to AboutLibraries and upgrade build toolchain - #167

Merged
menny merged 2 commits into
mainfrom
fix/issue-166-aboutlibraries
Sep 6, 2026
Merged

menny merged 2 commits into
mainfrom
fix/issue-166-aboutlibraries

Conversation

@menny

@menny menny commented Sep 6, 2026

Copy link
Copy Markdown
Member

Summary

Fixes #166 and resolves build/dependency incompatibilities from #154.

Problem

  1. F-Droid Build Failure (F-Droid can't build #166): com.google.android.gms:play-services-oss-licenses uses a proprietary Google SDK license, causing F-Droid's build scanners to reject the application.
  2. Build Toolchain Incompatibilities (Update App dependencies #154): Updating Hilt to 2.60.1 required AGP 9.0+, which in turn required Gradle 9.6+, built-in Kotlin plugin migration, and managed device DSL adjustments.

Solution

  • FLOSS License Collection: Replaced Google OSS Licenses plugin and runtime with AboutLibraries (com.mikepenz.aboutlibraries.plugin.android:15.2.0 and aboutlibraries-compose-m3:15.2.0), which is 100% Apache-2.0 FLOSS across all flavors.
  • UI Simplification: Replaced manual raw-resource parsing in AboutScreen.kt with AboutLibraries' native Compose Material 3 LibrariesContainer.
  • Toolchain Upgrades:
    • Android Gradle Plugin upgraded from 8.13.2 to 9.4.0
    • Gradle wrapper upgraded from 9.3.1 to 9.7.1
    • KSP upgraded to 2.3.11, Compose BOM to 2026.08.00, Dropshots to 0.6.0
    • Migrated managedDevices DSL to localDevices and removed obsolete standalone Kotlin plugin applications
  • Tests & Verification: Added AboutScreenTest and stabilized Turbine test timeouts in HistoryViewModelTest.

Closes #166

F-Droid build was failing (#166) because com.google.android.gms:play-services-oss-licenses uses a proprietary Google SDK license (non-FLOSS). Replaced Google OSS licenses plugin and runtime dependencies across all flavors with Mike Penz's AboutLibraries, which is 100% Apache-2.0 FLOSS.

What:
- Add com.mikepenz.aboutlibraries.plugin.android (15.2.0) and aboutlibraries-compose-m3
- Remove com.google.android.gms:oss-licenses-plugin and play-services-oss-licenses
- Replace manual binary license parsing in AboutScreen.kt with AboutLibraries LibrariesContainer
- Add keep.xml to preserve aboutlibraries resource under AGP 9 resource shrinking
- Add AboutScreenTest with Robolectric unit tests for the About screen and licenses view
- Stabilize HistoryViewModelTest Turbine timeouts and test initialization

Why:
- Resolves non-FLOSS dependency blocker for F-Droid builds
- Provides richer license attribution with native Compose Material 3 UI

Fixes #166

gemini-3.8-flash
@anysoftkeyboard-bot

anysoftkeyboard-bot commented Sep 6, 2026 •

Copy link
Copy Markdown
Member

This PR is a solid and clean migration from Google's play-services-oss-licenses to AboutLibraries. Replacing the proprietary Google plugin with a 100% FLOSS solution resolves F-Droid build scanner issues (#166). The UI simplifies nicely using LibrariesContainer, keep.xml guarantees resource preservation under R8 shrinking, and the test improvements in HistoryViewModelTest and AboutScreenTest enhance build stability and coverage. Great work!

@anysoftkeyboard-bot anysoftkeyboard-bot left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replacing play-services-oss-licenses with AboutLibraries resolves F-Droid build Scanner issues, simplifies license parsing in AboutScreen, and stabilizes unit test execution timing in HistoryViewModelTest.

@menny
menny merged commit 2b8f07c into main Sep 6, 2026
1 of 2 checks passed
@menny
menny deleted the fix/issue-166-aboutlibraries branch September 6, 2026 16:24

@anysoftkeyboard-bot anysoftkeyboard-bot left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Solid and clean migration from Google's play-services-oss-licenses to AboutLibraries, resolving F-Droid build scanner issues, simplifying UI, and improving test stability.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

F-Droid can't build

2 participants