Building with Bazel
Bazel is an open source build system created by Google for compiling large complex codebases. This courses teaches the basics of using building from writing a very simple Java application to compiling an Android app with a lots of dependencies. ✨ Made in collaboration with Spotify ✨ By Brian Moakley.
Who is this for?
This course is for software engineers who are looking to incorporate Bazel into their workflow.
Covered concepts
- Installation
- Workspace & build files
- Custom rules
- Configuration files
- Android Studio plugin
- Xcode project generation
- Distributed builds
Part 1: Learning Bazel
Understand the very basics of Bazel: why it was created, what it does, and how it can help you.
Learn how to get Bazel up and running on your system. This episode shows how to install Bazel on macOS, Winodws, and Linux.
Get an overview of all the various components that are needed to build a project using the Bazel build system.
Get started with Bazel by writing a simple Java app that prints a joke to the console.
This episodes introduces you to the several sample apps that you’ll be building throughout this course.
Learn about a monorepo. Get an idea about the advantages of using a monorepo and then you’ll do a little setup to get your monorepo.
Meet the Starlark language that you’ll use to write your workspaces and build files. This episode will give you an overview of it.
Learn the purposes of Bazel rules and why you need to use them in order to compile your software projects.
Create a new workspace for your iOS app, by incorporating several special rules to written by the community.
Learn about how dependencies are handled with Bazel then see how to organize your dependencies in your project.
See how to add dependencies to your workspace for your Android project.
Understand how Build files work in Bazel and then write a custom build file to compile an iOS app.
Write a custom Build for your Android app, and see how to include dependencies in the build.
Be introduced to a BazelRC file and learn how to incorporate them into your Bazel build.
Learn how to define unit tests in your Build file and then how to run your tests using Bazel.
See how to incorporate Bazel directly into Android Studio, allowing you to run your Bazel builds directly in the application.
Leverage the power of Bazel by incorporating a third party service to remotely compile your project.
Learn how to use custom rules with Bazel to generate an Xcode project for your iOS app.
Learn about all the various Bazel resources that you can turn to when you get off the happy path.