-
Notifications
You must be signed in to change notification settings - Fork 5
SEMVER range and frame
- W=Release Window of project
- R=Range
- F=Frame
RRRRRRRRRRR Failure
WWWWWWWWWWWWWWWWWWWWW } Failure
FFFFFFFFFFF Failure
RRRRRRRRRRRRR Failure
WWWWWWWWWWWWWWWWWWWWW } Failure
FFFFFFFFFFFFF OK
RRRRRRRRRRRRRRR Failure
WWWWWWWWWWWWWWWWWWWWW } Failure
FFFFFFFFFFFFFFF Failure
RRRRRRRRRRRRRRRRRRRRRRRRRRRRR OK
WWWWWWWWWWWWWWWWWWWWW } OK
FFFFFFFFFFFFFF OK
RRRRRRRRRRRRR Failure
WWWWWWWWWWWWWWWWWWWWW } Failure
FFFFFFFFFFFFFFFFFFFFFFFFFFFFF Failure
RRRRRRRRRRRRRRRRRRRRR OK
WWWWWWWWWWWWWWWWWWWWW } OK
FFFFFFFFFFFFFFFFFFFFF OK
RRRRRRR RRRRRRR Failure
WWWWWWWWWWWWWWWWWWWWW } Failure
FFFFFFFF FFFFFFF OK
RRRRRRRR RRRRRRRRR Failure
WWWWWWWWWWWWWWWWWWWWW } Failure
FFFFFFFF FFFFFFFFF Failure
R RRRRRRRRRRRRRRRRRRRRR R OK
WWWWWWWWWWWWWWWWWWWWW } Failure
F FFFFFFFFFFFFFFFFFFFFF F Failure
RRRRRRRRRRRRRRRRRRRRR OK
WWWWWWWWW WWWWWWWWW } Failure
FFFFFFFFFFFFFFFFFFFFF Failure
In short : A Frame must be equal or included in Window, and a Range must be equal or larger than Window.
Since version 2.5, a SEMVER range can be set by exporting an environment variable GEAS_RANGE
.
Since version 2.6, a SEMVER frame can be set by exporting an environment variable GEAS_FRAME
.
Both can be used at same time, but in such case, both check need to match for a success.
Any SEMVER syntax can be used. But note that old release versions will be internally mapped to syntaxically correct SEMVER version, on the fly.
For instance R16B will be transcoded to 16.2.0 .
This imply that GEAS_RANGE=">R16B <21.2"
will be understood even if first term is invalid from SEMVER perspective.
If the project release window is not matching range, an error will be raised and plugins will raise an error code 2.
If the project release window is not matching frame, an error will be raised and rebar3 plugin will raise an error code 5, erlang-mk always exit 2 on error (GNU make limitation).
See also Tuning output
- ^ and ~ approximative version
- Hyphenated range
- Combining range (and + or)
For more details see samovar documentation.