Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Questions about implementing componentization via Tuist #6191

Closed
rakuyoMo opened this issue Apr 15, 2024 · 0 comments
Closed

Questions about implementing componentization via Tuist #6191

rakuyoMo opened this issue Apr 15, 2024 · 0 comments
Labels
type:need Report needs or problems you came across that are not bugs

Comments

@rakuyoMo
Copy link

rakuyoMo commented Apr 15, 2024

What problem or need do you have?

Hello!

I would like to ask some questions about using Tuist to implement componentization of iOS projects.

Component directory structure

Tuist is very flexible, so what is the officially recommended componentized directory structure? So far I have found the following situations:

  • There are two types of fixtures:
    • For example, ios_app_with_static_frameworks: In the root directory of the Project.swift file of the main project, each component has a separate folder.
    • For example, ios_app_with_framework_and_resources: The Project.swift file of the main project is not in the root directory. It is in its own App folder, and each component has a separate folder.
  • In the documentation, it is mentioned that multiple projects should be placed in the Projects folder.

These solutions confused me as a first-time user of Tuist, and I didn’t know which one was the most correct and best. I hope to follow the official best practices, but I'm not sure if this exists.

Workspace‘s projects

In the "Workspace.swift" file, do I need to pass all projects (those with implicit dependencies, like in the example mentioned below) to "projects"?

In the example of ios_workspace_with_dependency_cycle, projects contains all projects. But not all are referenced in ios_app_with_transitive_project.

After my practice, I found that even if all projects are not included, .xcworkspace can still be generated and compiled. So if all items don't need to be included, are there any hidden risks to be aware of with this approach?

macOS version

14.4.1 (23E224)

Tuist version

4.9.0

Xcode version

15.3

@rakuyoMo rakuyoMo added the type:need Report needs or problems you came across that are not bugs label Apr 15, 2024
@tuist tuist locked and limited conversation to collaborators Apr 15, 2024
@fortmarek fortmarek converted this issue into discussion #6194 Apr 15, 2024

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
type:need Report needs or problems you came across that are not bugs
Projects
None yet
Development

No branches or pull requests

1 participant