Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Entwicklungsrechner synchron halten (https://www.delphipraxis.net/203462-entwicklungsrechner-synchron-halten.html)

TigerLilly 19. Feb 2020 11:31

Entwicklungsrechner synchron halten
 
Ich freue mich über hilfreichen Input und Ideen:

Über unser VCS halten wir den Sourcecode synchronisiert. Wenn jetzt aber einer eine Lib neu aufnimmt, dann müssen möglicherweise Pfade im Delphi angepasst werden. Es wäre cool, wenn das auch irgendwie automatisierbar wäre.

Ich denke da zB an eine Textdatei mit (Delphi)Pfaden, die unter Versionskontrolle steht und bei Bedarf oder automatisch diese Pfade ins Delphi schiebt.

Wie handhabt Ihr sowas?

Der schöne Günther 19. Feb 2020 11:38

AW: Entwicklungsrechner synchron halten
 
Die Library nicht global irgendwo auf C:\User\Jupp\ ins Delphi reinschrauben sondern lokal ins Projektarchiv unter .\libs\cooleLibrary. Somit kann auch jedes Prohekt unterschiedliche Versionen einer Bibliothek verwenden.

TigerLilly 19. Feb 2020 11:49

AW: Entwicklungsrechner synchron halten
 
Naja, es gibt Vorgaben, wo Bibliotheken zu liegen haben +ü wie die versioniert werden. Projektsourcen werden über die DPR eingebunden, Bibliotheken über Delphi-Pfade. Um die geht´s mir. Weil der Code ist da, aber der Pfad fehlt. :- (

Rollo62 19. Feb 2020 12:23

AW: Entwicklungsrechner synchron halten
 
Ich arbeite mit individuellen Projektpfaden statt Textdatei,
so das jedes Projekt, falls nötig, eigene Pfadeinstellungen bekommt.
Das ist zwar etwas mehr Aufwand bei Projekterstellung, aber zumindest können mir
globale Pfadeinstellungen in den Tools\Optionen nicht mehr meine Projekte zerschiessen.

In den globalen Pfaden Tools\Optionen habe ich dann nichts Wesentliches drin.

TigerLilly 19. Feb 2020 12:47

AW: Entwicklungsrechner synchron halten
 
Zitat:

Zitat von Rollo62 (Beitrag 1457896)
Ich arbeite mit individuellen Projektpfaden statt Textdatei

Was meinst du damit?

sakura 19. Feb 2020 13:38

AW: Entwicklungsrechner synchron halten
 
Du definierst z.B. eine Umgebungsvariable MEIN_PROJ_LIB und darunter packst Du alle Bibliotheken des Projektes. Jetzt kannst Du in den Suchpfaden alle benötigten Libs hinzufügen, also: $(MEIN_PROJ_LIB)\LibA;$(MEIN_PROJ_LIB)\LibB;...

So kannst Du für verschiedene Projekte verschiedene Libs bzw. Versionen einer Lib nutzen. Auch interessant zum Testen für verteilte Systeme ;-)

...:cat:...

freimatz 19. Feb 2020 13:46

AW: Entwicklungsrechner synchron halten
 
Was verstehst Du unter Libs?

Rollo62 19. Feb 2020 14:08

AW: Entwicklungsrechner synchron halten
 
Zitat:

Zitat von sakura (Beitrag 1457907)
Du definierst z.B. eine Umgebungsvariable MEIN_PROJ_LIB und darunter packst Du alle Bibliotheken des Projektes. Jetzt kannst Du in den Suchpfaden alle benötigten Libs hinzufügen, also: $(MEIN_PROJ_LIB)\LibA;$(MEIN_PROJ_LIB)\LibB;...

So kannst Du für verschiedene Projekte verschiedene Libs bzw. Versionen einer Lib nutzen. Auch interessant zum Testen für verteilte Systeme ;-)

Ja das meinte ich damit :thumb:

Ich habe aber für alle Libraries separate Umgebungsvariablen.
Z.B. für $(S4D) für Spring4D, $(Kastri) für Kastri-Libraries $(Grijjy) ... etc.
Diese weden nur einmal angelegt, wenn die IDE neu installiert wird.
Benutzt werden die dann nur in den Projektpfaden.

TigerLilly 19. Feb 2020 14:28

AW: Entwicklungsrechner synchron halten
 
Das mit den Umgebungsveriablen ist cool, gute Idee.

Zitat:

Zitat von Rollo62 (Beitrag 1457916)
Benutzt werden die dann nur in den Projektpfaden.

Welche Projektpfade meinst du da?

Jumpy 19. Feb 2020 14:41

AW: Entwicklungsrechner synchron halten
 
Zitat:

Zitat von TigerLilly (Beitrag 1457924)
Das mit den Umgebungsveriablen ist cool, gute Idee.

Zitat:

