OverviewFilesCommitsIssuesDocsReleasesPeers

favela-android commits / f5f17c0

ci: generate codegen for every autolinked library, not one named one
The assemble step pre-generates codegen artifacts because a new-architecture library's codegen dir is a CMake configure input living in that library's own build dir, absent from a clean checkout. It named :react-native-bare-kit: alone, so the day a SECOND such library arrived the build died in ninja: `add_subdirectory given source .../react-native-webview/.../codegen/jni/` then `Cannot specify link libraries for target react_codegen_RNCWebViewSpec`. That is the same failure mode the deps step above was already fixed for — a hand-maintained list of what the code happens to contain, going stale as the code moves. Autolinking already knows which libraries exist, so ask it: the unqualified task runs in every subproject that has one. Verified locally — codegen ran for bare-kit AND webview, then assembleRelease succeeded. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
f5f17c0b5ed6963361124237e30ccd27a9c4bcce
by plankatron <fleeky@gmail.com> · 2026-08-11T21:46:44.000Z

Changed files (1) +11 -5

.pear-git/ci.yaml +11 -5
……@@ -88,11 +88,17 @@ steps:
8888 export JAVA_HOME=/home/fleeky/android-toolchain/jdk-17.0.13+11
8989 export ANDROID_HOME=/home/fleeky/android-toolchain/sdk
9090 export PATH=/home/fleeky/.nvm/versions/node/v24.13.0/bin:$PATH
91 # bare-kit's codegen dir is an input to CMake configure, and it lives in the LIBRARY's build
92 # dir — a clean checkout has not generated it yet, so configure fails with
93 # `add_subdirectory given source .../codegen/jni/ which is not an existing directory`.
94 /home/fleeky/android-toolchain/gradle-8.13/bin/gradle -p android \
95 :react-native-bare-kit:generateCodegenArtifactsFromSchema
91 # Every new-architecture library's codegen dir is an input to CMake configure, and it lives in
92 # THAT LIBRARY's build dir — a clean checkout has not generated it yet, so configure fails with
93 # `add_subdirectory given source .../codegen/jni/ which is not an existing directory`, followed by
94 # `Cannot specify link libraries for target react_codegen_<Name>Spec`.
95 #
96 # ⛔ UNQUALIFIED, so it runs in EVERY subproject that has the task. This named
97 # `:react-native-bare-kit:` alone — the same going-stale-as-the-code-moves list the deps step above
98 # was already fixed for — and it broke in exactly that way the day a SECOND such library arrived:
99 # react-native-webview was added on 2026-08-11 for the WebView UI and assemble died in ninja.
100 # Autolinking already knows which libraries exist; ask it rather than maintaining a copy.
101 /home/fleeky/android-toolchain/gradle-8.13/bin/gradle -p android generateCodegenArtifactsFromSchema
96102 /home/fleeky/android-toolchain/gradle-8.13/bin/gradle -p android assembleRelease
97103 # The artifact path IS the public URL and the filename is what the user's browser saves, so
98104 # publish it under a name a person can recognise rather than the gradle output path.