Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: GitLab CI integration

  Alt 7. Okt 2022, 14:34
Ich habe bis auf ganz wenige Ausnahmen (z.B. CodeSite, weil es in der Regel nur lokal verwendet wird) gar keine Pfade auf Fremdbibliotheken in den globalen Bibliotheks-Pfaden. Insbesondere nicht auf dem Build-Server. Dort sind diese Bibliotheken auch nicht in der IDE installiert.

Für das Projekt gibt es bei mir im Wesentlichen folgende Ordnerstruktur:

<root>\source
<root>\lib
<root>\dcu
<root>\bin

source und lib sind in der Versionsverwaltung, dcu und bin sind durch das ignore ausgeschlossen.

Alle Projekte (dpr, dpk, dproj...) liegen in source, die Units in der Regel in sinnvollen Unterverzeichnissen davon. Das hat den Vorteil, dass ich Option Sets mit den relativen Suchpfaden für alle Projekte verwenden kann.

lib ist der Sammelordner für Bibliotheken, die jeweils als submodules darunter liegen.

Für Bibliotheken, die nicht als Source in den Projekten eingebunden sind, gibt es eine Batchdatei zur Erzeugung der DCU, DCP und BPL-Dateien. Die sorgt auch dafür, dass die DFM und RES Dateien in den DCU-Ordner kopiert werden. Das ist dann ein eigener Ordner unterhalb lib, der dann auch im Suchpfad des Projekts auftaucht. Ich verwende bewusst nicht den dcu-Output Ordner, da ich den häufig einfach mal lösche.

Suchpfade auf Bibliotheks-Sourcen werden durch passend benannte Option Sets eingebunden. Nicht alle Projekte verwenden alle Bibliotheken.

Unterhalb von dcu gibt es für jedes Projekt einen Unterordner mit der üblichen Platform/Config-Struktur. Der entsprechende Eintrag in den Projektoptionen dazu lautet ..\$(SanitizedProjectName)\$(Platform)\$(Config) und ist wieder für alle Projekte gleich.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat