You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
dist-apple: the iOS row takes the single-binary path without a staged tree, and resolves its icon directory
The floor check at the end of submit() unconditionally measured pack_stage_dir(), even when the layout step had already taken the single-binary (${mcpp.target_file:<target>}) path because pack_stage_dir() was empty -- the shape a host that cannot walk an iOS Mach-O's closure hands this member. Measuring an empty path produced 'the staged tree at holds only 0 bytes', a warning about a tree that was never asked for. The check now runs only when p.appdir is non-empty.
options::icon named a project-relative path, but the actions that read it (ditto in the layout and icon steps) run with the build directory as their cwd, not the manifest directory -- so a relative icon directory or file validated at plan time and then failed inside the graph ('ditto: Cannot get the real path for source'). options::icon is now resolved against mcpp::manifest_dir() once, before validation, on both the iOS directory case and the macOS .icns case; a directory that still does not exist or holds no *.png is refused at plan time, naming options::icon and the resolved path.
tests/ios-app-consumer/ios-icons/AppIcon60x60@2x.png is now a real 1x1 PNG (written with Python's zlib/struct) rather than placeholder text, so the icon path is exercised for real. check-ios-plan.sh gains three assertions: a non-empty fabricated stage names ${mcpp.stage_dir} with no staged-tree warning, an empty MCPP_PACK_STAGE_DIR takes the ${mcpp.target_file:...} path with no staged-tree warning, and a manifest directory with no ios-icons/ is refused at plan time naming options::icon and the resolved path.
grep -q 'options::icon'"$log"|| fail "the missing-icon refusal did not name options::icon""$log"
110
+
grep -qF "$badmanifest/ios-icons""$log" \
111
+
|| fail "the missing-icon refusal did not resolve options::icon against MCPP_MANIFEST_DIR""$log"
112
+
grep -q 'mcpp.dist.apple.layout'"$log" \
113
+
&& fail "a layout step was planned even though the icon directory was refused""$log"
114
+
echo"ok: a relative options::icon resolves against MCPP_MANIFEST_DIR, and a missing directory is refused at plan time, naming options::icon and the path"
0 commit comments