LINE's Apple rules for Bazel 使用教程

LINE's Apple rules for Bazel 使用教程

rules_apple_line LINE's Apple rules for Bazel rules_apple_line 项目地址: https://gitcode.com/gh_mirrors/ru/rules_apple_line

1、项目介绍

rules_apple_line 是 LINE 公司为 Bazel 构建系统开发的一组扩展规则,专门用于打包和构建 Apple 平台的应用程序和框架。这些规则旨在解决 LINE iOS 应用中的一些特定需求,例如混合 Objective-C 和 Swift 模块的构建。它们可以作为官方 Apple 规则的替代品,并且在需要时可以轻松切换回官方规则。

2、项目快速启动

环境要求

  • Bazel 4.0+

安装步骤

  1. WORKSPACE 文件中添加以下内容,替换 <commit><sha256> 为相应的值:
RULES_APPLE_LINE_COMMIT = "<commit>"

http_archive(
    name = "rules_apple_line",
    sha256 = "<sha256>",
    strip_prefix = "rules_apple_line-%s" % RULES_APPLE_LINE_COMMIT,
    url = "https://github.com/line/rules_apple_line/archive/%s.zip" % RULES_APPLE_LINE_COMMIT,
)

load("@rules_apple_line//apple:repositories.bzl", "rules_apple_line_dependencies")

rules_apple_line_dependencies()
  1. BUILD 文件中使用 rules_apple_line 提供的规则,例如:
load("@rules_apple_line//apple:rules.bzl", "apple_library", "swift_static_framework")

apple_library(
    name = "MyLibrary",
    srcs = glob(["**/*.swift"]),
    deps = [":OtherLibrary"],
)

swift_static_framework(
    name = "MyFramework",
    library = ":MyLibrary",
)

3、应用案例和最佳实践

混合语言模块构建

在 LINE iOS 应用中,经常需要处理混合 Objective-C 和 Swift 的模块。rules_apple_line 提供了 apple_library 规则,可以轻松处理这种情况:

apple_library(
    name = "MixedLibrary",
    srcs = glob(["**/*.swift", "**/*.m"]),
    deps = [":OtherLibrary"],
)

静态框架打包

使用 swift_static_framework 规则可以方便地打包静态框架:

swift_static_framework(
    name = "MyFramework",
    library = ":MixedLibrary",
)

4、典型生态项目

Bazel 官方规则

rules_apple_line 可以作为 Bazel 官方 Apple 规则的替代品,官方规则地址:rules_apple

Swift 规则

rules_apple_line 依赖于 Bazel 的 Swift 规则,地址:rules_swift

LINE iOS 应用

rules_apple_line 最初是为 LINE iOS 应用开发的,LINE 应用地址:LINE iOS

rules_apple_line LINE's Apple rules for Bazel rules_apple_line 项目地址: https://gitcode.com/gh_mirrors/ru/rules_apple_line

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

严千旗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值