Frage

Betrieb xcodebuild Aus der Konsole bringt Sie eine sehr ausführliche Ausgabe und ich konnte keine Optionen für die Beschränkung der Ausgabe finden, um nur Warnungen und Fehler anzuzeigen.

Ich suche nach einer Möglichkeit, die zu erfassen xcodebuild Ausgabe und filtern Sie es. Es würde eine Python -Lösung bevorzugen, die mit Rohren funktioniert, aber ich bin offen für andere Ansätze, so lange sie mit Befehlszeilen basierende Lösungen sind.

Können Tools dies bereits tun?

War es hilfreich?

Lösung

Um nur die Fehlerausgabenmeldungen anzuzeigen, leiten Sie die Standardausgabe in /dev /null (eine spezielle Datei, die als Schwarzes Loch funktioniert) wie folgt um:

xcodebuild > /dev/null

Wenn Sie die Fehlerausgabe in eine Datei erfassen möchten, können Sie:

xcodebuild 2> ./build_errors.log

Andere Tipps

Verwenden xcodebuild -quiet.

Gemäß der Seite XcodeBuild Man:

-quiet: Drucken Sie keine Ausgabe außer Warnungen und Fehlern aus.

Bonus: Keine anderen Tools notwendig! (Obwohl ich auch mag xcodebuild | xcpretty)

Ich baue mit Travis CI, das sich nach 4 MB Protokollen beschwert. Dieses Argument löste das Problem.

Es wird ein Rubinjuwel genannt xcpretty.

Es filtert die Ausgabe von xcodebuild und bietet auch unterschiedliche Formatierungen und Färben.

Das reicht für mich nicht aus. Wenn Sie zu /dev /null verleihen, zeigt Ihnen nur, dass ein Build fehlgeschlagen ist, aber Sie sehen die Grund (en) nicht warum. Idealerweise konnten wir nur die Fehler und/oder Warnungen ohne alle erfolgreichen Compiler -Befehle sehen.

Dies macht im Grunde den Job:

xcodebuild | grep -A 5 error:

enter image description here

-quiet ist der beste Weg, es jetzt zu tun.

Es gibt ein Swift -Befehlszeilenwerkzeug https://github.com/thii/xcbeautify Das kann auch die XcodeBuild -Ausgabe formatieren.

ich liebe xcpretty Um als Mensch zu betrachten, musste ich jedoch die Aufbaufehler in einer automatisierten Umgebung für die Ausbreitung an anderer Stelle finden, und ich wollte sicher sein, dass ich nur die relevanten Informationen erfasst habe. Der folgende SED -Befehl dient diesem Zweck:

xcodebuild | sed -nE '/error:/,/^[[:digit:]] errors? generated/ p'

Ausgabe:

main.c:16:5: error: use of undeclared identifier 'x'
    x = 5;
    ^
main.c:17:5: error: use of undeclared identifier 'y'
    y = 3;
    ^
2 errors generated.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top