Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Automatisch Projekte erstellen (https://www.delphipraxis.net/168939-automatisch-projekte-erstellen.html)

RWarnecke 19. Jun 2012 18:28

Automatisch Projekte erstellen
 
Hallo zusammen,

ich weiß eine etwas seltsame Überschrift. Ich habe vier einzelne Projekte (Delphi 2010), die ich in der IDE so eingestellt habe, dass Sie auf mein Testsystem zugreifen. Das ist bei mir die Debug Build Configuration. Die Release Build Configuration benutze ich dazu um alle Einstellungen für den Kunden zu setzen.

Ich suche jetzt einen Weg, wie ich mit der Release Build Configuration das Programm kompilieren kann und wenn möglich noch über das Programm Inno Setup automatisch ein Setup erstellen lassen kann. Der zweite Teil wäre hier kein Problem, da ich das schonmal über eine Batch realisiert habe. Ich möchte jetzt nicht hergehen und alles manuell auf Release umstellen und dann kompilieren. Da können zu viele Fehler passieren.

Mache ich das alles über ein Batch-Skript oder gibt es fertige Programme, wo ich das ganze nur noch einstellen brauch ?

Gruß
Rolf

himitsu 19. Jun 2012 18:44

AW: Automatisch Projekte erstellen
 
Nimm doch einfach den FinalBuilder, welchen du teuer mit gekauft geschenkt bekommen hast.

Der ignoriert standardmäßig die .dproj und somit aich die Debug/Release-Einstellung, welches man dann im FB direkt vorgeben kann.
Und dieses muß dafür nichtmal umgestellt werden (für Delphi in der dproj), womit du es dann auch nicht wieder fehleranfällig zurücksetzen mußt. :angle2:

Furtbichler 19. Jun 2012 18:49

AW: Automatisch Projekte erstellen
 
Also ich verwende dafür einfach ne INI, aka Config, -Datei, in der alle Einstellungen stehen.

RWarnecke 19. Jun 2012 18:56

AW: Automatisch Projekte erstellen
 
Zitat:

Zitat von Furtbichler (Beitrag 1171640)
Also ich verwende dafür einfach ne INI, aka Config, -Datei, in der alle Einstellungen stehen.

Du meinst jetzt aber, eine Config-Datei für das Programm oder ? Es sind einmal das und auch noch weitere Kompilerschalter, die zum Beispiel Messages in der Debug Config einblenden sollen und in der Release nicht.

Furtbichler 19. Jun 2012 20:01

AW: Automatisch Projekte erstellen
 
Ach so, ein normales 'Release'. Ich schlage vor, Du vereinfachst dein
Zitat:

Zitat von RWarnecke (Beitrag 1171636)
...hergehen und alles manuell auf Release umstellen und dann kompilieren.

Wir arbeiten nie damit. Es wird eine SW erstellt, Logausgaben werden kontinuierlich geschrieben. Über die Konfiguration stellen wir den Loglevel ein. Fertig. Naturgemäß loggen wir nie Debug-Messages, wenn die SW ausgeliefert ist. Das widerspricht unserem QM.

Aber nehmen wir an, wir hätten ein Debug- und ein Productive-Release.

Dann würde ich das über einen Compilerschalter realisieren und die aktuelle Einstellung in der GUI auch kenntlich machen, z.B. über ein kleines Always-On-Top-Fenster oder ein besonderes Icon.

Uwe Raabe 19. Jun 2012 20:52

AW: Automatisch Projekte erstellen
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von RWarnecke (Beitrag 1171636)
Ich möchte jetzt nicht hergehen und alles manuell auf Release umstellen und dann kompilieren. Da können zu viele Fehler passieren.

Unter XE2 kannst du ganz einfach für alle Projekte in einer Projektgruppe die aktuelle Build-Konfiguration umstellen (siehe Projektverwaltung1).

Oder du arbeitest mit Build-Gruppen. Diese ermöglichen dir, mehrere Build-Konfigurationen für mehrere Plattformen individuell für ausgewählte Projekte der Projektgruppe zu erstellen (siehe Projektverwaltung2).

RWarnecke 19. Jun 2012 22:10

AW: Automatisch Projekte erstellen
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1171651)
Unter XE2 kannst du ganz einfach für alle Projekte in einer Projektgruppe die aktuelle Build-Konfiguration umstellen (siehe Projektverwaltung1).

Die Gruppen habe ich aber nicht unter Delphi 2010. Diese vier Projekte muss ich unter Delphi 2010 bearbeiten.

Zitat:

Zitat von Beitrag #1
Ich habe vier einzelne Projekte (Delphi 2010), die...