Zitat von Rollo62 (Beitrag 1457916)
Benutzt werden die dann nur in den Projektpfaden.

Welche Projektpfade meinst du da?

Man kann in den Optionen der IDE die Pfade so eintragen, dass Sie immer "bekannt" sind, egal welches Projekt.
Oder man trägt die Pfade nur in den Optionen des Projektes ein, das ist was hier vorgeschlagen wird.

TigerLilly 19. Feb 2020 15:13

AW: Entwicklungsrechner synchron halten
 
Ok, aber das hilft nicht wirklich. Wenn eine neue Lib dazu kommt, muss ich den Pfad ja trotzdem im Delphi ergänzen. Und genau das wollte ich automatisieren.

Es sei denn:
Ich mache sowas wie

SET DELPHI-LIB-PATH="c:\.....; ..."
Und trage im Library-Pfad für Delphi $(DELPHI-LIB-PATH) ein + sonst nix.

Das kommt in einen Batchjob + der unter Versionskontrolle.

Oder so ähnlich?

dummzeuch 19. Feb 2020 15:24

AW: Entwicklungsrechner synchron halten
 
Zitat:

Zitat von TigerLilly (Beitrag 1457930)
Ok, aber das hilft nicht wirklich. Wenn eine neue Lib dazu kommt, muss ich den Pfad ja trotzdem im Delphi ergänzen. Und genau das wollte ich automatisieren.

Vielleicht kann man ja auch mal mit demjenigen sprechen, der die weiter oben von Dir geannnte Regel aufgestellt hat, dass Bibliotheken immer in den Library-Path sollen - das macht in meinen Augen nämlich nur wenig Sinn - dass man sie stattdessen in den Projektpfad schreiben sollte. Dann braucht man ausser einem checkout gar nichts machen.

Stevie 19. Feb 2020 15:34

AW: Entwicklungsrechner synchron halten
 
Kleines Tool schreiben, was an HKCU\Software\Embarcadero\BDS\<ver>\Library\<platf orm>\Search Path nen Wert anhängt geht glaub ich sogar mit Delphi.

TigerLilly 19. Feb 2020 15:57

AW: Entwicklungsrechner synchron halten
 
Zitat:

Zitat von dummzeuch (Beitrag 1457931)
Vielleicht kann man ja auch mal mit demjenigen sprechen, der die weiter oben von Dir geannnte Regel aufgestellt hat, dass Bibliotheken immer in den Library-Path sollen - das macht in meinen Augen nämlich nur wenig Sinn - dass man sie stattdessen in den Projektpfad schreiben sollte. Dann braucht man ausser einem checkout gar nichts machen.

Bei uns kommen eigentlich in den Projektpfad nur Dinge, die projektspezifisch sind. Bibliotheken, die "allgemein" benutzbar sind, kommen in die Delphi-Pfade.

Ich mag auch nicht, dass für jede Lib die DCU´s in 100 Verzeichnissen doppelt vorkommen. Aber es stimmt schon, wären die Pfade im Projekt-Suchpfad, genügt ein Checkout. Hmm.

Der schöne Günther 19. Feb 2020 16:07

AW: Entwicklungsrechner synchron halten
 
Zitat:

Zitat von TigerLilly (Beitrag 1457934)
Aber es stimmt schon, wären die Pfade im Projekt-Suchpfad, genügt ein Checkout.

Und du bist nicht gezwungen in allen Projekten die gleiche Version einer Bibliothek zu verwenden.

TigerLilly 20. Feb 2020 06:54

AW: Entwicklungsrechner synchron halten
 
Nachteil ist halt, dass man allen Installern hinterherwassern muss + DCUs etc vielfach abgelegt hat. Das finde ich ja jetzt schon mühsam, wenn mancher Installer die DCUs woanders ablegt, als bei der manuellen Kompilierung der Sourcen.

Rollo62 20. Feb 2020 09:13

AW: Entwicklungsrechner synchron halten
 
Zitat:

Zitat von TigerLilly (Beitrag 1457967)
Nachteil ist halt, dass man allen Installern hinterherwassern muss + DCUs etc vielfach abgelegt hat. Das finde ich ja jetzt schon mühsam, wenn mancher Installer die DCUs woanders ablegt, als bei der manuellen Kompilierung der Sourcen.

Ok, in manchen Projekten machen Precompilierte DCUs Sinn.
Ich halte es aber seit Jahren so das ich möglichst immer frisch aus Sourcen compiliere,
bei guter Modularisierung dauert das nur unwesentlich länger.
Ich lösche die DCUs für einem großen Build bewusst.

Dafür habe ich seither aber keine Probleme mit DCU "Leichen" mehr, die nicht aktuell sind.

Edit:
Probleme auch wie: IDE-Abstürze, Internal Compiler Error, Mismatch Debug-Positionen, out-of-memory etc.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 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