Skip to content

Conversation

@danieleformichelli
Copy link
Contributor

@dosubot dosubot bot added size:S This PR changes 10-29 lines, ignoring generated files. enhancement New feature or request labels Jun 17, 2025
Comment on lines +7 to +8
/// Whether the target redundant dependencies should be ignored during `tuist inspect redundant-import`
public var ignoreRedundantDependencies: Bool
Copy link
Contributor

Choose a reason for hiding this comment

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

XcodeGraph models should contain attributes/metadata that's associated with the graph, not with how some Tuist features will behave because it couples the model with the tool that uses the graph. I'd recommend to move this to the Tuist.swift model in tuist/tuist:

let tuist = Tuist(inspect: .inspect(redundantDependencies: .redundantDependencies(disableTargets: []))

Copy link
Contributor Author

Choose a reason for hiding this comment

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

IIRC Tuist can't import code from project description helpers, and it would make it very cumbersome to maintain.

What I want to do is:

  • I define a feature let featureX = Feature(name: "X", interface: …, implementation: …)
  • Then I do featureX.targets() to get the list of targets according to the configuration, but I want (for example) the test target to be marked with ignoreRedundantDependencies, which is very easy to do if it's part of the Target init

Copy link
Contributor

Choose a reason for hiding this comment

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

Could you share more about your setup? I believe this is part of your wrapper, no?

Copy link
Contributor

Choose a reason for hiding this comment

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

@danieleformichelli let's continue the conversation here. I misunderstood the second part. In that case I recommend that you apply a tag to the target, which we already have an API for, and then in the Tuist.swift you can use the tag to match targets:

let tuist = Tuist(
  inspect: .inspect(
    redundantDependencies: .redundantDeps(ignoreTagsMatching: ["tag"]) // or something along these lines
  )
)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Makes sense! 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request size:S This PR changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants