Unit PasDoc_Versions

Uses
Classes, Interfaces, Objects and Records
Types
Variables

Description

Information about PasDoc and compilers version.

Overview

Functions and Procedures

function COMPILER_NAME: string;
function PASDOC_FULL_INFO: string;

Constants

COMPILER_BITS = '32' ;
PASDOC_NAME = 'PasDoc';
PASDOC_DATE = '2021-02-07';
PASDOC_VERSION = '0.16.0';
PASDOC_NAME_AND_VERSION = PASDOC_NAME + ' ' + PASDOC_VERSION;
PASDOC_HOMEPAGE = 'https://pasdoc.github.io/';

Description

Functions and Procedures

function COMPILER_NAME: string;

Nice compiler name. This is a function only because we can't nicely declare it as a constant. But this behaves like a constant, i.e. every time you call it it returns the same thing (as long as this is the same binary).

function PASDOC_FULL_INFO: string;

Returns pasdoc name, version, used compiler version, etc.

This is a function only because we can't nicely declare it as a constant. But this behaves like a constant, i.e. every time you call it it returns the same thing (as long as this is the same binary).

Constants

COMPILER_BITS = '32' ;
 
PASDOC_NAME = 'PasDoc';
 
PASDOC_DATE = '2021-02-07';

Date of last pasdoc release.

We used to have this constant set to CVS/SVN $ Date keyword, but:

  • That's not a really correct indication of pasdoc release. $ Date is only the date when this file, PasDoc_Base.pas, was last modified.

    As it happens, always when you make an official release you have to manually change PASDOC_VERSION constant in this file below. So PASDOC_DATE was (at the time when the official release was made) updated to current date. But, since you have to change PASDOC_VERSION constant manually anyway, then it's not much of a problem to also update PASDOC_DATE manually.

    For unofficial releases (i.e. when pasdoc is simply compiled from SVN by anyone, or when it's packaged for [https://github.com/pasdoc/pasdoc/wiki/DevelopmentSnapshots]), PASDOC_DATE has no clear meaning. It's not the date of this release (since you don't update the PASDOC_VERSION constant) and it's not the date of last official release (since some commits possibly happened to PasDoc_Base.pas since last release).

  • SVN makes this date look bad for the purpose of PASDOC_FULL_INFO. It's too long: contains the time, day of the week, and a descriptive version. Like

    2006-11-15 07:12:34 +0100 (Wed, 15 Nov 2006)

    Moreover, it contains indication of local user's system time, and the words (day of the week and month's name) are localized. So it depends on the locale developer has set (you can avoid localization of the words by doing things like export LANG=C before SVN operations, but it's too error-prone).

PASDOC_VERSION = '0.16.0';
 
PASDOC_NAME_AND_VERSION = PASDOC_NAME + ' ' + PASDOC_VERSION;
 
PASDOC_HOMEPAGE = 'https://pasdoc.github.io/';
 

Generated by PasDoc 0.16.0.