spotify / XCRemoteCache

Other
825 stars 50 forks source link

Ensure up-to-date meta json in the unzipped artifact #214

Closed polac24 closed 11 months ago

polac24 commented 1 year ago

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:

Before

The view of the unzipped artifact in the Intermediates directory

Screenshot 2023-06-12 at 7 32 27 PM

After

Screenshot 2023-06-12 at 7 34 22 PM