Hallo,
wir haben hier
Apache Ant scho vor einiger Zeit als Buildsystem eingeführt und sind soweit auch ganz zufrieden damit.
Es werden je nach Projekt andere Delphi-Versionen (7 und 2006) oder teilweise auch Visual C++/C#-Projekte unterschiedlicher VS-Versionen gebaut und (abhängig vom gewählten Target) auch gleich an die richtige Stelle kopiert (Zielpffade werden u.a. aus Variablen mit Versionsnummern zusammengebaut).
Die Delphi-Compiler wurden bisher immer direkt dcc32.exe mit entsprechenden Parametern aufgerufen, die Projekteinstellungen (z.B. Suchpfade) wurden auch aus den Projektdateioen übernommen.
Jetzt wollte ich Delphi XE2 in die möglichen Compiler aufnehmen und habe festgestellt: Entweder ich verwende weiterhin dcc32.exe/dcc64.exe, muss dann aber sämtliche Projekteinstellungen noch ein zweites mal in meinen Buildscripts abbilden (hier wäre die Gefahr, Änderungen nicht in die eigenen Buildscripts zu übernehmen), oder ich verwende wie offiziell vorgesehen msbuild. Ich habe es allerdings nicht hinbekommen, die rsvars.bat von ant aus so aufzurufen, dass die Variablen beim nachfolgenden Aufruf von msbuild noch gesetzt sind. Vielleicht hat ja jemand noch eine Idee, ansonsten muss ich mir dafür mal ein Java-Forum suchen.
Dann habe ich mir den
Finalbuilder angeschaut, der bei XE2 Enterprise dabei ist, der scheint aber keine älteren Delphi-Versionen zu unterstützen (Einschränkung in der Embarcadero-Edition?), ist von dem her für mich nutzlos - oder stelle ich mich da nur ungeschickt an? Habe 2006 und XE2 installiert, als Compilerversion wird aber nur XE2 angeboten.
Weiter bräuchte ich die Möglichkeit, mit relativen Pfaden zu arbeiten - je nach Version liegen die Quellen und Projekte in "X:\Projekte", "X:\Projekte1.23", ... und momentan ist es auch so, dass es (ohne Anpassung) "von überall" funktionieren müsste.
Für jede Version die Pfade anpassen zu müssen ist mir eigentlich zu aufwändig, außerdem möchte ich keine Probleme kriegen weil Kollege X lieber nach Y:\Projekt-1.23 auscheckt "weil er des immer schon so gemacht hat" und es so "für ihn übersichtlicher ist".
Wenn ich alles auf
MSBuild (in das ich mich erst noch einarbeiten müsste) umstellen würde, hätte ich zum einen wieder das Problem zuvor je nach Projekt händisch die richtige rsvars.bat auszuführen und zum anderen müsste dann die Kopier-Info ja auch in die msbuild-Datei, die von der Delphi-
IDE verwendet wird?
Oder vielleicht hat ja jemand noch einen ganz anderen Ansatz?
Gruß Chris