Skip to content

Fix build-blockers + add wrapper/icon/tests/CI (blocked on FFmpegKit dep)#1

Draft
Peterc3-dev wants to merge 1 commit into
mainfrom
wave4-android
Draft

Fix build-blockers + add wrapper/icon/tests/CI (blocked on FFmpegKit dep)#1
Peterc3-dev wants to merge 1 commit into
mainfrom
wave4-android

Conversation

@Peterc3-dev
Copy link
Copy Markdown
Owner

Summary

The repo was completely unbuildable. This PR fixes four real build-blockers and adds test + CI scaffolding:

  1. Missing Gradle wrapper — only gradle-wrapper.properties was committed; added gradlew, gradlew.bat, gradle-wrapper.jar (Gradle 8.9).
  2. Broken settings.gradle.kts — used dependencyResolution { } (not a real block) instead of dependencyResolutionManagement { }, so google()/mavenCentral() were unresolved.
  3. Missing launcher icon@mipmap/ic_launcher was referenced in the manifest but no icon existed; added an adaptive icon built from the existing music-note vector (minSdk 26 → mipmap-anydpi-v26 suffices).
  4. Invalid vector tintic_music_note used ?attr/colorControlNormal (AppCompat) in a Compose-only app.

Also adds JUnit tests for AudioConverter pure logic + a build/test/lint CI workflow.

⚠️ Why this is a DRAFT — remaining blocker

AudioConverter imports com.arthenica.ffmpegkit.{FFmpegKit,FFmpegKitConfig,FFprobeKit,ReturnCode} but no ffmpeg-kit dependency is declared and no binary is bundled (the // ffmpeg binary bundled in assets/ comment is inaccurate — there is no assets/). The upstream com.arthenica:ffmpeg-kit library was discontinued in 2025 and its artifacts removed, so the app cannot compile until a replacement is wired in.

Decision needed (yours): pick one —

  • wire in a maintained community fork of ffmpeg-kit,
  • vendor the needed binaries, or
  • replace the audio backend.

Once the audio dependency resolves, the added unit tests + CI should pass as-is. Local verification got resources linking + the build progressing through all four fixes above before hitting the FFmpegKit import wall.

🤖 Generated with Claude Code

The repo did not build at all. This fixes the mechanical blockers and adds
test/CI scaffolding. NOTE: it still won't fully compile until the FFmpegKit
dependency is resolved (see PR body) — kept as a draft for that reason.

- Add the missing Gradle wrapper (gradlew, gradlew.bat, gradle-wrapper.jar @ 8.9)
- Fix settings.gradle.kts: `dependencyResolution` -> `dependencyResolutionManagement`
  (invalid block name; google()/mavenCentral() were unresolved)
- Add an adaptive launcher icon (@mipmap/ic_launcher was referenced but missing),
  built from the existing music-note vector; minSdk 26 so anydpi-v26 suffices
- Drop the invalid `?attr/colorControlNormal` tint on ic_music_note (Compose-only
  app, AppCompat attr unavailable)
- Add JUnit unit tests for AudioConverter pure logic (extension parsing, supported
  formats, 432/440 ratio) + a build/test/lint CI workflow

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

1 participant