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
Add cached artifacts into a new group called /Cache
#6057
Conversation
Working on this made me think,
|
Adding a new group called Cache that contains the cached artifacts instead of adding them into the Framework group
a229dd6
to
dd86e1f
Compare
@fortmarek Sorry for the ping, but is this good to go? or am I missing something? |
Let me test it integrated into the Tuist Cloud code and if it works, we can merge it. |
@all-contributors add @mustiikhalil for code |
@mustiikhalil already contributed before to code |
@mustiikhalil I made you collaborator of the repo so that you no longer need to work from forks, which is annoying for everyone. |
@pepicrft thanks! that would be helpful in the future |
Partially resolves: #6141 - #6057 introduced a `Cache` group to help distinguish cached artifacts from system libraries - This didn't account for cases where the cache or cloud features aren't in use thus causing an additional `Cache` group to appear in all generated projects - As a short term mitation we can filter out empty "auxilary" groups at the end of the project generation steps - This includes groups Xcode doesn't have by default including the `Frameworks` group which it only adds if a system library dependency is added Notes: - The `Product` group isn't treated as an `auxilary` group as Xcode always has this group in the generated `pbxproj`, the UI however hides it when empty - A longer term solution would be extend the project/target API to allow the cache mapper to add groups instead of `TuistGenerator` having awareness about the cache feature Test Plan: - Generate the fixture `ios_app_with_tests` - Verify the `Frameworks` and `Cache` groups are no longer present - Generate the fixture `ios_app_with_sdk` - Verify the `Frameworks` group is still present (as there are system library dependencies) - Verify the `Cache` group is no longer present
Partially resolves: #6141 - #6057 introduced a `Cache` group to help distinguish cached artifacts from system libraries - This didn't account for cases where the cache or cloud features aren't in use thus causing an additional `Cache` group to appear in all generated projects - As a short term mitation we can filter out empty "auxiliary" groups at the end of the project generation steps - This includes groups Xcode doesn't have by default including the `Frameworks` group which it only adds if a system library dependency is added Notes: - The `Product` group isn't treated as an auxiliary group as Xcode always has this group in the generated `pbxproj`, the UI however hides it when empty - A longer term solution would be extend the project/target API to allow the cache mapper to add groups instead of `TuistGenerator` having awareness about the cache feature Test Plan: - Generate the fixture `ios_app_with_tests` - Verify the `Frameworks` and `Cache` groups are no longer present - Generate the fixture `ios_app_with_sdk` - Verify the `Frameworks` group is still present (as there are system library dependencies) - Verify the `Cache` group is no longer present
Partially resolves: #6141 - #6057 introduced a `Cache` group to help distinguish cached artifacts from system libraries - This didn't account for cases where the cache or cloud features aren't in use thus causing an additional `Cache` group to appear in all generated projects - As a short term mitation we can filter out empty "auxiliary" groups at the end of the project generation steps - This includes groups Xcode doesn't have by default including the `Frameworks` group which it only adds if a system library dependency is added Notes: - The `Product` group isn't treated as an auxiliary group as Xcode always has this group in the generated `pbxproj`, the UI however hides it when empty - A longer term solution would be extend the project/target API to allow the cache mapper to add groups instead of `TuistGenerator` having awareness about the cache feature Test Plan: - Generate the fixture `ios_app_with_tests` - Verify the `Frameworks` and `Cache` groups are no longer present - Generate the fixture `ios_app_with_sdk` - Verify the `Frameworks` group is still present (as there are system library dependencies) - Verify the `Cache` group is no longer present
Short description π
The following PR addresses #5899 where we add the precompiled cached artifacts into a new group called
/Cache
since this adheres to Xcode's convention.Resolves #5899
How to test the changes locally π§
I faced issues testing this locally since the command cached isn't within the project anymore, however I have verified that the tests work and a new group is generated called
/Cache
app_with_spm_dependencies
tuist install
tuist cache --external-only
ortuist cache
tuist generate
/Cache
which should contain all the precompiled cached artifactsContributor checklist β
mise run lint:fix
Reviewer checklist β
changelog:added
,changelog:fixed
, orchangelog:changed
, and the title is usable as a changelog entry