Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Feature Request: Rewrite

未关闭
#15 0 条评论 8 个 reaction 已指派 1 人 在 GitHub 查看

@brentleyjones 已经在做这个了。

开始于 2023年4月3日。

评估

这个 Issue 还没有评估数据。

描述

I’ve learned a lot about Xcode, Bazel, and integrating together since I started this project. In particular, with the development of rules_xcodeproj, I’ve come to realize that this project as it currently exists isn’t sufficient to create a maintainable general purpose XCBBuildService proxy solution.

To that end, I’ve decided to rewrite the project. Below are some of the keys changes in the rewrite. The main reason for a rewrite versus incremental changes, are because of major difference in how XCBProtocol is handled.

  • XCBProtocol is version-less
    • Models have all properties that any supported version of Xcode uses
    • Xcode version is passed to encoder/decode and used to determine how to serialize/deserialize
    • Supports MessagePack or JSON serialization (some message payloads have changed format over time)
    • Enums cases are properly mapped based on version (removing a case adjusts the integer value of subsequent vases)
  • MessagePack serialization is a Codable implementation
  • Swift concurrency is used instead of SwiftNIO
    • Xcode sessions are actors
    • Builds are actors
  • Logging (swift-log) is replaced with Logger (OSLog)
  • XCBBuildService and RequestHandler are replaced by a XCBBuildServiceProxyKit.Proxy protocol, which functions similar to SwiftUI.App
  • Tools/tests to detect XCBProtocol changes in new Xcode versions
  • Extensive developer documentation, including a DocC website for API and a “usage” document

To support code reviews while the rewrite is happening, development will happen on a dedicated branch, which main will fast forward to once it reaches an approximate feature parity state. This issue will serve as an Epic, and we might create smaller issues for specific pieces mentioned above (if needed beyond simply creating a PR).

主要语言
Swift
星标
72
派生
8
PR 合并指标
30 天内没有已合并 PR

环境准备

我们还没有检查这个项目的环境配置文件。先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

MobileNativeFoundation/XCBBuildServiceProxyKit 的其他 Issue

查看 MobileNativeFoundation/XCBBuildServiceProxyKit 的全部 Issue

相似的 Issue

更多 Swift Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。