Skip to content

fix: add native submodule onboarding preflight#68

Merged
papi-ux merged 1 commit into
masterfrom
fix/native-submodule-onboarding
May 29, 2026
Merged

fix: add native submodule onboarding preflight#68
papi-ux merged 1 commit into
masterfrom
fix/native-submodule-onboarding

Conversation

@papi-ux
Copy link
Copy Markdown
Owner

@papi-ux papi-ux commented May 29, 2026

Summary

  • add a Gradle preflight task that fails early when moonlight-common-c submodule files are missing
  • wire that preflight before AGP external native build tasks so missing sources do not cascade into opaque ndk-build errors
  • document clone/submodule recovery, pinned NDK version, and keep prebuilt native artifacts/AAR packaging as a separate release-engineering decision
  • add a Python regression/source test and wire it into the helper/onboarding CI step

Closes #57

Validation

  • python3 -m unittest tools.test_native_submodule_preflight — pass on MacPapi
  • python3 -m unittest tools.test_nova_retroid_smoke tools.test_native_submodule_preflight — pass on MacPapi
  • pc-papi clean worktree smoke before submodule init: ./gradlew :app:verifyMoonlightCommonCSubmodule --stacktrace fails with the new actionable submodule message
  • pc-papi after git submodule update --init --recursive: ./gradlew :app:verifyMoonlightCommonCSubmodule --stacktrace — pass
  • pc-papi: ./gradlew -PnovaAbis=x86_64 -PlintFailOnError=true lintNonRoot_gameDebug testNonRoot_gameDebugUnitTest --stacktrace — pass
  • pc-papi: ./gradlew -PnovaAbis=x86_64 :app:assembleNonRoot_gameDebug --stacktrace — pass

Caveats

  • MacPapi local Gradle remains blocked by missing Android SDK/local.properties, so Android Gradle verification ran on pc-papi.
  • pc-papi ARM64 debug assemble currently hits an NDK 27 clang frontend crash in moonlight-common-c/src/Misc.c; x86_64 assemble and the submodule preflight pass, so this PR does not hide that separate native toolchain issue.

@papi-ux papi-ux merged commit 2c8eb0e into master May 29, 2026
6 checks passed
@papi-ux papi-ux deleted the fix/native-submodule-onboarding branch May 29, 2026 02:28
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.

Improve native submodule onboarding for moonlight-common-c builds

1 participant