De versie van je eigen programma en die van Gambas kennen we al, maar hoe kennen we de versies van de libraries die we gebruiken?
In de programmeeromgeving kan je die vinden in Project, Eigenschappen, Bibliotheken
, maar hoe kunnen we in een lopend programma weergeven welke versie van bibliotheken er gebruikt worden?
Library versie
Voor mijn eigen libraries kan ik het oplossen door een functie te maken die het versienummer levert.
In het library project gebruik ik een bestand met de naam VERSION
(volledig in hoofdletters).
Dat is ook voorzien in de IDE: vink aan bij project: “Haal uit ‘VERSION’ bestand”.
Dan maak ik een method die ik getVersion()
noem en die me de versie uitleest en doorspeelt:
Return File.Load("VERSION")
Tussen de methodes van de klasse zie je nu ook getVersion()
staan.
ps: In Gambas kan je die informatie vinden in het verborgen .project bestand.
Library=:supplier/SomeLib:0.2
Gebruikte Libraries
(Upd. 07-2023)
Een Gambas programma (applicatie/project) dat één of meer libraries gebruikt, is voor zijn werking afhankelijk van de versies daarvan; je moet dus te weten kunnen komen welke versies van de libraries je moet installeren om het programma goed te draaien.
Ik standaardiseer daarvoor op een bestand “Libraries.txt”, waarin ik in volgorde de libraries opsom met hun versienummer, 1 per lijn, en in volgorde van afhankelijkheid; bv DataContext gebruikt zelf RunCounter, dan:
RunCounter 0.0.1
DataContext 0.2.9
Als tijdens de ontwikkeling van het programma overgeschakeld wordt naar RunCounter 0.0.2 dan pas je in Libraries.txt deze versie aan, en dan weet je dat het de bedoeling is met die versie te werken.