AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Subversion Revision in die Compilierung aufnehmen

Subversion Revision in die Compilierung aufnehmen

Ein Thema von David Martens · begonnen am 31. Mai 2012 · letzter Beitrag vom 1. Jun 2012
Antwort Antwort
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.071 Beiträge
 
Delphi 12 Athens
 
#1

AW: Subversion Revision in die Compilierung aufnehmen

  Alt 1. Jun 2012, 07:52
Und warum sollte man die Build-Events, die ja immerhin auch in dem MSBuild-XML drin stehen, nicht benutzen?

Zu dem Beispiel:
Klar könnte man die Revision auf dem Weg in eine .rc Datei schreiben, die man dann kompilieren kann. Das wäre aber dann von hinten durch die Brust ins Auge, weil man dann die Versionsinformationen nicht mehr in Delphi verwalten kann.

Deshalb sehe ich keinen Vorteil darin herumzutricksen, statt direkt per Programm die Versionsinformationen zu aktualisieren (ohne sie komplett selbst zu erstellen) und ansonsten alles standardmäßig zu behandeln...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.645 Beiträge
 
#2

AW: Subversion Revision in die Compilierung aufnehmen

  Alt 1. Jun 2012, 09:55
Selbst das aufrufen eines externen Tools würde ich mit einem Execute-Task in einem eigenen Target machen. Hier kann man wenigstens noch saubere Fehlerbehandlung machen. Die Pre- und Post-Build Events sind zu Fehleranfällig, zu unflexibel und werden gerne für Dinge mißbraucht, die als eigenes Target viel einfacher zu realisieren (und auszuwerten!) sind.

Zudem kann man die Reihenfolge im Target beeinlussen. Pre- und Postbuild Steps passieren an zwei definierten Positionen ganz am Anfang und ganz am Ende, und lassen sich nicht ändern.

Ein Target kann man mittels beforeTargets / afterTargets genau dort in den Build-Prozess integrieren wo es Sinn macht: Zum Beispiel nur dann, wenn die ersten paar Targets schon durchgelaufen sind. Wenn MSbuild dann z.B. feststellt dass keine Files seit dem letzten Build geändert wurden, würden bestimmte Steps übersprungen und z.B. direkt zum Linken übergegangen (spart einiges an Zeit). Wenn ein Pre-Build Event nun aber das File immer ganz am Anfang anfasst, wird auch immer komplett neu gebaut.

Das heisst durch den falschen Gebrauch dieser Pre- und Post-Build events sorgt man ohne es zu wissen gerne für einen ordentlichen Zeitverlust und sorgt dafür, dass bestimmte andere Features in MSBuild nicht mehr funktionieren.

Generell sind Pre- und Post-Build Events also eher in der Kategorie 'potentiell Böse. Sollte man nur Nutzen wenn man *genau* weiss, was man damit tut' einzustufen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.071 Beiträge
 
Delphi 12 Athens
 
#3

AW: Subversion Revision in die Compilierung aufnehmen

  Alt 1. Jun 2012, 12:41
Ich habe bisher an der MSBuild-Projektdatei nicht viel manuell gemacht. Bisher nutze ich nur die Features, die Delphi da auch anbietet.

Es funktioniert ja schon teilweise nicht mehr, wenn ich ein XE2 Projekt wieder mit XE öffne (XE stürzt ab). Da habe ich schon Bedenken was passiert, wenn ich da auch noch manuell drin bastele.

Werden solche zusätzlichen Targets denn auch korrekt abgearbeitet, wenn ich ein Projekt aus Delphi heraus starte?
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.645 Beiträge
 
#4

AW: Subversion Revision in die Compilierung aufnehmen

  Alt 1. Jun 2012, 12:46
Auch die IDE triggert nur MSBuild im Hintergrund an, von daher sollte das passen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:39 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-2025 by Thomas Breitkreuz