Skip to content

Conversation

ajpallares
Copy link
Member

This PR makes it so that every tuist project in the repository uses one of the Settings declared in the constants (Tuist/ProjectDescriptionHelpers/Settings.swift)

configurations: .xcconfigFileConfigurations,
defaultSettings: .recommended
),
settings: .framework,
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the RevenueCat project does not need the code signing or the xcconfig files. Is that correct or am I missing something?

Copy link
Contributor

@facumenzella facumenzella Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically the frameworks do not, BUT this project has a host app inside that might need it if someone wants to run it manually.

I see two options:

  1. Set specific settings for the target
  2. Create a new project only for that

I think I prefer 1 for now, and if we experience any downsides, we can always split it

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I 100% agree. Thanks for the input! 🙌

Copy link
Member Author

@ajpallares ajpallares Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just tried out the two apps inside the project: UnitTestsHostApp and BackendIntegrationTestsHostApp. These are actually empty apps only used to run tests on CI.

  • Not having the xcconfig files is OK, since they don't really use any of the configs in them
  • Not having the signing team doesn't seem a problem as these 2 apps can be totally run locally and I don't see the need of them run in actual devices (and it runs properly on Mac without signing anyway)
    So I'd say we leave them like this for now. WDYT?

configurations: .xcconfigFileConfigurations,
defaultSettings: .recommended
),
settings: .framework,
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as for RevenueCat

/// This provides a standardized settings configuration that includes:
/// - Base settings from `.projectBase`
/// - Debug configuration with incremental compilation
/// - Release configuration with whole module optimization
/// - Recommended default settings
public static var project: Settings {
public static var app: Settings {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lmk what you think of the name. I was also doubting with appProject.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think appProject is better, because the other one is called target which is pretty generic.
We cn also rename the other one to framework maybe?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not exactly. We now have .app, .target and .framework already. .framework is used for packages/libraries and .target is used by the apps target. Perhaps we should have

.appProject, .appTarget and .framework. WDYT?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like it!!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in f802dcf

Copy link

emerge-tools bot commented Jul 17, 2025

📸 Snapshot Test

4 modified, 701 unchanged

Name Added Removed Modified Renamed Unchanged Errored Approval
RevenueCat
com.revenuecat.PaywallsTester
0 0 1 0 234 0 ✅ Approved
RevenueCat
com.revenuecat.PaywallsTester.mac-catalyst-optimized-for-mac
0 0 1 0 234 0 ✅ Approved
RevenueCat
com.revenuecat.PaywallsTester.mac-catalyst-scaled-to-match-ipad
0 0 2 0 233 0 ✅ Approved

🛸 Powered by Emerge Tools

Copy link
Contributor

@facumenzella facumenzella left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Love that more people start contributing to this!! 🚀

@ajpallares ajpallares force-pushed the tuist/reusable-app-settings branch from 298714e to f802dcf Compare July 17, 2025 18:28
@ajpallares ajpallares enabled auto-merge (squash) July 17, 2025 18:31
@ajpallares ajpallares merged commit f74872d into main Jul 17, 2025
12 checks passed
@ajpallares ajpallares deleted the tuist/reusable-app-settings branch July 17, 2025 18:37
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.

2 participants