feat: add TargetMetadata.ignoreRedundantDependencies#230
feat: add TargetMetadata.ignoreRedundantDependencies#230danieleformichelli wants to merge 3 commits intomainfrom
Conversation
| /// Whether the target redundant dependencies should be ignored during `tuist inspect redundant-import` | ||
| public var ignoreRedundantDependencies: Bool |
There was a problem hiding this comment.
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: []))There was a problem hiding this comment.
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 withignoreRedundantDependencies, which is very easy to do if it's part of theTargetinit
There was a problem hiding this comment.
Could you share more about your setup? I believe this is part of your wrapper, no?
There was a problem hiding this comment.
@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
)
)There was a problem hiding this comment.
Makes sense! 🙏
https://community.tuist.dev/t/exclude-some-targets-from-tuist-inspect-redundant-imports/626