Details
-
Task
-
Resolution: Works as Designed
-
Major - P3
-
None
-
None
-
None
-
Replication
Description
Today we generate C++ base classes from IDL for all API Version 1 commands (SERVER-51862). The generated files required the TypedCommand definition so they include commands.h. This tends to produce include-cycles as we convert more V1 commands to IDL: commands.h includes many headers, if one of those headers includes an IDL-generated file that defines a V1 command, a cycle forms.
Let's give ourselves some flexibility in how we choose to break include-cycles, by generating V1 commands into separate files.