-
Type: Improvement
-
Resolution: Won't Do
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
We now have a script that extracts and lists out bazel conversion candidate targets (scons targets without dependencies that haven't been converted to bazel): https://github.com/10gen/mongo/pull/15564
We're now ready to start converting individual targets. Since there are 1140 scons targets that need to be converted, an entire manual process is going to be painful.
Create a script that does a best-effort attempt at generating bazel rules for all bazel conversion candidates. The goal is not to generate a perfect rule for every target. This should create mostly-correct rules for most scons targets, but many will likely need human modification.
Rough outline of the execution plan:
- Run through each scons leaf dependency found in https://github.com/10gen/mongo/pull/15564
-
- Query each target's src files from sconscripts (bazel output: "srcs")
- Query each target's dependency targets from libdeps (bazel output: "deps")
- Inspect the #includes of each src file (bazel output: "hdrs")
- Write the newly generated bazel rule to stdout