Skip to content

line/rules_apple_line

Repository files navigation

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.