4 ms·
Good post. I am still hopeful that a large scale "backwards" build-system can be made ergonomic enough to be used on even small projects. If Bazel didn't have
by substation13 4y ago
Good post. I am still hopeful that a large scale "backwards" build-system can be made ergonomic enough to be used on even small projects.
If Bazel didn't have so many gotchas, it could be the one:
cc_library(
hdrs = [ "app.h" ],
srcs = [ "app.cc" ],
)
- wocram 4y agoThe problem with bazel here is that every project, no matter how small, ends up needing some beefy WORKSPACE and bazelrc, especially when you start bringing in this party dependencies. How do we streamline this? bzlmod and bcr are steps in this direction, but it still seems far away to me.
- paulddraper 4y agoThat and some portion of the population hates heavy Java programs.
- wocram 4y agoSure but that's not the interesting part. If bazel hit some critical mass of usability and/or package availability it could be rewritten.
- pharmakom 4y agoThe JVM is not visible to the user. Bazel ships with one so you don't need to install it. People avoid Bazel due to Java like vegans avoid a meal containing meat; it's silly honestly.
- WickedSmoke 4y agoYes, that declarative style makes more sense to me than a forwards build statement of steps. I developed my own tool for building C/C++ projects which follows this style. It automatically handles things like Qt moc and scans the source files for headers, so in your example even the hdrs line can be omitted.
- pharmakom 4y agoThe trouble with scanning for headers automatically is that it allows you to accidently include one that is from an unrelated part of the project.