BuildInformation

Description

[ShutdownSurvive]
abstract class Tinman.Core.BuildInformation

Abstract base for classes that represent build information of a module.

Public / Constructors

For


public static method For → (4)

moduleName in : string

[not-empty]
See ModuleName.

versionMajor in : int32

[>=0]
See VersionMajor.

versionMinor in : int32

[>=0]
See VersionMinor

buildDate in : string

[not-empty]
See BuildDate.

returns → BuildInformation

The BuildInformation instance.

Creates a new instance of BuildInformation.

Load


public static method Load → (1)

path in : Path

[not-null]
Path to a module descriptor text file, in CharacterEncoding.UTF_8 encoding.

returns → BuildInformation

The loaded BuildInformation.

Load the given module descriptor file.

A module descriptor file is a text file in CharacterEncoding.UTF_8 encoding which conforms to the following Grammar:

descriptor    := module-name lb version-major lb version-minor lb build-date ;

build-date    := digit[4] '/' digit[2] '/' digit[2] ;
lb            := '\r' '\n'? | '\n' ;
module-name   := name ;
version-major := number ;
version-minor := number ;

name          := ]\n\r[+ ;
number        := digit+ ;

The following is an example for a module named MyModule with the version0.9:

MyModule
0
9
2024/01/13
IOException

If an I/O error has occurred.

ValidatingException

If the file content is malformed.

Public / Methods

Save


public method Save → (1)

path in : Path

[not-null]
Path to the module descriptor file.

Saves a module descriptor file.

IOException

If an I/O error has occurred.

To​String

2 overloads


public method ToString1 → (3)

includeModuleName in : bool

Include ModuleName?

includeVersion opt : bool = true

Include VersionMajor and VersionMinor?

includeBuildDate opt : bool = true

Include BuildDate?

returns → string

human-readable string representation.

Returns a human-readable string representation of this build information.

Public / Attributes

Build​Date


public abstract attribute BuildDate → (get)

value : string

[not-empty]
The build date string.

The date of the build.

The string value stores the build date in the following format:
"YYYY/MM/DD".

Module​Name


public abstract attribute ModuleName → (get)

value : string

[not-empty]
The build module name string.

Machine-readable and human-understandable name of the code module this build information is referring to.

Version


public attribute Version → (get)

value : string

[not-empty]
The version number string.

The version number of the build in the form: major.minor.

Version​Major


public abstract attribute VersionMajor → (get)

value : int32

[>=0]
The major version number.

The major version number of the build.

Each time the major version number is increased, the minor version number is reset to 0. Breaking changes and thus code migration can become necessary between major versions.

Version​Minor


public abstract attribute VersionMinor → (get)

value : int32

[>=0]
The bugfix number of the build version.

The minor version number of the build.

The minor version number is incremented after bugfixes and patches which do not affect API compatibility, thus breaking changes will not occur and code migration is not necessary.