Introduction to Bazel to build C++ and Python - Xavier Bonaventura - code::dive 2020
HTML-код
- Опубликовано: 30 ноя 2020
- Abstract
Yet another build system? Why should you learn a new one?
{Fast, Correct} - Choose two
that's the motto of Bazel. In this talk I will give an introduction to the open-source build and test tool developed by Google. The first major release was published by the end of 2019. What is so special about Bazel? It is fast, reliable, multi-platform, scalable and extensible. Everything extracted using a high-level build language similar to Python called Starlark. During the talk I will show you how to define libraries, binaries and tests for C++, as well as for Python. In addition I will show you how to combine both languages in a project and how to set up a build toolchain. At the end of the talk I will give you some ideas on extensions that can be added to fit your project and requirements.
About the Speaker - Xavier Bonaventura
Xavier Bonaventura is a Software Engineer at BMW, where he works on the software stack for the next generation of autonomous driving, including the coordination between the software quality and the software development team.
Xavier believes that success in large scale projects can only be achieved through high-quality standards, using modern technologies, and applying software engineering principles at all levels.
He has been working in various fields such as computer graphics, information theory, and data aggregation and with codebases of different sizes, with contributions from 5 to 2000 software developers.
Xavier loves learning and teaching and when he is not programming he likes cooking, hiking, and jogging.
See Also
codedive.pl/2020/introduction...
codedive2020.slack.com/archiv... Наука
1:18 About me
1:41 About Bazel
3:25 Bazel Features
4:59 Bazel in a Nutshell
6:09 Bazel Design
7:14 Bazel Files
8:33 Bazel Labels
10:45 Target Visibility
12:51 Phases of Build
14:15 Bazel Cache
18:36 Bazel Remote Execution
19:39 Bazel for C++ and Python
-> 21:52 C++ Example
-> 24:06 Python Example
-> 25:39 Compile C++ Code Generate with Python
30:16 Bazel Tool Chains
32:26 Bazel Test Runner
37:45 Bazel Coverage
40:04 Bazel Query
43:01 Bazelisk
45:47 Food for thought (Ideas)
47:39 Bazel Commands
49:15 Additional References
50:05 Conclusion
This was BRILLIANT! Thanks Javier!
Thanks for the video as well! This was really helpful
Thank you for making this video. It was very helpful for quickly understanding the Bazel build system.
Thanks Ankit, good to know that it was helpful
How to specify dependency library lookup folder in bazel BUILD file? normally we give it using '-L/path/to/dependency/library' option.
Thanks! The build tutorial doesn't give this excellent overview.