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
Requirements
- Knowledge and experience with the build system concept
- Basic understanding of the Java programming language
Audience
- Software developers
Testimonials (4)
A large amount of practical knowledge shown in real-life examples.
Kamil - Streamsoft Kraków
Course - Java Advanced
Machine Translated
Pushing changes on an ongoing basis, when on the 3rd day I started to get more lost than before and it was harder to spot the error quickly, I was quickly able to check out the latest changes and stay up to date with the material
Paulina
Course - Advanced Java Security
Machine Translated
Very good knowledge and character.
Constantinos Michael
Course - Java and Web Application Security
Though an online training, the interactivity with the trainer was remarkable and was always available to provide valuable sources to complement the training. I am very satisfied.