Skip to content

Conversation

@polac24
Copy link
Collaborator

@polac24 polac24 commented Jun 14, 2023

Adds support for Xcode15, which introduces an extra precompilation step (actool headers generation).

This PR consists of:

  • Producer: As the list of dependencies, collect all directory dependencies from the actool .dep file (that file is called assetcatalog_dependencies and placed always in the TargetTempDir. Then scan those dirs to find Contents.json. Contents.json are files that describe the .xcassets' generated output
  • Consumer: when an "unknown" file GeneratedAssetSymbols.swift is found as the compilation input file - do not give up the cache hit flow. That file has been created on-fly (in-between prebuild and swiftc) but its content has to match the producer side, because in the prebuild we have already compared all Contents.json files that drive the the output of the actool's generated files

How was it tested?

E2E tests, run locally with Xcode15 beta 1 (CI will support Xcode 15 beta starting 19th of June).

Fixes #211

@polac24 polac24 force-pushed the xcode-15-lightweight-support branch from de0c276 to 53e7ddd Compare June 14, 2023 04:57
@polac24 polac24 marked this pull request as ready for review June 14, 2023 05:18
@polac24 polac24 merged commit afb1f9e into spotify:master Jun 14, 2023
@polac24 polac24 deleted the xcode-15-lightweight-support branch June 14, 2023 06:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Xcode 15] GeneratedAssetSymbols in a framework or application target cause cache miss

2 participants