![]() |
SVN Revision als Buildnummer nutzen in Delphi
Hallo Leute
Ihr kennt das ja sicherlich. Viele Supportanfragen von Kunden und keiner weiß mehr genau welche Version der Software beim Kunden läuft. Dann geht das Gesuche und Gefrage los. Auch mir geht es ab und zu so und diesem Dilemma möchte ich etwas besser vorbeugen, indem ich die Buildnummer meiner Software nicht mehr einfach nur noch automatisch größer werden lasse, sondern diese am durch die Revisionnummer meiner Versionsverwaltung (SVN) ersetze. Unser SVN Server läuft auf einem Apache und als Client verwenden wir TortoiseSVN. Gibt es in Delphi einen Möglichkeit die Revisionsnummer beim Kompilieren mit auszulesen und als Buildnummer zu nutzen? Ich denke da vielleicht an ein kleines Skript, welches mir vor dem Compilierungsvorgang die Revision ausliest und in eine Variable schreibt. (Idealerweise die, die die Buildnummer definiert.) Grüße Daimonion |
Re: SVN Revision als Buildnummer nutzen in Delphi
neuere Delphi-Versionen haben Post-Compile-Events wo sowas einfach einzubauen wäre.
Ansonsten schau dir mal ![]() |
Re: SVN Revision als Buildnummer nutzen in Delphi
Das hört sich doch schon mal gut an. Da hab ich auch gleich wieder einen Grund mehr meinen Chef von einer neueren IDE zu überzeugen.
Inwieweit könnte sich das denn mit solchen Post-Compile-Events realisieren lassen. FinalBuilder ist sicherlich nicht schlecht, aber ich wage mal zu behaupten, dass die Anzahl unserer Commits zu klein ist, um so einen automatisierten Buildprozes zu benötigen. Eine Lösung für mein Problem wäre es dennoch. Wie macht Delphi das denn mit den Versionsnummern? Kann man die irgendwo manuell in den Sourcen einstellen, oder sind die nur über die Projekteinstellungen und dessen Dialoge verfügbar? Noch nutzen wir Delphi5, wollen aber demnächst auf RadStudio 2009 oder RadStudio 2010 umsteigen. |
Re: SVN Revision als Buildnummer nutzen in Delphi
Jupp das ist kein Problem auch OHNE die Hooks.
"svn:keywords" ist das Stichwort. Zitat:
|
Re: SVN Revision als Buildnummer nutzen in Delphi
Cool, danke für den Hinweis.
Ich werd mir das Kapitel mal näher anschauen und versuchen das in Verbindung mit meinem derzeitigen Delphi Compiler als Automatismus reinzubringen. So long Daimonion |
Re: SVN Revision als Buildnummer nutzen in Delphi
Zitat:
Gruß, Christoph |
Re: SVN Revision als Buildnummer nutzen in Delphi
Auch hier muß ich sagen, dass der Aufwand das Ergebnis nicht rechtfertigen würde. Es ist zwar definitiv die Lösung für mein Problem, aber durch die sehr geringe Anzahl der commits würde es sich nicht rechnen ein automatisiertes Build zu realisieren.
Mit den SVN:Keywords in Verbindung mit der richtigen Stelle der Revisionsnummer (Ich hab schon gesucht und gefunden wo sie hinterlegt ist) denke ich erst mal das gewünscht Ergebnis erzielen zu können. Danke für eure Hilfe. Grüße Daimonion |
Re: SVN Revision als Buildnummer nutzen in Delphi
Zitat:
Natürlich muss du dann das einbinden von der Delphi Versionsinfo unterbinden. Aber dafür gibt ja eine Checkbox. |
Re: SVN Revision als Buildnummer nutzen in Delphi
Das geht natürlich auch!
Edit: Wie sieht denn die Syntax innerhalb des Resource File aus, für die Versionsinformation? Ich hab im Netz nur Anleitungen mit Bildern bzw. Localization Tables gefunden. |
Re: SVN Revision als Buildnummer nutzen in Delphi
Schau Dir die Resource Deines Projektes mal mit dem
![]() In diese .rc Datei fügst Du dann das SVN-Keyword ein und *wuppdi* hast Du ein .rc - File mit den richtigen Versionsinformationen. Das einzige Problem ist, dass Du diese .rc-Datei eben vor dem Kompilieren des Projektes in die .dcr (Delphi Compiled Resource) Datei kompilieren musst. Das geht eben ab Delphi 2006 mit den Pre-Build events. Alternativ könnt ihr natürlich auch eine .drc mit Einchecken, so dass das COmpilieren aus der IDE heraus funktioniert. Wenn Ihr dann ein Build für Kunden macht müsst ihr halt vorher die Resource neu Kompilieren. Das ganze lässt sich aber mit einem Batch-File auch relativ einfach automatisieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz