Fehler beim Erstellen eines Teamcity-Builds, wenn Warnungen im Protokoll eine bestimmte Anzahl überschreiten

1342
Craig McGuff

Ich verwende die neueste Version von TeamCity und versuche, einen Build zum Scheitern zu bringen, wenn die Anzahl der Vorkommen des Wortes "Warning:" einen bestimmten Wert überschreitet.

Ich verwende die neuen Buildfehlerbedingungen für das Buildprotokoll mit einem regulären Ausdruck. Ich habe noch eine Frage zu stackoverflow für den eigentlichen Regex.

https://stackoverflow.com/questions/10393489/regular-expression-nach-bestimmt-if-text-hat-no-mehr-thann-ereignisse-von-aword/10394765#10394765

Die eigentliche Regex ist

(?:\\bWarning:.*?) 

oder eine modifizierte Version, um den Abgleich einzelner Zeilen zu ermöglichen

(?s)(?:\\bWarning:.*?) 

einer dieser Ausdrücke wird einfach ständig durchlaufen.

2
1. "Neueste Version" bedeutet mit der Zeit nicht viel; Geben Sie die Version an. 2. Muss sich die Lösung in TeamCity befinden? Wenn nicht: welches Betriebssystem? 3. Gibt es tatsächlich mehr als 1000 Übereinstimmungen, wenn es passiert? Versuchen Sie es mit einer niedrigeren Nummer und machen Sie einen minimalen Testfall. Daniel Andersson vor 12 Jahren 0

1 Antwort auf die Frage

1
Craig McGuff

Problem is that teamcity is not 100% clear about how the regex works.

It only operates on a per-line basis. I needed to check the complete log file. This was ultimately solved by having msbuild output the log file to a separate location and check it using a new build step.