LINE's Apple rules for Bazel
This repository contains additional rules for Bazel that can be used to bundle applications and frameworks for Apple platforms.
Overview
These are open references of what are used to build the LINE iOS app, which solve some of our specific use-cases, for instance, mixed Objective-C and Swift modules. They can be used as drop-in replacements for the official Apple rules when needed, with the goal of being easy to switch back to the official ones when we longer need them.
They may not work with certain revisions of rules_apple
or
rules_swift
due to their breaking changes. If they don't work out-of-the-box
for you, use them as references for your custom rule's implementation.
Build Definitions
Library Rules
Bundling Rules
Other Rules
Requirements
Bazel 4.0+
Setup
-
Setup rules_apple.
-
Add the following to your
WORKSPACE
file, replacing<commit>
with the commit you wish to depend on and<sha256>
with the expected SHA-256 of the zip file.
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()
Examples
See the examples directory.
License
Copyright 2020 LINE Corporation
LINE Corporation licenses this file to you under the Apache License,
version 2.0 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at:
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
See LICENSE for more detail.