Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-6221

Add SemVer and SemVerRange types to the Puppet Type System

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: PUP 4.5.0
    • Component/s: None
    • Labels:
      None
    • Template:
    • Acceptance Criteria:
      Hide
      • An instance of SemVer can be created from a String
      • An instance of SemVer can be compared to another SemVer for magnitude (<, <=, >, >=) and equality (==, !=).
      • An instance of SemVerRange can answer if an instance of SemVer is within range (=~, !~)
      • An instance of SemVerRange can answer if a string representing a SemVer is within range (=~, !~)
      • An instance of SemVer matches against SemVerRange case options using range match semantics
      • A string matches against SemVerRange case options using range match semantics
      • A SemVer type can be bounded by one or many range expressions in string form.
      • An instance of SemVerRange can be created from a String
      • The intersection of multiple SemVerRange instances can form a new SemVerRange (ruby only)
      • The in operator answers if a SemVer is in a SemVerRange
      • The in operator answers if a string representing a SemVer is in a SemVerRange
      Show
      An instance of SemVer can be created from a String An instance of SemVer can be compared to another SemVer for magnitude (<, <=, >, >=) and equality (==, !=). An instance of SemVerRange can answer if an instance of SemVer is within range (=~, !~) An instance of SemVerRange can answer if a string representing a SemVer is within range (=~, !~) An instance of SemVer matches against SemVerRange case options using range match semantics A string matches against SemVerRange case options using range match semantics A SemVer type can be bounded by one or many range expressions in string form. An instance of SemVerRange can be created from a String The intersection of multiple SemVerRange instances can form a new SemVerRange (ruby only) The in operator answers if a SemVer is in a SemVerRange The in operator answers if a string representing a SemVer is in a SemVerRange
    • Story Points:
      2
    • Sprint:
      Language 2016-05-04, Language 2016-05-18
    • Release Notes:
      New Feature
    • Release Notes Summary:
      Hide
      Two new types; SemVer and SemVerRange have been added to the Puppet Type System. This makes it possible to directly work with version related values in the puppet language; given version strings are validated and comparison operators (<, >, <=, =>, ==, !=, =~, !~) as well as the in-operator and case expression option matching works with these objects.

      Instances of SemVer and SemVerRange are created with the 'new' function support which also supports directly calling the type. As an example a new SemVer can be created like this:

      SemVer('>=1.0.0 <2.0.0')
      Show
      Two new types; SemVer and SemVerRange have been added to the Puppet Type System. This makes it possible to directly work with version related values in the puppet language; given version strings are validated and comparison operators (<, >, <=, =>, ==, !=, =~, !~) as well as the in-operator and case expression option matching works with these objects. Instances of SemVer and SemVerRange are created with the 'new' function support which also supports directly calling the type. As an example a new SemVer can be created like this: SemVer('>=1.0.0 <2.0.0')

      Description

      A SemVer and SemVerRange type should be added as runtime implementations and types to the Puppet Type system.

      The runtime implementations already exists in the Puppet code base.

        Attachments

          Issue Links

            Activity

              jsd-sla-details-panel

                People

                • Assignee:
                  Unassigned
                  Reporter:
                  thomas.hallgren Thomas Hallgren
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: