-
Type: Task
-
Resolution: Works as Designed
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Replication
-
Labels:None
-
Replication
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.