UE4 4.15 to 4.16 ReadOnlyTargetRules Backwards Compatibility
If you're a marketplace plugin maintainer and would like to maintain backward compatibility between 4.16 and 4.15, you've most likely run into the issue of the change of module target files moving to a ReadOnlyTargetRules constructor.
Epic has provided an undocumented preprocessor to help govern this change.
#if WITH_FORWARDED_MODULE_RULES_CTOR
public Linter(ReadOnlyTargetRules Target) : base(Target)
#else
public Linter(TargetInfo Target)
#endif
WITH_FORWARDED_MODULE_RULES_CTOR
will be defined if on 4.16 or later.