Skip to content

fix(fdroid): clean source build (remove prebuilt JAR + foojay) + metadata canonicalize, v2.0.3 - #3

Merged
felipedbene merged 1 commit into
mainfrom
fdroid-build-fixes
Jun 29, 2026
Merged

fix(fdroid): clean source build (remove prebuilt JAR + foojay) + metadata canonicalize, v2.0.3#3
felipedbene merged 1 commit into
mainfrom
fdroid-build-fixes

Conversation

@felipedbene

Copy link
Copy Markdown
Owner

The fdroiddata MR (!41663) pipeline failed. Root causes and fixes:

F-Droid build scanner (the fdroid build failure)

ERROR: Found usual suspect 'org.gradle.toolchains.foojay-resolver' at settings.gradle.kts
ERROR: Found Java JAR file at PocketGopher.jar
  • Removed PocketGopher.jar — a prebuilt binary the scanner rejects. The original PocketGopher.java (source) and .jad (text) stay; README updated.
  • Removed the foojay-resolver-convention plugin from settings.gradle.kts — it downloads JDK toolchains at build time. No jvmToolchain/java.toolchain is declared, so it was inert; removing it has no effect on the build.

Metadata format (the fdroid rewritemeta + schema validation failures)

  • Canonicalised fdroid/dev.debene.gopher.yml to match fdroid rewritemeta (dropped leading comments, 2-space Description indent, unquoted versions).
  • AutoUpdateMode: Version v%vVersion (the v%v form is rejected by the current schema).

Version

Bumped to 2.0.3 / versionCode 3 so a new tag (v2.0.3) can carry these fixes; the fdroiddata recipe now targets it.

Verified locally

  • ./gradlew clean assembleRelease testDebugUnitTest — green, without foojay.
  • fdroid rewritemeta — produces no diff (file is canonical).
  • check-jsonschema against fdroiddata's schemas/metadata.jsonok.

After merge

Tag v2.0.3 on the merge commit and push it; then I'll update the fdroiddata MR's metadata to v2.0.3 and the pipeline will re-run.

🤖 Generated with Claude Code

F-Droid's scanner rejected the build with two 'usual suspects':
- the prebuilt PocketGopher.jar (removed; the .java/.jad reference files stay)
- the Gradle foojay-resolver-convention plugin in settings.gradle.kts, which
  fetches JDK toolchains at build time (removed — no toolchain is requested, so
  it was inert)

Also canonicalises fdroid/dev.debene.gopher.yml (rewritemeta format, no leading
comments, AutoUpdateMode: Version) and bumps to 2.0.3 / versionCode 3 for a new
tag containing these fixes. Verified: clean assembleRelease + unit tests pass,
fdroid rewritemeta produces no diff, and the metadata passes schema validation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@felipedbene
felipedbene merged commit 946f671 into main Jun 29, 2026
2 checks passed
@felipedbene
felipedbene deleted the fdroid-build-fixes branch June 29, 2026 13:40
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