We’re happy to announce a new foundational piece and a commodity called XcodeGraphMapper
: Mapping XcodeProj to XcodeGraph
This has been built out by @ajkolean over the last several weeks and it has the opportunity to completely change how Tuist is perceived in the long run – and it lends itself to completely new tools we haven’t even considered before.
Historically, Tuist has been using the definition of your projects in Project.swift
to optimize and analyze your projects. To do that, we turned your projects into what we call XcodeGraph, which is a high-level representation of your Xcode project or Xcode workspace. However, since we relied on the Project.swift
definition, organizations always first needed to migrate to generating projects with Tuist before being able to get access to any functionality offered by the Tuist CLI.
XcodeGraphMapper
now unlocks multitude of features to be used for any Xcode project, regardless of whether it is generated with Tuist or not. The utility parses the .xcodeproj
and .xcworkspace
and constructs the XcodeGraph
, which can then be used by some Tuist features that can be used outside of the context of generated projects.
Features that XcodeGraphMapper
unlocks to any Xcode project include:
- Selective testing
tuist graph
- Inspect implicit imports
- …and more!
We have already started working on enabling these features to non-generated projects with selective testing coming in the following days. And we couldn’t be more excited. Thanks again to @ajkolean for taking this on – the Tuist community continues to confirm our belief that open source is amazing.