You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
The build system has an "OMIT_DEPRECATED" option which currently turns off all legacy-compatibility code and switches to only providing the new/preferred methods for any API elements that have been changed in recent versions.
Describe the solution you'd like
As part of the OMIT_DEPRECATED option, we should enable set(MISSION_RESOURCEID_MODE STRICT) mode. This mode uses type-safe definitions for all the different resource types, and prevents users from "crossing" different ID types (tasks, apps, etc) at compile time rather than compiling successfully but not running correctly.
Additional context
CI is already testing with OMIT_DEPRECATED on and off so it seems like a good fit to enable strict resource ID types too, the code will be tested in both backward-compatible mode and preferred/new mode.
This was prompted by having two independent PRs both breaking code by mixing ID with other values (one status code - ID mixup, and one a tableID - CDS ID mixup) in the same merge cycle. This strict build option catches both.
Requester Info
Joseph Hickey, Vantage Systems, Inc.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
The build system has an "OMIT_DEPRECATED" option which currently turns off all legacy-compatibility code and switches to only providing the new/preferred methods for any API elements that have been changed in recent versions.
Describe the solution you'd like
As part of the OMIT_DEPRECATED option, we should enable
set(MISSION_RESOURCEID_MODE STRICT)
mode. This mode uses type-safe definitions for all the different resource types, and prevents users from "crossing" different ID types (tasks, apps, etc) at compile time rather than compiling successfully but not running correctly.Additional context
CI is already testing with OMIT_DEPRECATED on and off so it seems like a good fit to enable strict resource ID types too, the code will be tested in both backward-compatible mode and preferred/new mode.
This was prompted by having two independent PRs both breaking code by mixing ID with other values (one status code - ID mixup, and one a tableID - CDS ID mixup) in the same merge cycle. This strict build option catches both.
Requester Info
Joseph Hickey, Vantage Systems, Inc.
The text was updated successfully, but these errors were encountered: