AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein SVN Revision als Buildnummer nutzen in Delphi
Thema durchsuchen
Ansicht
Themen-Optionen

SVN Revision als Buildnummer nutzen in Delphi

Ein Thema von Daimonion · begonnen am 27. Aug 2009 · letzter Beitrag vom 8. Mai 2013
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Daimonion
Daimonion

Registriert seit: 4. Dez 2006
Ort: Vöhrenbach
15 Beiträge
 
#1

SVN Revision als Buildnummer nutzen in Delphi

  Alt 27. Aug 2009, 17:21
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
Thomas
Zitat Stromberg S03E08 - Erika:
"So...selbst die Capitolmatratze, die hier auf jedem Karosseplan umgerutscht ist, was will sie von mir? Zahlen. Aber so ist das. Als Chef in meiner Position, da bist du so einsam wie...Gott."
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: SVN Revision als Buildnummer nutzen in Delphi

  Alt 27. Aug 2009, 17:25
neuere Delphi-Versionen haben Post-Compile-Events wo sowas einfach einzubauen wäre.
Ansonsten schau dir mal FinalBuilder an.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Daimonion
Daimonion

Registriert seit: 4. Dez 2006
Ort: Vöhrenbach
15 Beiträge
 
#3

Re: SVN Revision als Buildnummer nutzen in Delphi

  Alt 27. Aug 2009, 17:30
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.
Thomas
Zitat Stromberg S03E08 - Erika:
"So...selbst die Capitolmatratze, die hier auf jedem Karosseplan umgerutscht ist, was will sie von mir? Zahlen. Aber so ist das. Als Chef in meiner Position, da bist du so einsam wie...Gott."
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#4

Re: SVN Revision als Buildnummer nutzen in Delphi

  Alt 27. Aug 2009, 17:31
Jupp das ist kein Problem auch OHNE die Hooks.

"svn:keywords" ist das Stichwort.

Zitat:
4.17.1.1. svn:keywords
Subversion supports CVS-like keyword expansion which can be used to embed filename and revision information within the file itself. Keywords currently supported are:

$Date$
Date of last known commit. This is based on information obtained when you update your working copy. It does not check the repository to find more recent changes.

$Revision$
Revision of last known commit.

$Author$
Author who made the last known commit.

$HeadURL$
The full URL of this file in the repository.

$Id$
A compressed combination of the previous four keywords.


To find out how to use these keywords, look at the svn:keywords section in the Subversion book, which gives a full description of these keywords and how to enable and use them.

For more information about properties in Subversion see the Special Properties .
die lässt du dir einfach ein eine datei als resource, text oder was auch immer schreiben.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von Daimonion
Daimonion

Registriert seit: 4. Dez 2006
Ort: Vöhrenbach
15 Beiträge
 
#5

Re: SVN Revision als Buildnummer nutzen in Delphi

  Alt 27. Aug 2009, 23:43
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
Thomas
Zitat Stromberg S03E08 - Erika:
"So...selbst die Capitolmatratze, die hier auf jedem Karosseplan umgerutscht ist, was will sie von mir? Zahlen. Aber so ist das. Als Chef in meiner Position, da bist du so einsam wie...Gott."
  Mit Zitat antworten Zitat
pertzschc

Registriert seit: 29. Jul 2005
Ort: Leipzig
309 Beiträge
 
Delphi 12 Athens
 
#6

Re: SVN Revision als Buildnummer nutzen in Delphi

  Alt 28. Aug 2009, 01:16
Zitat von Daimonion:
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.
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...
Wir machen das mit ANT-Skripten. Darin bauen wir eine cfg-Datei für den Kompiler und kompilieren unsere Projekte mit BCC32.exe. Beim Aufbau der cfg-Datei lesen wir die entsprechende SVN-Revisionsnummer, die dem Stand der Sourcen auf dem Rechner entspricht und setzen diese als Buildnummer im cfg ein. Wir benutzen Delphi 7. Falls Du gleich noch ein Setup z.B. mit Innosetup haben willst, auch dessen ISS Datei lässt sich so mit der Build/Revisionsnummer versehen und auch per Kommandozeile kompilieren.

Gruß,
Christoph
  Mit Zitat antworten Zitat
Benutzerbild von Daimonion
Daimonion

Registriert seit: 4. Dez 2006
Ort: Vöhrenbach
15 Beiträge
 
#7

Re: SVN Revision als Buildnummer nutzen in Delphi

  Alt 28. Aug 2009, 10:14
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
Thomas
Zitat Stromberg S03E08 - Erika:
"So...selbst die Capitolmatratze, die hier auf jedem Karosseplan umgerutscht ist, was will sie von mir? Zahlen. Aber so ist das. Als Chef in meiner Position, da bist du so einsam wie...Gott."
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#8

Re: SVN Revision als Buildnummer nutzen in Delphi

  Alt 28. Aug 2009, 10:22
Zitat von Daimonion:
richtigen Stelle der Revisionsnummer (Ich hab schon gesucht und gefunden wo sie hinterlegt ist)
Du brauchst doch nur die VersionInformationen selbst erzeugen und dann als Resource Compilieren und einbinden.

Natürlich muss du dann das einbinden von der Delphi Versionsinfo unterbinden. Aber dafür gibt ja eine Checkbox.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von Daimonion
Daimonion

Registriert seit: 4. Dez 2006
Ort: Vöhrenbach
15 Beiträge
 
#9

Re: SVN Revision als Buildnummer nutzen in Delphi

  Alt 28. Aug 2009, 10:26
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.
Thomas
Zitat Stromberg S03E08 - Erika:
"So...selbst die Capitolmatratze, die hier auf jedem Karosseplan umgerutscht ist, was will sie von mir? Zahlen. Aber so ist das. Als Chef in meiner Position, da bist du so einsam wie...Gott."
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#10

Re: SVN Revision als Buildnummer nutzen in Delphi

  Alt 28. Aug 2009, 11:23
Schau Dir die Resource Deines Projektes mal mit dem Resource Hacker an. Dort siehst Du die Syntax für die .rc Resource-Scripte, die Du dann mit dem Brc32.exe Resource compiler in die einzulinkende Resource kompilieren kannst.

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.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz