HSmakevers


HSmakevers ist die Antwort auf eine Zeit in der Versionskontrolle noch von Hand gepflegt wurde. Heute bieten das einige IDE's mit an, aber meine IDE CodeBlocks hat da noch einige Schwierigkeiten. Wichtig ist die Entscheidung, ob man HSmakevers als Pre- - sprich vor dem Compilieren durchführt oder erst hinterher. Für einen Aufruf Hinterher spricht, dass man Versionsnummnern spart. Ebenso wird die Zeit eingespart um überbaupt eine neue Versionsnummner zu erstellen. Setzt man HSmakevers als Prebuild ein, dann hat man den Vorteil, dass man direkten Einfluss auf die nächste Versionsnummner hat. Die Entscheidung muss jeder selbst fällen.

Kommen wir zum Aufbau einer version.h:

  1: // This is a generated File. Don't modify if you not understand what your are do
  2: 
  3: #ifndef I_VERSION_H
  4: #define I_VERSION_H
  5: 
  6: #define I_MAJOR 1
  7: #define I_MINOR 8
  8: #define I_BUILD 1
  9: #define I_BETA "Beta"
 10: 
 11: #define I_BuildCount 322
 12: #define I_BDate "17.11.2016 15:18:54"
 13: #define I_FullVersion "1.8.1 Beta"
 14: 
 15: #endif // I_VERSION_H

Im Einzelnen:
Zeile 3 enthält den Blockstart, der eine doppelte Einbindung erlaubt. der Block endet in Zeile 15. Zu dem I_ vor allen Definitionen ist ein Parameter verantwortlich. MAJOR.MINOR.BUILD ist die Versionsnummner. Beta der Status der Software.

Um überhaupt HSmakevers zur Arbeit zu bewegen muss es eine Ausgangdatei geben. Das kann eine leere Datei sein.

Die Parameter von HSmakevers:

OPTIONS:
-p <Prefix> use Prefix
-i <IFile> use IFile for Input; default is VERSION.h
-o <OFile> use OFile for Output; default is the same as input
-b <num> max Builds before Minor changed default: 999
-m <num> max Minor before Major changed default: 999
-r newBeta Name of Version like Beta, Gamma or Release
-s for a new subversion (Minor)
-d don't use #define VERSION_H
-h don't write history.txt
-c Comment

Im Einzelnen:


Last Change: 2018-04-03