Skip to Content
View all events

Getting Started With Bazel

Published by O'Reilly Media, Inc.

Beginner content levelBeginner

An introduction to automated builds for Java-based projects

One of the newer players in the build tool field is Bazel, the open source variant of Google’s powerful internal build tool Blaze. After years of refinement, the first production-ready version, Bazel 1.0, was released in October 2019. Is this tool right for your organization?

Join expert Benjamin Muschko to explore the use cases, features, and usability concerns of Bazel, including its benefits and shortcomings. You’ll get a taste of Bazel’s syntax and functionality with some concrete Java-based examples and then look at advanced features like remote caching and execution. You’ll engage in some hands-on exercises aimed at helping you determine whether Bazel is a good fit for your organization, and you’ll come away with the knowledge and resources to start using this versatile, polyglot build tool for your project.

What you’ll learn and how you can apply it

By the end of this live online course, you’ll understand:

  • How to automate typical tasks of a Java project
  • The basic concept of the build tool Bazel

And you’ll be able to:

  • Set up a Java-based project, compile the source code, and run the application
  • Define dependencies on other packages and external libraries
  • Perform automated tests for Java test code

This live event is for you because...

  • You’re a Java developer who wants to automate your project.
  • You work with another build tool and want to evaluate Bazel’s fit for your project.

Prerequisites

  • A computer with Bazel installed
  • A GitHub account
  • A basic understanding of the Java programming language
  • Hands-on experience with common Java frameworks and dependencies
  • Experience with build tools like Ant, Maven, or Gradle

Recommended preparation:

  • Read “Implementing a Testing Strategy” (chapter 4 of Continuous Delivery: - Reliable Software Releases Through Build, Test, and Deployment Automation)

Recommended follow-up:

Schedule

The time frames are only estimates and may vary according to how the class is progressing.

Introducing Bazel for Java (55 minutes)

  • Presentation: What is Bazel and why should I use it?
  • Group discussions: Bazel quickstart; setting up a Java project and building it; driving Bazel from the IDE
  • Hands-on exercises: Build a “Hello World” Java project; install and use Bazel IDE support
  • Q&A
  • Break

Dependency management and automated testing (55 minutes)

  • Presentation: Understanding dependencies in Bazel; executing automated tests; the outlook on other Bazel features
  • Hands-on exercises: Declare and use external dependencies; declare test dependencies and execute tests

Wrap-up and Q&A (10 minutes)

Your Instructor

Benjamin Muschko

Benjamin Muschko is a software engineer, consultant, and trainer with more than 20 years of experience in the industry. He specializes in cloud-native application development and transformation, container solutions, DevSecOps, and Continuous Integration/Continuous Delivery implementations. Ben is an author, a frequent speaker at conferences, and an avid open source advocate.

linkedinXlinksearch

Skill covered

Bazel