IDL imports should only accept absolute paths

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Server Programmability
    • ALL
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      IDL imports such as in `src/mongo/db/enterprise/src/audit/audit_commands.idl`:

      imports:
          ...
          - "audit/audit_config.idl" 

      should use absolute paths (full code here).

       

      Compiling this single file using IDL directly (outside of any bazel context e.g. python buildscripts/idl/idlc.py --header audit_commands.h --output audit_commands.cpp src/mongo/db/modules/enterprise/src/audit/audit_commands.idl --include src) will error:

      ERROR:root:Cannot find imported file 'audit/audit_config.idl' for file 'src/mongo/db/modules/enterprise/src/audit/audit_commands.idl'
      Traceback (most recent call last):
        File "/home/ubuntu/mongo3/buildscripts/idl/idlc.py", line 112, in <module>
          main()
        File "/home/ubuntu/mongo3/buildscripts/idl/idlc.py", line 105, in main
          success = idl.compiler.compile_idl(compiler_args)
        File "/home/ubuntu/mongo3/buildscripts/idl/idl/compiler.py", line 219, in compile_idl
          parsed_doc = parser.parse(
        File "/home/ubuntu/mongo3/buildscripts/idl/idl/parser.py", line 1194, in parse
          resolved_file_name = resolver.resolve(base_file_name, imported_file_name)
        File "/home/ubuntu/mongo3/buildscripts/idl/idl/compiler.py", line 116, in resolve
          raise errors.IDLError(msg)
      idl.errors.IDLError: Cannot find imported file 'audit/audit_config.idl' for file 'src/mongo/db/modules/enterprise/src/audit/audit_commands.idl' 

       

       

            Assignee:
            Unassigned
            Reporter:
            Alex Li
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: