Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-81217

Create basic scons-to-bazel rule generator

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None

    Description

      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:

        • 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

       

      Attachments

        Activity

          People

            zack.winter@mongodb.com Zack Winter
            zack.winter@mongodb.com Zack Winter
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: