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'