Up until now, the meta artifact that is was used in all steps (except prebuild) was taken from the artifact's zip. That works, but if a json meta schema changed, we had to invalidate our existing artifacts because the expected json format in postbuild was invalid.
This PR introduces an extra step that after downloading (or reusing already downloaded) artifact, overrides the meta's json to the one that is up to date. By the way, it will remapp all generic paths (like (TARGET_TEMP_DIR)/some.path -> /Actual/Path/To/TargetTempDir/some.path) so other steps don't need to repeat this step.
The main benefit of that are:
We will be able to migrate meta json schema without invalidating all existing artifacts
xcpostbuild, xcswfitc (and other) wrappers don't have to rewrite paths in the meta
Before
The view of the unzipped artifact in the Intermediates directory
This is a prework for Xcode 15 support
Up until now, the meta artifact that is was used in all steps (except prebuild) was taken from the artifact's zip. That works, but if a json meta schema changed, we had to invalidate our existing artifacts because the expected json format in postbuild was invalid.
This PR introduces an extra step that after downloading (or reusing already downloaded) artifact, overrides the meta's json to the one that is up to date. By the way, it will remapp all generic paths (like
(TARGET_TEMP_DIR)/some.path
->/Actual/Path/To/TargetTempDir/some.path
) so other steps don't need to repeat this step.The main benefit of that are:
xcpostbuild
,xcswfitc
(and other) wrappers don't have to rewrite paths in the metaBefore
The view of the unzipped artifact in the
Intermediates
directoryAfter