Skip to content

[6.2] rdar://154310191 Enable compilation caching for Swift packages #618

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

jansvoboda11
Copy link
Contributor

This PR enables compilation caching for Swift package targets whenever normal targets have it enabled.

I originally wanted to hook into the SuperimposedProperties machinery and propagate it from normal targets similar to the setting for mergeable libraries. However, some aspects of TargetDependencyResolver made that very hard:

  • treating package targets differently from normal targets (see DiscoveredTargetInfo.immediateDependencies and DiscoveredTargetInfo.packageProductDependencies),
  • not propagating superimposed properties transitively,
  • only visiting nodes in the build graph once (even when the specializations differ).

@jansvoboda11 jansvoboda11 force-pushed the jan_svoboda/swift-package-compilation-caching-release-6.2 branch from f7b7188 to 8a0d8a2 Compare June 27, 2025 17:05
@jansvoboda11 jansvoboda11 changed the title [6.2] rdar://154310191 Enable compilation caching for Swift packages #613 [6.2] rdar://154310191 Enable compilation caching for Swift packages Jun 27, 2025
@jansvoboda11 jansvoboda11 changed the base branch from main to release/6.2 June 27, 2025 17:06
@owenv
Copy link
Collaborator

owenv commented Jun 29, 2025

@swift-ci test

@jansvoboda11 jansvoboda11 merged commit dcdd322 into release/6.2 Jun 30, 2025
24 checks passed
@jansvoboda11 jansvoboda11 deleted the jan_svoboda/swift-package-compilation-caching-release-6.2 branch June 30, 2025 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants