Обрезать вывод MSBuild FileLogger - PullRequest
2 голосов
/ 10 ноября 2010

Если я скомпилирую этот проект Delphi 2007

program MyProject;

{$APPTYPE CONSOLE}

procedure Test;
var
  i: Integer;
begin
  if i = 666 then
    i := 42;
end;

begin
  Test;
end.

из командной строки, как

    MSBuild MyProject.dproj /t:Rebuild /p:Configuration=Release /l:FileLogger,Microsoft.Build.Engine;logfile=log.txt;verbosity=minimal

Я получу этот файл журнала:

    __________________________________________________
    Projekt C:\Documents and Settings\pcbs1251\My Documents\RAD Studio\Projekte\MyProject\MyProject.dproj (Rebuild-Ziel(e)):

    C:\Program Files\CodeGear\RAD Studio\5.0\bin\dcc32.exe -B -DRELEASE [SNIP] MyProject.dpr   
    CodeGear Delphi für Win32 Compiler-Version 18.5
    Copyright (c) 1983,2007 CodeGear

    MyProject.dpr(10) Hinweis: H2077 Auf 'i' zugewiesener Wert wird niemals benutzt

    c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Borland.Delphi.Targets : warning : MyProject.dpr(9) Warnung: W1036 Variable 'i' ist möglicherweise nicht initialisiert worden
    MyProject.dpr(9) Warnung: W1036 Variable 'i' ist möglicherweise nicht initialisiert worden

    17 Zeilen, 0.00 Sekunden, 11016 Byte-Code, 12156 Byte-Daten.
    Erstellen des Projekts MyProject.dproj beendet.

Теперь яхотел бы обрезать это до

    MyProject.dpr(10) Hinweis: H2077 Auf 'i' zugewiesener Wert wird niemals benutzt
    MyProject.dpr(9) Warnung: W1036 Variable 'i' ist möglicherweise nicht initialisiert worden

Есть ли параметры FileLoggerParameters для этого?

Обновление: Поскольку, кажется, нет способа заставить MSBuild делать то, что я хочунаконец-то написал небольшую Delphi-программу для форматирования вывода MSBuild под мои нужды.

Ответы [ 2 ]

3 голосов
/ 10 ноября 2010

Я обычно использую grep, sed и awk для подобных вещей.

2 голосов
/ 10 ноября 2010

Попробуйте msbuild /v:m. Это устанавливает многословность командной строки msbuild на «минимальный». Это может дать вам что-то ближе к тому, что вы хотите. Смотрите "msbuild /?" за помощь в этом.

Многие инструменты командной строки имеют параметр '/ nologo', который может помочь. Может быть, вы можете передать это в dcc. Возможно, вам придется редактировать файлы .targets.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...