Upstream manifest at vidplace7/org.meshtastic.desktop now references
desktopApp/ instead of the old desktop/ module path. Our overlay was
stale and failed with `sed: can't read desktop/build.gradle.kts: No
such file or directory` partway into the build phase.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
PR #5599's BuildOperationListener attached too late: build-logic's own
plugin resolutions (kotlin-dsl plugin marker, detekt, etc.) happen
before the root project applies meshtastic.flatpak-ops, so those URLs
never reached the manifest. Vid's flatpak-builder run then failed with
'Plugin [org.gradle.kotlin.kotlin-dsl:6.5.7] was not found' under
--offline Gradle.
Fix: move listener registration into a Gradle init script
(gradle/init-scripts/flatpak-ops.init.gradle.kts) passed via -I.
The init script fires before any project or plugin resolution, so
build-logic bootstrap downloads are captured. The flatpak-ops plugin
now reads the shared URL set from gradle.extensions; if the init
script isn't loaded, it falls back to a local listener and warns.
CI workflows + scripts/verify-flatpak/verify.sh updated to pass
-I gradle/init-scripts/flatpak-ops.init.gradle.kts.
Also expand verify.sh to optionally run a full flatpak-builder build
(not just --download-only), with macOS refusing full-build mode
because nested bwrap fails under Docker Desktop's seccomp. Adds
--download-only and --skip-regen flags.
Verified on macOS via --download-only: manifest grew to 2744 entries
and now contains org.gradle.kotlin.kotlin-dsl.gradle.plugin (the
artifact that broke vid's CI). Full-build verification pending on
Linux.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>