Course Code: bazel
Duration: 14 hours
Prerequisites:
  • Knowledge and experience with the build system concept
  • Basic understanding of the Java programming language

Audience

  • Software developers
Overview:

Bazel is an open-source build and testing tool developed by Google. It provides tools that automate the execution of build and testing tasks.

This instructor-led, live training (online or onsite) is aimed at developers who wish to learn how Bazel works in automating a software build and test workflow.

By the end of this training, participants will be able to:

  • Understand the basic concepts of Bazel and learn how it works.
  • Learn how to use Bazel in building and testing.
  • Use Bazel in executing build and testing automation.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.
Course Outline:

Introduction

  • 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

Troubleshooting

Summary and Next Steps

Sites Published:

United Arab Emirates - Bazel

Qatar - Bazel

Egypt - Bazel

Saudi Arabia - Bazel

South Africa - Bazel

Brasil - Bazel

Canada - Bazel

中国 - Bazel

香港 - Bazel

澳門 - Bazel

台灣 - Bazel

USA - Bazel

Österreich - Bazel

Schweiz - Bazel

Deutschland - Bazel

Czech Republic - Bazel

Denmark - Bazel

Estonia - Bazel

Finland - Bazel

Greece - Bazel

Magyarország - Bazel

Ireland - Bazel

Luxembourg - Bazel

Latvia - Bazel

España - Bazel

Italia - Bazel

Lithuania - Bazel

Nederland - Bazel

Norway - Bazel

Portugal - Bazel

România - Bazel

Sverige - Bazel

Türkiye - Bazel

Malta - Bazel

Belgique - Bazel

France - Bazel

日本 - Bazel

Australia - Bazel

Malaysia - Bazel

New Zealand - Bazel

Philippines - Bazel

Singapore - Bazel

Thailand - Bazel

Vietnam - Bazel

India - Bazel

Argentina - Bazel

Chile - Bazel

Costa Rica - Bazel

Ecuador - Bazel

Guatemala - Bazel

Colombia - Bazel

México - Bazel

Panama - Bazel

Peru - Bazel

Uruguay - Bazel

Venezuela - Bazel

Polska - Bazel

United Kingdom - Bazel

South Korea - Bazel

Pakistan - Bazel

Sri Lanka - Bazel

Bulgaria - Bazel

Bolivia - Bazel

Indonesia - Bazel

Kazakhstan - Bazel

Moldova - Bazel

Morocco - Bazel

Tunisia - Bazel

Kuwait - Bazel

Oman - Bazel

Slovakia - Bazel

Kenya - Bazel

Nigeria - Bazel

Botswana - Bazel

Slovenia - Bazel

Croatia - Bazel

Serbia - Bazel

Bhutan - Bazel

Nepal - Bazel

Uzbekistan - Bazel