Skip to content

version.scad

Revar Desmera edited this page Nov 29, 2024 · 1 revision

LibFile: version.scad

File that provides functions to manage versioning.

To use, add the following lines to the beginning of your file:

include <BOSL2/std.scad>

File Contents

  1. Section: BOSL Library Version Functions

  2. Section: Generic Version Functions

Section: BOSL Library Version Functions

Function: bosl_version()

Synopsis: Returns the BOSL2 version as a list.

Topics: Versioning

See Also: bosl_version_num(), bosl_version_str(), bosl_required()

Usage:

  • ver = bosl_version();

Description:

Returns a list with three integer elements, [MAJOR,MINOR,REV], representing the Major, Minor, and Build Revision numbers. For example, version 2.1.43 will be returned as [2,1,43].


Function: bosl_version_num()

Synopsis: Returns the BOSL2 version as a float.

Topics: Versioning

See Also: bosl_version(), bosl_version_str(), bosl_required()

Usage:

  • ver = bosl_version_num();

Description:

Returns a floating point number of the version, formatted like M.mmrrrr where M is the major version number, each m is a zero-padded digit of the minor version number, and each r is a zero-padded digit of the build revision number. For example, version 2.1.43 will be returned as 2.010043.


Function: bosl_version_str()

Synopsis: Returns the BOSL2 version as a string.

Topics: Versioning

See Also: bosl_version(), bosl_version_num(), bosl_required()

Usage:

  • ver = bosl_version_str();

Description:

Returns a string of the version, formatted like "MAJOR.MINOR.REV". For example, version 2.1.43 will be returned as "2.1.43".


Module: bosl_required()

Synopsis: Asserts that the current version of the library is at least the given version.

Topics: Versioning

See Also: version_to_num(), version_to_str(), version_to_list(), version_cmp()

Usage:

  • bosl_required(version);

Description:

Given a version as a list, number, or string, asserts that the currently installed BOSL library is at least the given version.

Arguments:

By Position What it does
version version required

Section: Generic Version Functions

Function: version_to_list()

Synopsis: Splits a version into a list of integer version parts.

Topics: Versioning

See Also: version_to_num(), version_to_str(), version_cmp(), bosl_required()

Usage:

  • ver = version_to_list(x);

Description:

Given a version string, number, or list, returns the list of version integers [MAJOR,MINOR,REVISION].

Arguments:

By Position What it does
x version to convert

Example 1:

include <BOSL2/std.scad>
v1 = version_to_list("2.1.43");  // Returns: [2,1,43]
v2 = version_to_list(2.120234);  // Returns: [2,12,234]
v3 = version_to_list([2,3,4]);   // Returns: [2,3,4]
v4 = version_to_list([2,3,4,5]); // Returns: [2,3,4]




Function: version_to_str()

Synopsis: Coerces a version into a standard version string.

Topics: Versioning

See Also: version_to_num(), version_to_list(), version_cmp(), bosl_required()

Usage:

  • str = version_to_str(version);

Description:

Takes a version string, number, or list, and returns the properly formatter version string for it.

Arguments:

By Position What it does
version version to convert

Example 1:

include <BOSL2/std.scad>
v1 = version_to_str([2,1,43]);  // Returns: "2.1.43"
v2 = version_to_str(2.010043);  // Returns: "2.1.43"
v3 = version_to_str(2.340789);  // Returns: "2.34.789"
v4 = version_to_str("2.3.89");  // Returns: "2.3.89"




Function: version_to_num()

Synopsis: Coerces a version into a standard version float.

Topics: Versioning

See Also: version_cmp(), version_to_str(), version_to_list(), bosl_required()

Usage:

  • str = version_to_num(version);

Description:

Takes a version string, number, or list, and returns the properly formatter version number for it.

Arguments:

By Position What it does
version version to convert

Example 1:

include <BOSL2/std.scad>
v1 = version_to_num([2,1,43]);   // Returns: 2.010043
v2 = version_to_num([2,34,567]); // Returns: 2.340567
v3 = version_to_num(2.120567);   // Returns: 2.120567
v4 = version_to_num("2.6.79");   // Returns: 2.060079




Function: version_cmp()

Synopsis: Compares two versions.

Topics: Versioning

See Also: version_to_num(), version_to_str(), version_to_list(), bosl_required()

Usage:

  • cmp = version_cmp(a,b);

Description:

Given a pair of versions, in any combination of string, integer, or list, compares them, and returns the relative value of them. Returns an integer <0 if a<b. Returns 0 if a==b. Returns an integer >0 if a>b.

Example 1:

include <BOSL2/std.scad>
cmp1 = version_cmp(2.010034, "2.1.33");  // Returns: >0
cmp2 = version_cmp(2.010034, "2.1.34");  // Returns: 0
cmp3 = version_cmp(2.010034, "2.1.35");  // Returns: <0




Clone this wiki locally