@@ -4,16 +4,17 @@ The Ubiquity.NET.Versioning library provides types to support use of versioning
442 ) [ Constrained Semantic Versioning] ( https://csemver.org )
55 - Including Continuous Integration (CI) via CSemVer-CI
66
7- It is viable as a standalone package to allow validation of or comparisons to versions reported
8- at runtime. (Especially from native interop that does not support package dependencies or
9- versioning at runtime.)
7+ It is viable as a standalone package to allow validation of or comparisons to versions
8+ reported at runtime. (Especially from native interop that does not support package
9+ dependencies or versioning at runtime.)
1010
1111## Example
1212``` C#
1313var quad = new FileVersionQuad (SomeAPiThatRetrievesAFileVersionAsUInt64 ());
1414// ...
1515// NOTE: Since all that is available is a QUAD, which has only 1 bit for CI information,
16- // there is no way to translate that to a formal CSemVer-CI. Just test ordering of the quad.
16+ // there is no way to translate that to a formal CSemVer-CI. Just test ordering of the
17+ // quad.
1718if (quad > MinimumVer .FileVersion )
1819{
1920 // Good to go!
@@ -30,31 +31,33 @@ static readonly CSemVer MinimumVer = new(1,2,3/*, ...*/);
3031## Formatting
3132The library contains support for proper formatting of strings based on the rules
3233of a SemVer, CSemVer, and CSemVer-CI. The formatting is done case preserving when
33- possible (Some cases of CSemVer will use string substitution such that ` PreRelease ` would
34- simply become ` pre ` ).
34+ possible (Some cases of CSemVer will use string substitution such that ` PreRelease `
35+ would simply become ` pre ` ).
3536
3637## Parsing
3738The library contains support for parsing of strings based on the rules of a
3839SemVer, CSemVer, and CSemVer-CI
3940
4041## Ordering
41- The types all support ` IComparable<T> ` <sup >[ 1] ( #footnote_1 ) </sup > and properly handle correct
42- sort ordering of the versions according to the rules of SemVer (Which, CSemVer and CSemVer-CI
43- follow with the exception of explicit case insensitivity for AphaNumeric IDs)
42+ The types all support ` IComparable<T> ` <sup >[ 1] ( #footnote_1 ) </sup > and properly handle
43+ correct sort ordering of the versions according to the rules of SemVer (Which, CSemVer
44+ and CSemVer-CI follow with the exception of explicit case insensitivity for AphaNumeric
45+ IDs)
4446
4547> [ !WARNING]
46- > The formal 'spec' for [ CSemVer] ( https://csemver.org ) remains mostly silent on the point
47- > of the short format. See this [ known issue] ( https://github.com/CK-Build/csemver.org/issues/2 ) .
48+ > The formal 'spec' for [ CSemVer] ( https://csemver.org ) remains mostly silent on the
49+ > point of the short format. See this [ known issue] ( https://github.com/CK-Build/csemver.org/issues/2 ) .
4850> Since, the existence of that form was to support NuGet V2, which is now obsolete, this
49- > library does not support the short form at all. (This choice keeps documentation clarity
50- > [ NOT SUPPORTED] and implementation simplicity)
51+ > library does not support the short form at all. (This choice keeps documentation
52+ > clarity [ NOT SUPPORTED] and implementation simplicity)
5153
5254------
5355<sup ><a id =" footnote_1 " >1</a ></sup >Unfortunately, major repositories using SemVer have
54- chosen to use different comparisons. Thus, a consumer is required to know a-priori if the
55- version is compared insensitive or not. Thus all constructors accept an enum indicating
56- the sort ordering to use. Additional, parsing accepts an IFormatProvider, which should
57- provide an ` AlphaNumeirvOrdering ` value to specify the ordering. If none is provided, the
58- default is used. (SemVer uses CaseSensitive comparisons, CSemVer and CSemVerCI ALWAYS use
59- case insensitive) ` IComparer<SemVer> ` instances are available for cases where the versions
60- are from mixed sources and the application wishes to order the versions.
56+ chosen to use different comparisons. Thus, a consumer is required to know a-priori if
57+ the version is compared insensitive or not. Thus all constructors accept an enum
58+ indicating the sort ordering to use. Additional, parsing accepts an IFormatProvider,
59+ which should provide an ` AlphaNumeircOrdering ` value to specify the ordering. If none is
60+ provided, the default is used. (SemVer uses CaseSensitive comparisons, CSemVer and
61+ CSemVerCI ALWAYS use case insensitive) ` IComparer<SemVer> ` instances are available for
62+ cases where the versions are from mixed sources and the application wishes to order the
63+ versions.
0 commit comments