Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Delphi Compiler Kommandozeile herausfinden (https://www.delphipraxis.net/211657-delphi-compiler-kommandozeile-herausfinden.html)

himitsu 19. Okt 2022 15:51

AW: Delphi Compiler Kommandozeile herausfinden
 
jupp, bei MSBuild gibst normal einfach nur noch mit an, welche Config und Platform (z.B. Debug und Win32) du bauen willst und die ganzen sonstigen Projektoptionen kommen aus der DPROJ.


MSBuild braucht zwar auch noch paar Sachen, aber die gibt es schon fertig (rsvars.bat)
Code:
call "C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\rsvars.bat"
"%FrameworkDir%\MSBuild.exe" /t:Build /p:config=Debug /p:platform=Win32 MyProject.dproj
Code:
call "C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\rsvars.bat"
"%FrameworkDir%\MSBuild.exe" /t:Build /p:config=Debug /target:Deploy /p:platform=iOSDevice64 MyProject.dproj



ich glaub die "parameter" gingen auch zusammen
Code:
"%FrameworkDir%\MSBuild.exe" /t:Build /p:config=Debug,platform=Win32 MyProject.dproj
und natürlich auch Release, Debug oder selbsterstellte Konfigurationen
Code:
/p:config=Release
wenn p:config und p:platform garnicht angegeben werden, dann nimmt es das, was du zuletzt im Projektmanager aktiviert hattest
(meißtens will man ja aber halt "immer" sicher etwas Bestimmtes machen, drum gibt man es an)

ich hatte mal Probleme, dass der Ausgabepfad nicht klappte, da kann man z.B. den dann auch noch mit angeben (oder einfach mal abweichend von der Config überschreiben)
Code:
/p:DCC_ExeOutput="..\_bin\MyProject.exe"
wer noch bissl aufräumen lassen will .... Clean, Build und ich glaub Compile .... halt was man alles auch über IDE/Projektmanager anstoßen kann
Code:
"%FrameworkDir%\MSBuild.exe" /t:Clean /t:Build /p:config=Debug ...
PS: nicht wundern \t: und \target: sind das Selbe ... k.A. warum es überall anders geschrieben wird,
also es geht z.B. auch
Code:
/target:Compile
/target:Build
/target:Clean,Build
/target:Clean,Build,Deploy

oder nur
/target:Clean

https://docwiki.embarcadero.com/RADS...MSBuild-Befehl

MyRealName 20. Okt 2022 07:30

AW: Delphi Compiler Kommandozeile herausfinden
 
Zitat:

Zitat von jaenicke (Beitrag 1513455)
Ich habe mal ein Tool dafür geschrieben, "Delphi Batch Compiler", aber das nicht weiter verfolgt, seit es msbuild dafür gibt. Ich kompiliere nun nur noch damit, so dass ich mich um die ganzen dcc32-Parameter nicht mehr kümmern muss.

Beispiel:
Code:
MSBuild "Example.dproj" /target:Build /p:config=Debug;Platform=Win32
Ich halte für den genannten Zweck das Post-Build Event allerdings für etwas fragwürdig. Normalerweise übernimmt das die Buildmaschine oder das Buildskript nach dem Erstellen des Projekts.

Wir haben keine Build-Maschine. Wir haben meist Java, wir haben einen Jenkins, der kann aber erstmal nur Java. Also habe ich ein Tool für das Post-Build-Event der Release-Version geschrieben, welches mir aus der aktuell compilierten Version ein ZIP-File baut, es auf einem Netzwerk-Laufwerk ablegt und dann Jenkins über REST Bescheid sagt, dass er das Deployment machen soll.
Was jetzt dazu kommen soll ist einfach ein Schritt vor dem Zip und zwar den Test bauen und ausführen und nur dann weiter machen, wenn dieser vollständig erfolgreich durchlief.

himitsu 20. Okt 2022 10:32

AW: Delphi Compiler Kommandozeile herausfinden
 
Wir nutzen FinalBuilder.

Im ersten Schritt hatte ich den inzwischen so geändert, dass er auch als Konsole laufen kann, mit Steuerung über Parameter, anstatt Dialog
Und nun auch die alten Delphi-Compiler-Actions zum Großteil durch MSBuild-Actions ersetzt.
Allerdings fummle ich im BeforeScript noch an den Actions rum, z.B. um via Dialog zentral die Delphi-Version und Config ändern zu können.

und es gäbe von denen auch ein
Continua CI

jaenicke 20. Okt 2022 11:03

AW: Delphi Compiler Kommandozeile herausfinden
 
Zitat:

Zitat von MyRealName (Beitrag 1513510)
Wir haben keine Build-Maschine. Wir haben meist Java, wir haben einen Jenkins, der kann aber erstmal nur Java.

Jenkins kann sehr gut mit msbuild Delphi-Projekte erstellen. Das habe ich vor 10 Jahren schon selbst eingerichtet und läuft problemlos.

MyRealName 20. Okt 2022 12:00

AW: Delphi Compiler Kommandozeile herausfinden
 
Dasw ist bei uns in der Firma alles ein bissl politisch. Schön wäre das schon mit Jenkins und msbuild.. ich frag mal rum.. Die sind alle etwas Java-fixiert hier :p

himitsu 20. Okt 2022 12:13

AW: Delphi Compiler Kommandozeile herausfinden
 
Abgesehn, davon dass du im Jenkins irgendwo ein Windows verfügbar haben mußt, damit der Delphi-Compiler da laufen kann
und für Java z.B. auch Linux reichen würde,
sollte Beides zusammen darin auch gleichzeitig nutzbar sein.



Zeig einfach, dass Delphi und Java fast zusammengehören ... guter Grund sich nicht mehr so dagegen zu wehren.
https://www.google.de/maps/dir/Java,...2!8j1666271580

OK, alles ist relativ (wie da jemand mal so sagte)
https://www.google.de/maps/dir/Java,...7!2d38.4800567


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:30 Uhr.
Seite 2 von 2     12   

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