Uwe Raabe 19. Jun 2012 23:06

AW: Automatisch Projekte erstellen
 
Zitat:

Zitat von RWarnecke;1171655
[QUOTE=Beitrag #1
Ich habe vier einzelne Projekte (Delphi 2010), die...

[/QUOTE]

Sorry, ich hatte nur auf dein Profil geachtet.

Bentissimo 20. Jun 2012 08:55

AW: Automatisch Projekte erstellen
 
Oder Du probierst es gleich mit einem globaleren Ansatz und verwendest Jenkins (Hudson).

Ich bin neulich auf folgenden Link zur Einbindung von Delphi gestossen:

http://thundaxsoftware.blogspot.ch/2...ur-delphi.html

Ich denke, das könnte durchaus interessant sein.

Viele Grüsse
Stephan

CCRDude 20. Jun 2012 11:04

AW: Automatisch Projekte erstellen
 
Delphi 2010 verwendet doch auch schon MSBuild, oder? Dann lässt sich die Build Configuration einfach an der Kommandozeile MSBuild übergeben und das ganze in die Batchdatei aufnehmen (ich glaube der Jenkins-Link verwendet auch MSBuild).

Aber FinalBuilder ist echt auch nicht zu verachten.

Bentissimo 20. Jun 2012 11:19

AW: Automatisch Projekte erstellen
 
In der Tat kann Delphi über die Brücke MSBuild in Jenkins integriert werden.

Prinzipiell ist Jenkins als Continous Integration System für andere Dimensionen ausgelegt, aber warum nicht auch mit Delphi davon profitieren?

Unsere Java-Entwickler schwören drauf.

Schlussendlich fühle ich mich aber mit Desktop-Applikationen wie FinalBuilder oder PrecisionBuilder doch irgendwie wohler. :wink:

RWarnecke 24. Jun 2012 09:16

AW: Automatisch Projekte erstellen
 
Hallo zusammen,

ich habe jetzt den Precision Builder getestet und teste im Moment noch den FinalBuilder. Im Moment ist der FinalBuilder mein Favorite. Ich finde Ihn einfach und intuitiv zu bedienen.

Das mal so als kleiner Zwischenbericht.

himitsu 24. Jun 2012 10:09

AW: Automatisch Projekte erstellen
 
Ich weiß jetzt nicht genau seit wann, aber Delphi zeigt, in den Compilermeldungen, seit einer ganzen Weile an, mit welchen Optionen kompiliert wird.
Genauer wird die Parameterliste ausgegeben, welche man z.B. für's externe Kompilieren verwenden könnte.

RWarnecke 27. Jun 2012 16:26

AW: Automatisch Projekte erstellen
 
Ich habe in den letzten Tagen nochmal den FinalBuilder etwas intensiver getestet und muss sagen, dass das ein feines Teil ist. Ich bin nur noch am Überlegen, ob ich die Professional oder die Standard Version nehme.

Woran habt Ihr die Entscheidung festgemacht ob Professional mit oder ohne Server oder Standard ? Im Moment benötige ich den FinalBuilder nur, um in zwei größeren Projekten die einzelnen Projekte (DLL, EXE) zu kompilieren und entsprechende Setup's zu erstellen. Ab welchen Punkt könnte ich Gefahr laufen, dass ich mit der Standardversion an die Grenzen des machbaren komme ?

himitsu 27. Jun 2012 16:49

AW: Automatisch Projekte erstellen
 
Server oder nicht:
Wie machen es ohne Server, da eh jeder seine aktuelle Version/Revision damit kompiliert und dann für den Kunden jeweils manuell die aktuelle Revision damit kompiliert wird.


Standard oder Professional:
Prof, da wir vorher schon die Prof hatten und einige Features in der Emba-Version fehlen.
- wie z.B. die "Async Action Group" ... bei der "Action Group" wird ja alles nacheinander verarbeitet und die "Async Action Group" kann parallel arbeiten, also Multithreaded gleichzeitig mehrere Projekte kompilieren, was bei der Anzahl an BPLs, DLLs und EXEn viel Zeit erspart, vorallem wenn man selber/manuell kompiliert und auf das Ende wartet. Und die 8 Kerne wollen ja ausgenutzt werden.

CCRDude 4. Jul 2012 07:51

AW: Automatisch Projekte erstellen
 
Ich habe neulich den Server getestet, paralell zu Jenkins. Jenkins war in ner halben Stunde fertig aufgesetzt. FB Server hat nen halben Tag gebraucht und läuft immer noch nicht. Hauptsächlich fehlt ein "How to install" - es setzt auf IIS auf, kann nicht alles davon erkennen, und krampft damit so rum. Dass man etwa das ASP.NET-IIS-Modul auch installieren muss, erkennt es als Prerequisite nicht, zeigt nur Fehlermeldungen. Alles in allem war ich nach positiven Erfahrungen mit FB selber echt negativ bestürzt. Vielleicht ist das weniger schlimm, wenn man sich gut mit IIS auskennt.

Ich habe nur die Standard, erstelle damit diverse Projekte mit teilweise 30 Dateien (gemischt VC und Delphi, Signierungen, Installern, etc.). Geht sehr gut. Nur weil ich länger dauernde Codetests noch aufnehmen will, will ich auf ein CIS (also grob gesagt eine automatisierte Serverkomponente) "erweitern".

Übrigens - Emba <> Standard, d.h. man hat mit der Standard schon mehr als mit der Emba-Version (re himitsus Argument).

Im Zweifel kann man FB ja auch upgraden, momentan tendiere ich stark dazu, einfach FB von Jenkins aus ausführen zu lassen :)

