AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Werkzeuge Finalbuilder: Verschiedene $Config und $Platform bei externen Komponenten
Thema durchsuchen
Ansicht
Themen-Optionen

Finalbuilder: Verschiedene $Config und $Platform bei externen Komponenten

Ein Thema von TiGü · begonnen am 14. Mai 2013 · letzter Beitrag vom 14. Mai 2013
Antwort Antwort
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#1

Finalbuilder: Verschiedene $Config und $Platform bei externen Komponenten

  Alt 14. Mai 2013, 14:35
Hallo zusammen,

wie habt ihr folgendes Problem in euren Buildtools gelöst?

Wir sind von jetzt endlich von 2009 auf XE3 umgestiegen und unserer ALM hadert mit den neuen Möglichkeiten.
Früher gab es nur zwei Optionen: Plattform Win32 mit Debug- und Release-Konfigurationen.

Mit XE3 kommt zusätzlich Win64 hinzu.

Bisher wurden die HPP, DCU, BPL, DCP, BPI und LIB-Dateien einfach zu den Sourcen (PAS, DFM) auf den Buildrechner hinzugeschmissen und der Build fertiggestellt.

Nun will unserer ALM das fein säuberlich getrennt haben in eigene Ordner:
Relase_Win32, Relase_Win64, Debug_Win32, Debug_Win64

Unserer ALM will zuerst die Komponenten builden, in allen vier Variationen und dann erst die richtigen Programme/Projekte, die die Komponenten benötigen, in einen einzigen Durchlauf des Buildprozesses.

Er schlägt nun vor, dass die bisherigen leeren Einträge in den Projektoptionen der Komponentenprojekte (Delphi Compiler -> DCP output directory, Package output directory, Unit output directory) angepasst werden müssen.
Demzufolge müssten auch die globalen Suchpfade in den IDEs aller beteiligten Entwickler angepasst werden, weil nichts mehr unter in den angestammten $(BDSCOMMONDIR) steht.

Ich halte das für keine praktiable Lösung!
Aber mein Versuch das Ganze im FinalBuilder abzuhandeln wurde strikt abgelehnt.
In meinen Augen sind beide Möglichkeiten mit Arbeit verbunden, nur wäre eine Änderung der Standardpfade der IDE bei jeder Neuinstallation (für bspw. neue Entwickler) ein ziemlicher Fackelzug.

Wie habt ihr das gelöst?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.447 Beiträge
 
Delphi 12 Athens
 
#2

AW: Finalbuilder: Verschiedene $Config und $Platform bei externen Komponenten

  Alt 14. Mai 2013, 14:47
Wie habt ihr das gelöst?
FinalBuilder
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Finalbuilder: Verschiedene $Config und $Platform bei externen Komponenten

  Alt 14. Mai 2013, 15:44
Wie habt ihr das gelöst?
FinalBuilder
Also angenommen, ihr nutzt die Komponente Virtual Treeview für Delphi/C++:

Habt ihr da pro Config + Platform ein eigenes Final Builder Projekt? Also deren vier?

Hat das FinalBuilder-Projekt für die Ausgabeverzeichnisse eigene Einträge oder nimmt es die aus der Projektdatei der Komponente?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.447 Beiträge
 
Delphi 12 Athens
 
#4

AW: Finalbuilder: Verschiedene $Config und $Platform bei externen Komponenten

  Alt 14. Mai 2013, 16:35
Also angenommen, ihr nutzt die Komponente Virtual Treeview für Delphi/C++:

Habt ihr da pro Config + Platform ein eigenes Final Builder Projekt? Also deren vier?

Hat das FinalBuilder-Projekt für die Ausgabeverzeichnisse eigene Einträge oder nimmt es die aus der Projektdatei der Komponente?
Nein. Es gibt nur ein FinalBuilder-Projekt mit diversen Action-Lists. Eine davon erzeugt über geschachtelte Iteratoren alle nötigen Ausprägungen für alle verwendeten Projekte - natürlich mit den entsprechenden Zielverzeichnissen. Da das FinalBuilder-Projekt innerhalb des CI-Prozesses läuft, sind die Verzeichnisse alle relativ zu einem Basis-Verzeichnis angegeben, das dem FB übergeben wird (das ist bei Start des Projekts immer leer).

Manche Sachen lassen sich in der Delphi-Compiler-Action im FB nicht so leicht variabel über den Dialog angeben. In dem Fall verwende ich dann einen Skript-Event.

Die Suchpfade werden aus der Projektdatei genommen, da die ja mit versioniert werden. Grundsätzlich sind alle Pfade in der dproj relativ. Damit kann ich ein Projekt in ein beliebiges Verzeichnis auschecken und sofort compilieren. Das ist besonders dann wichtig, wenn man mal auf einen älteren Stand zurückgreifen muss. Problematisch dabei sind nur die aktuellen Komponenten in der IDE - da arbeite ich noch an einer brauchbaren Lösung.

Eigentlich konnte ich bisher alles ziemlich komfortabel mit FB lösen (mit der Professional-Version). Einchecken von Code führt automatisch zu einem Continuous Build mit Tests. Eine neue Version wird über einen Mausklick erzeugt und optional auch im Web bereitgestellt. Es dauert zwar eine Weile, bis man das alles fehlerfrei am Laufen hat, aber wenn es dann läuft braucht man sich nicht weiter kümmern. In beiden Fällen wird übrigens dasselbe FinalBuilder-Projekt aufgerufen - lediglich mit unterschiedlichen Parametern.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:45 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