፨ XcodeGraph

All Contributors

XcodeGraph 是一个 Swift 包,其中包含用于建模 Xcode 项目图的数据结构。它最初是作为 Tuist 的一部分开发的,并被提取出来以实现与 Tuist 无关性。

注意

我们将图数据结构从 Tuist 中提取出来,使其商品化,并使其可用于可能需要建模和生成 Xcode 项目的其他项目。

安装

要安装 XcodeGraph,您可以将其添加到您的项目或包的 Package.swift

let package = Package(
    dependencies: [
        .package(url: "https://github.com/tuist/XcodeGraph.git", .upToNextMajor(from: "0.7.0")),
    ],
)

XcodeGraphMapper

XcodeGraphMapper 使用 XcodeProj 解析 .xcworkspace.xcodeproj 文件,并构建一个 XcodeGraph.Graph,表示它们的项目、目标和依赖关系

用法

import XcodeGraphMapper
let mapper: XcodeGraphMapping = XcodeGraphMapper()
let path = try AbsolutePath(validating: "/path/to/MyProjectOrWorkspace")
let graph = try await mapper.map(at: path)
// You now have a Graph containing projects, targets, packages, and dependencies.*
// Example: print all target names across all projects*
for project in graph.projects.values {
    for (targetName, _) in project.targets {
        print("Found target: \(targetName)")
    }
}

一旦你有了 Graph,你可以根据需要探索或转换它——打印目标、分析依赖关系、生成报告或集成到其他构建工具中。

贡献者 ✨

感谢这些优秀的人们(emoji key

Dariusz Rybicki
Dariusz Rybicki

💻
Binlogo
Binlogo

💻
Filip Racki
Filip Racki

💻
Gabriel Liévano
Gabriel Liévano

💻
Giovanni Filaferro
Giovanni Filaferro

💻
Anton Kolchunov
Anton Kolchunov

💻

本项目遵循 all-contributors 规范。欢迎任何形式的贡献!