Hi all, when working on the "plc4x" protocol, Sebastian brought up a good point: The protocol I'm implementing might need changes in the future ... how do we ensure to support multiple versions of a protocol?
So, we extended the Protocol interface with a "getVersion()" (defaults to returning an empty optional). The code generation now allows providing a "protocolVersion" tag to the execution. If a protocol module defines a version, you need to specify the version to use (even if there is only one). If the protocol doesn't support versions, you shouldn't supply it. So far it generally shouldn't have any effect on any of the existing protocols and drivers, but we'll be extending the code generation to generate the classes in different packages (One more level between the protocol-name and the variant. Chris
