Bazel is a build system. In this repository, I store some demos, experiments, and playgrounds that show how to use Bazel with different programming languages, libraries, and tools. Besides this, you can find here misc experiments related to Bazel.
This repository is mainly organized into three parts:
- core_principles: Core principles of Bazel with no focus on a specific programming language
- hello_world: Plain Hello World demos in different programming languages supported by the Bazel build system
- intermediate: Usage of different third-party dependencies and tools
Furthermore, the ci directory contains build jobs to ensure that specific demos work across different operating systems.
Under hello_world you can find Hello World examples in misc programming languages using Bazel. The following table shows on which OS configurations the examples were successfully tested.
Language support on | macOS | Ubuntu | Windows |
---|---|---|---|
C++ | yes | yes | yes |
C# | yes | yes | yes |
D | no | yes | no |
Here you can find a list of other repositories with Bazel demos:
- aspect-build/bazel-examples
- bazelbuild/codelabs
- bazelbuild/examples
- clchiou/bazel-examples
- FaBrand/bazel-learning
- kriscfoster/multi-language-bazel-monorepo
- limdor/bazel-examples
- salesforce/bazel-demo
If you have a Bazel demo you want to share feel free to open a pull request. I am always happy about seeing new programming languages supported by Bazel or interesting usage of tools or third-party dependencies. Of course, improvements are also welcomed.
If not stated otherwise the license of the source files in this repository (BazelDemos) is under the Apache License 2.0.
A big thanks goes to all the providers, developers, and maintainers of the Bazel universe.