Multiple modules setup

I keep restructuring my Tuist projects due to dependency problems., and i would like some general advice.

I have a project composed of 16 modules,.Each module has app, framework/library, and .unitTest target.
Each module has a Project.swift

I use TCA, and SharingGRDB as the only 2 external dependencies for each module
Typically each module will have a TCA Reducer, and a set of views, and be dependent on modules for DataServices, UIComponents

I am not sure what is best practice to achieve this, but I am running in to issues with this approach, as i am increasingly getting warnings from Tuist generate.

▸ Target ‘Clocks’ has been linked from target ‘ComposableArchitecture’ and target ‘SharedModels’, it is a static product so may introduce unwanted side effects.

All the modules build and run as expected but these warnings must be something fundamental to my approach.
I have tried

  1. creating Tuist/Package.swift in each module.
  2. dependencies in each Project.swift

i would appreciate some feedback as to best practice

The project I work on consist of a lot of Project.swift files and get no warnings. If you can share the setup, or an example with the issue I may be able to help.

1 Like

Hey :wave:

Have you had a chance to take a look at this documentation? There’s no silver bullet here.

Generally, your options are:

How exactly to execute on these very much depends on the project at hand.