diff --git a/.gitea/workflows/android.yml b/.gitea/workflows/android.yml index e65370b..477a450 100644 --- a/.gitea/workflows/android.yml +++ b/.gitea/workflows/android.yml @@ -562,6 +562,25 @@ jobs: replacement, ) + # Upstream bridge.yml may call the codegen binary through + # ~/.cargo/bin/... . Our builder intentionally uses a custom + # CARGO_HOME (for example /opt/rust/cargo), so a hard-coded HOME + # cargo path is not portable. The selected tool version has already + # been installed above; resolve it through PATH instead. + cargo_bin_patterns = ( + r"~/.cargo/bin/flutter_rust_bridge_codegen", + r"\$HOME/.cargo/bin/flutter_rust_bridge_codegen", + r"\$\{HOME\}/.cargo/bin/flutter_rust_bridge_codegen", + r"/root/.cargo/bin/flutter_rust_bridge_codegen", + ) + + for pattern in cargo_bin_patterns: + generate = re.sub( + pattern, + "flutter_rust_bridge_codegen", + generate, + ) + if re.search(r"\$\{\{", prepare + generate): raise SystemExit( "Unsupported upstream expression remains " @@ -590,6 +609,16 @@ jobs: bash -n bridge-prepare.sh bash -n bridge-generate.sh + echo + echo "Bridge codegen binary:" + command -v flutter_rust_bridge_codegen + flutter_rust_bridge_codegen --version + + echo + echo "Generated bridge command:" + grep -n "flutter_rust_bridge_codegen" \ + bridge-generate.sh + ./bridge-prepare.sh ./bridge-generate.sh