-
-
Notifications
You must be signed in to change notification settings - Fork 524
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
Cache with xcframeworks flag #2635
Comments
I have created a draft PR here |
|
This is a problem also for OrderedCollections when imported through |
Describe the bug
I want to use
tuist cache warm --xcframeworks
for my project that uses grpc-swift. Unfortunately, the aforementioned command sets xcarg withBUILD_LIBRARY_FOR_DISTRIBUTION=true
but grpc-swift is not buildable with this setting and they have no plan to fix that in the near future. We also can not expect that all libraries will always be builadable with this setting.Of course, to create xcframework, one does need to have that setting enabled - for that you can use
@_implementationOnly import GRPC
which ensures that nothing from GRPC will be emitted in.swiftinterface
. But this is only the case when you specifyBUILD_LIBRARY_FOR_DISTRIBUTION=true
of the individual targets as injecting right inxcodebuild
means it builds even the package dependencies with that setting.To Reproduce
I have created a branch for this and modified workspace fixture here. To reproduce you can just check out that branch and in that fixture run
tuist cache warm --xcframeworks Core
Expected behavior
I am able to warm the cache with xcframeworks even if package dependencies are not buildable for distribution if I use
@_implementationOnly
importsDesktop (please complete the following information):
Additional context
There are two possible solutions that I can think of:
Cache.Profile
, so the CI can build for iOS SDK as welltuist test
and generated a new project only fortuist cache warm
. In this project we could enableBUILD_LIBRARY_FOR_DISTRIBUTION
without modifying the user's project in unexpected ways. I believe this might be the best approach, the only issue being that this approach still does not support CocoaPods.BUILD_LIBRARY_FOR_DISTRIBUTION
for the user's project generated withtuist cache warm
. While it changes the project a little bit, I think it should not be a real issue for most users. This might be the easiest option to implement with the least possible issues for current projects.I would gladly implement this once we agree on a solution.
@tuist/core 🙏
The text was updated successfully, but these errors were encountered: