Frage

Ein sehr kleiner Teil unserer Code-Basis ist einig ältere Java-Code. Ich versuche, einen neuen Build hinzuzufügen, um dieses Projekt zu bauen würde aufrufen ant.

Das erste Problem ist, dass TFS nicht zulässt, dass Sie einen Build erstellen, die keine .NET-Lösung nicht bauen. Ich habe um diesen durch eine vorherige Build-Datei zu kopieren und das Hinzufügen einer EndToEndIteration Aufgabe, die der Einstiegspunkt für den Build ist.

Das Problem ist, dass keine der üblichen Build-Variablen gefüllt werden - $ (BuildDirectory), $ (SolutionRoot) - alle leer. Diese ziemlich Mittel kann ich meinen Ant-Task nicht aufrufe, ohne die Pfade zu (was ich kann auf jeden Fall nicht tun).

Irgendwelche Ideen?

War es hilfreich?

Lösung 4

Danke für alle Antworten.

Am Ende habe ich bis einschließlich eine leere Lösung neben der Build-Datei zurückgegriffen. Auf diese Weise werden alle Variablen sind bevölkert und ich eingeschlossen einfach eine, die alles tat ich wollte.

Andere Tipps

Sie können einen Blick auf Teamprise bauen Erweiterungen welche Aufgaben Ant oder Maven ermöglicht den Aufbau von TFS.

  1. Wenn Sie nicht bereits eine haben, eine Aufgabe erstellen, die Umgebungsvariablen speichern und abzurufen, sind Sie auf jeden Fall zu müssen gehen sie etwas tun Java verwandte (ich glaube, es ist eine, in der MSBuild Extension Pack )
  2. Erstellen Sie eine benutzerdefinierte Aufgabe Ant zu wickeln oder die Skripttask aus den MSBuild Community-Aufgaben Sammlung
  3. Führen Sie es eine Million Mal und behebt die Probleme, wie Sie gehen, ist es in der Regel einfacher und schneller dieses von der Kommandozeile zu tun, also Freunde mit msbuild.exe im Terminal

Es soll möglich sein, um eine beliebige Informationen, die Sie zwischen Umgebungsvariablen wollen passieren, so dass alles, was Sie möglich machen wollen. Ich werde nicht hart codierte Pfade Ihnen empfehlen, aber Sie haben die Config irgendwo zu setzen und es ist alles ein Trade-off, was Sie ändern wollen und wie Sie wollen die Dinge organisiert. Wenn Sie wirklich brauchen, können Sie alle die Config in eine Datenbank schieben und mit einem der SQL-Aufgaben in den oben genannten Links saugen sie, aber nur daran erinnern, sind Sie eine beträchtliche Menge an Komplexität hinzufügen, die nicht notwendig sein kann.

Fragen Sie sich:

  • Wie oft wird dieser Wert wahrscheinlich ändern?
  • was ist die ganze Reihe von Aufgaben, die erledigt werden müssen, wenn sie sich ändert?

Schreiben Sie die Antworten auf, dass irgendwo auf und sicher alle machen auf das Team versteht. Wenn es darum geht Systeme meiner Meinung nach bauen „weniger ist mehr“. Finden Sie den einfachste Weg, es zu tun, und das tun, bis das wird nicht akzeptabel und nur dann Komplexität ... TFS ist kompliziert genug bereits.

Ich glaube, Sie das falsche Werkzeug für den Job verwendet hier - TFS wird nie eine gute Lösung für den Aufbau andere als .NET-Anwendungen sein. Ich glaube, Sie sind besser dran, nur in einer eigenständigen Kapazität mit ant.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top