Course Outline


  • Overview of Bazel
  • Understanding the Bazel architecture

Getting Started

  • Installing the Bazel runtime and launcher
  • Understanding the Bazel UI

Understanding the Project Structure and Basic Building Blocks

  • Project building block
  • Project structure
  • Concepts of a build logic

Invoking a Target From the Command Line

  • Executing a target
  • Commonly-used commands
  • Output and cache directories

Understanding the Bazel Build Lifecycle

  • Phases of the Bazel lifecycle
  • Configuration file
  • Programming language rules

Using Bazel Basic Automation For Java

  • Setting up a Java project
  • Building a Java project
  • Running the build from the command line
  • Inspecting the generated artifact
  • Deploying the Java project
  • Driving Bazel from the IDE
  • Using Bazel in IntelliJ

Bazel Dependency Management

  • Modeling fine-grained package granularity and dependencies
  • Declaring external dependencies
  • Declaring an external library and using it in a code
  • Declaring the JUnit dependency
  • Publishing a JAR to a Maven repository
  • Publishing a Java library to local Maven

Testing Automation

  • Performing automated tests
  • Executing JUnit tests

Advanced Bazel

  • Extension concepts
  • Writing and executing a genrule
  • Remote caching and execution
  • Build stamping
  • Bazel query
  • Java toolchains


Summary and Next Steps


  • Knowledge and experience with the build system concept
  • Basic understanding of the Java programming language


  • Software developers
  14 Hours


Related Courses

Introduction to Programming

  35 hours

Linux Network Programming

  14 hours

Clean Code

  14 hours

Java Persistence with Hibernate

  14 hours

Java Fundamentals for Android

  14 hours

Unit Testing with JUnit

  21 hours

Java Advanced

  28 hours

Java fundamentals with Maven

  28 hours

Java Advanced - one day

  7 hours

Java Intermediate - one day

  7 hours

Standard Java Security

  14 hours

Java and Web Application Security

  21 hours

Advanced Java Security

  21 hours

Advanced Java, JEE and Web Application Security

  28 hours

Combined C/C++, JAVA and Web Application Security

  28 hours