Uwe Raabe 4. Jul 2012 08:10

AW: Automatisch Projekte erstellen
 
Zitat:

Zitat von CCRDude (Beitrag 1173443)
Ich habe neulich den Server getestet, paralell zu Jenkins. Jenkins war in ner halben Stunde fertig aufgesetzt. FB Server hat nen halben Tag gebraucht und läuft immer noch nicht.

Das ist jetzt aber nicht unbedingt repräsentativ! Ich habe schon einige Dutzend FB Server aufgesetzt und das dauerte jeweils maximal 5 Minuten.

Falls es von Interesse ist: Es wird bald einen Nachfolger für den FB Server geben, der nicht so stark an FB gebunden ist. Wenn jemand interessiert ist, Vincent Parret ist eigentlich recht großzügig, wenn man sich für den Betatest registrieren will.

CCRDude 4. Jul 2012 08:18

AW: Automatisch Projekte erstellen
 
Deswegen ja mein Zusatz: wer IIS (oder die Hürden) schon kennt...

Der Großteil der Zeit ging für's Fehler suchen drauf, denn die Fehlermeldungen (mag ja sein dass IIS an denen Schuld ist) sind leider nicht aussagekräftig. Deswegen mein großer Kritikpunkt ja auch, dass es nicht, wie bei diversen anderen Projekten, einen Installationsleitfaden gibt, in dem die Standard-Probleme genannt sind. Würde dem Kunden, der kein IIS kennt und nicht schon die 33ste, sondern gerade die erste Installation vornimmt, viel Zeit sparen. Und ich bin sicher nicht der einzige, der da viel zu viel Zeit für vergeudet, das habe ich während meiner Problemlösungssuche des öfteren gelesen.

Hab mich dann für den Continua CI-Betatest auch angemeldet, in der Hoffnung, dort besser zu fahren, aber bisher noch keine Zeit dafür gehabt :)

Furtbichler 4. Jul 2012 09:04

AW: Automatisch Projekte erstellen
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1173448)
Das ist jetzt aber nicht unbedingt repräsentativ! Ich habe schon einige Dutzend FB Server aufgesetzt und das dauerte jeweils maximal 5 Minuten.

Das ist jetzt aber nicht unbedingt repräsentativ! Ich erwarte nämlich, das es jeweils maximal 5 Minuten' dauert, wenn man das schon 'einige Dutzend' mal gemacht hat. wäre ja ein Armutszeugnis, wenn nicht. :-D

Tatsache ist, das die Installation schlecht beschrieben ist und diverse Fallstricke lauern. Wenn man zufällig noch nie reingetapert ist oder sie sofort entdeckt hat, ist das ja kein Beleg dafür, das es sie nicht gibt.

RWarnecke 11. Jul 2012 14:18

AW: Automatisch Projekte erstellen
 
Mal eine dumme Frage. Muss für den FinalBuilder die jeweilige Delphi IDE auf dem Rechner installiert sein um dann mit FinalBuilder damit zu arbeiten ? Habe bis jetzt nichts dazu in der Beschreibung zu FinalBuilder gefunden. Vielleicht habe ich auch nur etwas übersehen.

himitsu 11. Jul 2012 14:30

AW: Automatisch Projekte erstellen
 
Der FinalBuilder hat keinen Delphi-Compiler bei sich und erst Recht keine VCL.

Er ruft nur den Comandline-Compiler vom Delphi uf .... also ja, Delphi muß installiert sein.

RWarnecke 11. Jul 2012 16:01

AW: Automatisch Projekte erstellen
 
Danke himitsu für Deine schnelle Antwort. Ich hatte mir das schon fast gedacht.


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