Improve default support for version schemes
The current implementation for version schemes is rather limited. It only supports 5 properties:
...
- 1-beta ==? 1-abc: "2" ==? "7-abc" -> 1-abc is newer
- 1.0 ==? 1.0-abc: "4" ==? "7-abc" -> 1.0-abc is newer
- 1.0-alpha-10 ==? 1.0-alpha-2: 10 > 2, so '1.0-alpha-10' is newer
- 1.0-alpha-1.0 ==? 1.0-alpha-1: equal
- 1.0-alpha-1.2 ==? 1.0-alpha-2: 1.0-alpha-2 is newer
Make version handling pluggable
When somebody devices a version scheme that cannot be handled by the above, it should be possible
to plug in a new scheme. Two possible scenarios for unsupported schemes:
...