I zostały poproszone zintegrować StyleCop w naszym procesie kompilacji CI w taki sposób, że:integracji StyleCop z CI build procesu (Criuse sterowania, Nant, msbuild i StyleCop)
- Indywidualny plik projektu w naszym (duża rozwiązanie) nie wpływa
- nie muszę używać żadnych 3rd party narzędzie
pierwszy warunek (i nie w pełni zrozumieć ten jeszcze) wynika z faktu, że don” t chcesz uruchomić StyleCop na całym naszym rozwiązanie od razu. Najwyraźniej, gdy StyleCop jest uruchamiany z poziomu VS, ignoruje pewne atrybuty, które określają pliki do zignorowania. Z tego powodu, jeśli będziemy go uruchamiać na urządzeniach dla programistów, będziemy ciągle uderzani tysiącami naruszeń, z którymi jeszcze nie jesteśmy gotowi się uporać. Najważniejsze jest więc, aby móc uruchomić go tylko na serwerze kompilacji.
Nasze środowisko budowy składa się obecnie z:
Tempomat> Zadanie NANT który wykonuje msbuild (za pośrednictwem exec)
Zadanie nant poniżej:
<target name="buildSolution">
<echo message="Building solution..." />
<exec program="C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe"
commandline="${Project.SolutionFile} /t:Rebuild /p:Configuration=${Project.SolutionBuildConfiguration} /v:q" workingdir="." />
</target>
Kiedy po raz pierwszy spojrzał na to Myślałem, że będzie to prosty przypadek wykonywania StyleCop w sposób podobny do sposobu, w jaki wykonywany jest msbuild.
Jednak StyleCop jest jako zestaw bibliotek DLL ...
Więc to oznacza, że nie może robić to, co zamierzałem ...... myślę ....
Wszystkie artykuły mam Google'owi dzisiaj powiedzieliśmy "użyj StyleCopCmd", którego również nie mogę zrobić z powodu ograniczenia narzędzia strony trzeciej.
Sprawdziłem narzędzie i wygląda na to, że zaimplementowałem niestandardowe zadanie, które uruchamia StyleCopConsole, łączy się w kilka zdarzeń i wysyła ładnie sformatowany raport. Ale aby móc usprawiedliwić stworzenie jakiegokolwiek narzędzia wewnątrz firmy, muszę być w stanie w pełni wyjaśnić, dlaczego nie mogę po prostu osiągnąć tego, czego chcę w nant konfiguracji pliku. Lub w jakikolwiek inny sposób, który nie wymaga tworzenia lub używania narzędzia. A najlepiej byłoby szybciej, gdyby i tak nie musiałem pisać ani używać narzędzia.
Moje pytanie brzmi, czy to możliwe?
Hi Trumpi - Idę przez niego teraz i próbuje ją - jedno pytanie - czy „target =” odbudować „” pozostają takie same albo że teraz zwrócić do mojego pierwotnego celu kompilacji (pokazany na mój post)? –
również, ścieżka do zmodyfikowanego pliku Microsoft.StyleCop.Targets - czy jest to względne z pliku kompilacji lub pliku rozwiązania? –
hmm już googlowałem i myślę, że musi wejść w moje pierwotne zadanie, tj. Zastąpić wywołanie exec - próbując tego teraz ... –