AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Softwareentwicklung im Allgemeinen Projektplanung und -Management Open Sourcing von Komponenten - Best Practices?
Thema durchsuchen
Ansicht
Themen-Optionen

Open Sourcing von Komponenten - Best Practices?

Ein Thema von mquadrat · begonnen am 14. Jan 2015 · letzter Beitrag vom 15. Jan 2015
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Open Sourcing von Komponenten - Best Practices?

  Alt 14. Jan 2015, 22:10
Packages nur bei visuellen Komponenten in der K-Leiste. Alles andere ist Käse.
Sehe ich anders. Wir haben unsere Units in Packages gesteckt und kompilieren diese mit definierten Ausgabeverzeichnissen für die jeweiligen Plattformen. Der Bibliothekspfad ist entsprechend nur auf ein einziges Ausgabeverzeichnis (mit Platzhaltern für die Plattform) gesetzt. Die Suchpfade führen zu allen Quelltextunits.

Kompiliert wird das ganze per Batchdatei.

Auf diese Weise hat man die Quelltexte sauber von den kompilierten Units getrennt. Und die Units werden auch nicht dauernd unnötig neu kompiliert...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

AW: Open Sourcing von Komponenten - Best Practices?

  Alt 14. Jan 2015, 23:53
Der Vorteil von einem Package für eine Bibliothek ist die gesparte Zeit beim Kompilieren, da die Units ja schon kompiliert vorliegen.

Aufpassen muss man nur, dass man nicht den Debug-Code in die Anwendung bekommt. Darum erzeuge ich die DCU-Dateien immer im Verzeichnis "lib\DELPHI-VERSION\$(Platform)\$(Config)" und erzeuge die Dateien für alle Plattformen jeweils als Release und Debug.

Als Bibliotheks-Pfad dann "lib\DELPHI-VERSION\$(Platform)\Release" und bei Debug-DCU-Pfad "lib\DELPHI-VERSION\$(Platform)\Debug".

Die Suchpfade wie gehabt und der Drops ist gelutscht.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Open Sourcing von Komponenten - Best Practices?

  Alt 15. Jan 2015, 04:33
Ja, genau so. Und in Jenkins, das wir als Buildsystem nutzen, passiert das auch entsprechend automatisiert.

Der einzige echte Nachteil ist, dass man aufpassen muss, wenn man die Units gerade verändert. Denn dann sollen sie ja jedesmal kompiliert werden. Dafür kann man die betreffenden Units einfach temporär dem Projekt hinzufügen, am Ende das Sammelpackage neu erstellen und die Units wieder aus dem Projekt werfen (bzw. die Projektdateien aus dem Repository wiederherstellen).
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#14

AW: Open Sourcing von Komponenten - Best Practices?

  Alt 15. Jan 2015, 08:14
Lässt sich das mit der Delphi-Version auch irgendwie automatisieren?

Im Szenario wäre es ja so, dass wir logischerweise nur die Variante für die Delphi Version, die wir verwenden (aktuell XE2) zur Verfügung stellen. Wir würden also das Projekt zur Verfügung stellen und jeder möge es sich dann selber compilieren. Oder anders formuliert: Ich hätte gern nur eine Projektdatei
  Mit Zitat antworten Zitat
Benutzerbild von NicoDE
NicoDE

Registriert seit: 16. Jul 2012
Ort: Darmstadt
26 Beiträge
 
Delphi 10.3 Rio
 
#15

AW: Open Sourcing von Komponenten - Best Practices?

  Alt 15. Jan 2015, 10:02
Der einzige echte Nachteil ist, dass man aufpassen muss, wenn man die Units gerade verändert. Denn dann sollen sie ja jedesmal kompiliert werden. Dafür kann man die betreffenden Units einfach temporär dem Projekt hinzufügen, am Ende das Sammelpackage neu erstellen und die Units wieder aus dem Projekt werfen (bzw. die Projektdateien aus dem Repository wiederherstellen).
Wäre es dann nicht einfacher das Package-Projekt in die Projektgruppe aufzunehmen und Abhängigkeiten zu definieren?
Nico Bendlin
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: Open Sourcing von Komponenten - Best Practices?

  Alt 15. Jan 2015, 10:09
Ich hätte gern nur eine Projektdatei
Solange die Projektdatei mit anderen Delphiversionen auch funktioniert, sprich die gleichen Units und Einstellungen nutzt, funktioniert das.
Allerdings ist das Ausgabeverzeichnis dann für alle gleich. Das wiederum ist schlecht für Parallelinstallationen. Ich weiß nicht, ob es auch dafür einen Platzhalter gibt, bei uns sind ohnehin eigene Packages pro Version notwendig.

Es sollte für potentielle Nutzer aber kein Problem sein das selbst anzupassen, sprich eigene Packages entsprechend zu erstellen.

Der einzige echte Nachteil ist, dass man aufpassen muss, wenn man die Units gerade verändert. Denn dann sollen sie ja jedesmal kompiliert werden. Dafür kann man die betreffenden Units einfach temporär dem Projekt hinzufügen, am Ende das Sammelpackage neu erstellen und die Units wieder aus dem Projekt werfen (bzw. die Projektdateien aus dem Repository wiederherstellen).
Wäre es dann nicht einfacher das Package-Projekt in die Projektgruppe aufzunehmen und Abhängigkeiten zu definieren?
Einzeln lässt sich das Komponentenprojekt auch schlecht kompilieren, da daran Buildskripte usw. hängen. Diese schieben die kompilierten Units hin- und her, so dass nicht nur die eine Unit kompiliert wird, sondern einiges mehr, so dass das Kompilieren nicht so schnell geht.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 06:52 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