Welcome to the "Building an iOS App with Bazel" workshop at AppBuilders 2022!
During this workshop, we're going to take an iOS app that builds with Xcode and get it running via Bazel, Google's open-source, modular build system.
Before we start the session, please make sure that running ./setup.sh
in the repo succeeds, and that you have Xcode 13.3.x installed locally.
If you run into any issues, please post an issue in Discord!
Rough outline of the workshop:
- Running
bazel
commands (start branch:steps/00-warmup
)bazel fetch
bazel clean
bazel build
bazel test
bazel run
- Building a basic (Swift-only) iOS App (start branch:
steps/10-swift-app
) - Adding dependencies (start branch:
steps/20-swift-library
) - Adding (:gasp:) Objective-C to the mix (start branch:
steps/30-mixed-language
)
Further topics (if you get to this point / are interested, let's spend time chatting about them!):
- Writing macros to reduce duplication
- Writing custom rules to implement new behavior
- Running a matrix of tests via the command line
- Setting up CI