1 version.scad
Revar Desmera edited this page 2024-12-14 02:23:46 -08:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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