XcodeGraphMapper – new library to bring Tuist features to non-generated projects

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.

3 Likes