GoogleUtilities 8.0.2

GoogleUtilities 8.0.2

许可协议 Apache-2.0
已发布最新版2024年8月

Google 维护。



  • Google, Inc.

Version License Platform

Actions Status

GoogleUtilities

GoogleUtilities 为 Firebase 和其他 Google SDKs 提供了一组适用于苹果平台开发的工具。

这些工具不直接支持非 Google 库使用。

集成测试

以下说明适用于次要和补丁版本更新。主要版本需要定制适配。

CI 绿灯后

  • 通过检查 标记的版本 确定下一次发布版本。确保下一次发布版本保持 Swift PM 和 CocoaPods 版本同步。
  • 确认发布版本是 CHANGELOG.md 中的最新条目,并在必要时更新它。
  • 将 podspec 中的版本更新以匹配 CHANGELOG.md 中的最新条目
  • 检出 main 分支并确保它是最新的
    git checkout main
    git pull
  • 添加 CocoaPods 标签({version} 将是 podspec 中的最新版本)
    git tag CocoaPods-{version}
    git push origin CocoaPods-{version}
  • 将 podspec 推送到指定仓库
    • 如果此版本的 GoogleUtilities 意图是 下一个 Firebase 发布前推出

      推送到 SpecsStaging
      pod repo push --skip-tests staging GoogleUtilities.podspec

      如果命令因 Unable to find the 'staging' repo. 失败,则使用以下命令添加 staging 仓库

      pod repo add staging [email protected]:firebase/SpecsStaging.git
    • 否则

      推送到 SpecsDev
      pod repo push --skip-tests dev GoogleUtilities.podspec

      如果命令因 Unable to find the 'dev' repo. 失败,则使用以下命令添加 dev 仓库

      pod repo add dev [email protected]:firebase/SpecsDev.git
  • 通过等待下一个夜间或添加一个修改 的 PR 来运行 Firebase CI。
  • 在 google3 上,使用以下命令运行 copybara。然后,开始对生成的 CL 执行全局 TAP。根据需要解耦。
    third_party/firebase/ios/Releases/run_copy_bara.py --directory GoogleUtilities --branch main

发布

发布流程如下

  1. 为 Swift PM 打标签和发布
  2. 发布到 CocoaPods
  3. 创建 GitHub 发布
  4. 进行发布后清理工作

Swift 包管理器

通过为 Swift PM 创建和推送一个标签,新标签版本将立即公开发布。因此,请验证 Swift PM 的发布时间。

  • 为 Swift PM 添加版本标签
git tag {version}
git push origin {version}

注意:确保任何依赖新 GoogleUtilities 版本的进行中的 PR 已经更新为指向新标签版本,而不是校验和。

CocoaPods

  • 发布新版本的 pod 到 CocoaPods

    建议指向 staging 中的 GoogleUtilities.podspec,以确保发布正确的说明。

    pod trunk push ~/.cocoapods/repos/staging/GoogleUtilities/{version}/GoogleUtilities.podspec

    注意:在某些情况下,使用带有 --skip-tests 标志的 pod trunk push 是可以接受的。执行此操作之前,请与维护者进行双重检查。

    如果上述命令日志显示:“🚀 GoogleUtilities ({version}) 已成功发布”,则 pod 发布成功。此外,应出现一个发布新版本的新提交(由 CocoaPodsAtGoogle 协同完成),并在 CocoaPods 说明仓库 中显示最新版本。最后,最新版本应显示在 GoogleUtilities 的 CocoaPods 页面 上。

创建 GitHub 发布

更新发布模板标签版本发布标题字段,并请在发布描述中引用发布说明

查看这个发布作为示例。

别忘了执行发布后清理哦!

发布后清理

清理 SpecsStaging
pwd=$(pwd)
mkdir -p /tmp/release-cleanup && cd $_
git clone [email protected]:firebase/SpecsStaging.git
cd SpecsStaging/
git rm -rf GoogleUtilities/
git commit -m "Post publish cleanup"
git push origin master
rm -rf /tmp/release-cleanup
cd $pwd

开发

要在该仓库中开发,请确保您至少有以下软件

  • Xcode 12.0(或更高版本)
  • CocoaPods 1.10.0(或更高版本)
  • CocoaPods 生成

为您想开发的 pod

pod gen GoogleUtilities.podspec --local-sources=./ --auto-open --platforms=ios

注意:如果 CocoaPods 缓存过时,您可能需要运行 pod repo update 命令,然后再执行 pod gen 命令。

注意:将 --platforms 选项设置为 macostvos 以开发/测试这些平台。由于 10.2 版本,Xcode 无法正确处理多平台 CocoaPods 工作区。

Catalyst 开发

  • pod gen GoogleUtilities.podspec --local-sources=./ --auto-open --platforms=ios
  • 在 App-iOS 构建设置中勾选 Mac 复选框
  • 在设置中的签名 & 能力选项卡中签名应用程序
  • 在项目管理器中点击Pods
  • 将签名添加到iOS主应用程序和单元测试目标
  • 选择Unit-unit方案
  • 运行它以构建和测试

或者在每个目标中禁用签名

  • 转到构建设置选项卡
  • 点击 +
  • 选择 添加用户定义设置
  • 添加具有NO值的CODE_SIGNING_REQUIRED设置

代码格式化

为了确保代码格式的一致性,在创建PR之前运行脚本./scripts/check.sh

GitHub Actions将验证任何代码更改是否以符合风格的方式进行。安装clang-formatmint

brew install clang-format@16
brew install mint

运行单元测试

选择一个方案,然后按Command-u构建组件并运行其单元测试。

贡献

参见贡献

许可证

本存储库的内容采用Apache许可证,版本2.0授权。