The language specification says you should be able to pass the SemVer prerelease and build components as a hash. However, the values are corrupted when SemVer objects are created this way:
❯ bx puppet apply -e 'notice(SemVer(major => 1, minor => 0, patch => 0, prerelease => "alpha"))' |
Notice: Scope(Class[main]): 1.0.0-a.l.p.h.a |
... |
❯ bx puppet apply -e 'notice(SemVer(major => 1, minor => 0, patch => 0, build => "123"))' |
Notice: Scope(Class[main]): 1.0.0+1.2.3 |
...
|
Note the extra dots in the output. The problem is that the SemVer data type needs to pass the build and prerelease components as a single element array when calling SemanticPuppet::Version.new(.., prerelease, build) |