Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/aspnetwebstack.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authormarcind <marcind@microsoft.com>2012-08-16 05:07:55 +0400
committermarcind <marcind@microsoft.com>2012-08-17 03:07:22 +0400
commit88176e4e3192b894d08133d2f26e7daa69a9f1af (patch)
tree79303b5cd1cf76bacf1c1f219a056c7de33b1969 /tools
parentb3c69ca033d8acde1f2a4766aa3e34b2b0f7e4a2 (diff)
Simplify WebStack.StyleCop.targets and make it correctly build incrementally.
Diffstat (limited to 'tools')
-rw-r--r--tools/WebStack.StyleCop.targets102
1 files changed, 23 insertions, 79 deletions
diff --git a/tools/WebStack.StyleCop.targets b/tools/WebStack.StyleCop.targets
index 4bc0a31f..a7e19bcc 100644
--- a/tools/WebStack.StyleCop.targets
+++ b/tools/WebStack.StyleCop.targets
@@ -2,109 +2,51 @@
<ItemGroup>
<StyleCopMsBuildRunner Include="$(WebStackRootPath)packages\**\StyleCop.dll"/>
</ItemGroup>
- <PropertyGroup>
- <IsStyleCopEnabled>$(StyleCopEnabled)</IsStyleCopEnabled>
- </PropertyGroup>
<UsingTask AssemblyFile="@(StyleCopMsBuildRunner)" TaskName="StyleCopTask" Condition=" '@(StyleCopMsBuildRunner)' != '' " />
-
- <PropertyGroup>
- <BuildDependsOn>$(BuildDependsOn);StyleCop</BuildDependsOn>
- <RebuildDependsOn>StyleCopForceFullAnalysis;$(RebuildDependsOn)</RebuildDependsOn>
- </PropertyGroup>
-
- <!-- Define StyleCopForceFullAnalysis property. -->
- <PropertyGroup Condition="('$(SourceAnalysisForceFullAnalysis)' != '') and ('$(StyleCopForceFullAnalysis)' == '')">
- <StyleCopForceFullAnalysis>$(SourceAnalysisForceFullAnalysis)</StyleCopForceFullAnalysis>
- </PropertyGroup>
- <PropertyGroup Condition="'$(StyleCopForceFullAnalysis)' == ''">
- <StyleCopForceFullAnalysis>false</StyleCopForceFullAnalysis>
- </PropertyGroup>
-
- <!-- Define StyleCopCacheResults property. -->
- <PropertyGroup Condition="('$(SourceAnalysisCacheResults)' != '') and ('$(StyleCopCacheResults)' == '')">
- <StyleCopCacheResults>$(SourceAnalysisCacheResults)</StyleCopCacheResults>
- </PropertyGroup>
- <PropertyGroup Condition="'$(StyleCopCacheResults)' == ''">
- <StyleCopCacheResults>true</StyleCopCacheResults>
- </PropertyGroup>
-
- <!-- Define StyleCopTreatErrorsAsWarnings property. -->
- <PropertyGroup Condition="('$(SourceAnalysisTreatErrorsAsWarnings)' != '') and ('$(StyleCopTreatErrorsAsWarnings)' == '')">
- <StyleCopTreatErrorsAsWarnings>$(SourceAnalysisTreatErrorsAsWarnings)</StyleCopTreatErrorsAsWarnings>
- </PropertyGroup>
- <PropertyGroup Condition="'$(StyleCopTreatErrorsAsWarnings)' == ''">
- <StyleCopTreatErrorsAsWarnings>true</StyleCopTreatErrorsAsWarnings>
- </PropertyGroup>
-
- <!-- Define IsStyleCopEnabled property. -->
- <PropertyGroup Condition="('$(SourceAnalysisEnabled)' != '') and ('$(IsStyleCopEnabled)' == '')">
- <IsStyleCopEnabled>$(SourceAnalysisEnabled)</IsStyleCopEnabled>
- </PropertyGroup>
- <PropertyGroup Condition="'$(IsStyleCopEnabled)' == ''">
- <IsStyleCopEnabled>true</IsStyleCopEnabled>
- </PropertyGroup>
-
- <!-- Define StyleCopOverrideSettingsFile property. -->
- <PropertyGroup Condition="('$(SourceAnalysisOverrideSettingsFile)' != '') and ('$(StyleCopOverrideSettingsFile)' == '')">
- <StyleCopOverrideSettingsFile>$(SourceAnalysisOverrideSettingsFile)</StyleCopOverrideSettingsFile>
- </PropertyGroup>
- <PropertyGroup Condition="'$(StyleCopOverrideSettingsFile)' == ''">
- <StyleCopOverrideSettingsFile> </StyleCopOverrideSettingsFile>
- </PropertyGroup>
- <!-- Define StyleCopOutputFile property. -->
- <PropertyGroup Condition="('$(SourceAnalysisOutputFile)' != '') and ('$(StyleCopOutputFile)' == '')">
- <StyleCopOutputFile>$(SourceAnalysisOutputFile)</StyleCopOutputFile>
- </PropertyGroup>
- <PropertyGroup Condition="'$(StyleCopOutputFile)' == ''">
- <StyleCopOutputFile>$(IntermediateOutputPath)StyleCopViolations.xml</StyleCopOutputFile>
+ <PropertyGroup>
+ <PrepareForRunDependsOn>$(PrepareForRunDependsOn);StyleCop</PrepareForRunDependsOn>
</PropertyGroup>
- <!-- Define all new properties which do not need to have both StyleCop and SourceAnalysis variations. -->
<PropertyGroup>
+ <IsStyleCopEnabled Condition="'$(IsStyleCopEnabled)' == ''">$(StyleCopEnabled)</IsStyleCopEnabled>
+ <StyleCopForceFullAnalysis Condition="'$(StyleCopForceFullAnalysis)' == ''">false</StyleCopForceFullAnalysis>
+ <StyleCopCacheResults Condition="'$(StyleCopCacheResults)' == ''">true</StyleCopCacheResults>
+ <StyleCopTreatErrorsAsWarnings Condition="'$(StyleCopTreatErrorsAsWarnings)' == ''">true</StyleCopTreatErrorsAsWarnings>
+ <StyleCopOverrideSettingsFile Condition="'$(StyleCopOverrideSettingsFile)' == ''"> </StyleCopOverrideSettingsFile>
+ <StyleCopOutputFile Condition="'$(StyleCopOutputFile)' == ''">$(IntermediateOutputPath)StyleCopViolations.xml</StyleCopOutputFile>
+ <StyleCopSuccessMarkerFile Condition="'$(StyleCopSuccessMarkerFile)' == ''">$(IntermediateOutputPath)StyleCop.success</StyleCopSuccessMarkerFile>
<!-- Specifying 0 will cause StyleCop to use the default violation count limit.
Specifying any positive number will cause StyleCop to use that number as the violation count limit.
Specifying any negative number will cause StyleCop to allow any number of violations without limit. -->
<StyleCopMaxViolationCount Condition="'$(StyleCopMaxViolationCount)' == ''">0</StyleCopMaxViolationCount>
</PropertyGroup>
- <!-- Define target: StyleCopForceFullAnalysis -->
- <Target Name="StyleCopForceFullAnalysis">
- <CreateProperty Value="true">
- <Output TaskParameter="Value" PropertyName="StyleCopForceFullAnalysis" />
- </CreateProperty>
- </Target>
-
<!-- Define target: StyleCop -->
- <Target Name="StyleCop" Condition="'$(IsStyleCopEnabled)' != 'false'">
+ <Target Name="StyleCop" Inputs="@(Compile)" Outputs="$(StyleCopSuccessMarkerFile)" Condition="'$(IsStyleCopEnabled)' == 'true'">
<PropertyGroup>
<StyleCopMsBuildRunner>@(StyleCopMsBuildRunner)</StyleCopMsBuildRunner>
</PropertyGroup>
<Error Text="Multiple StyleCop copies detected. Please clean out your packages folder and try again."
Condition=" $(StyleCopMsBuildRunner.Contains(';')) " />
+ <Delete Files="$(StyleCopSuccessMarkerFile)" Condition="Exists('$(StyleCopSuccessMarkerFile)')" />
+
<Message Text="Running Style Analysis..." Importance="high" />
<Message Text="Forcing full StyleCop reanalysis." Condition="'$(StyleCopForceFullAnalysis)' == 'true'" Importance="Low" />
<!-- Determine what files should be checked. Take all Compile items, but exclude those that have
set ExcludeFromStyleCop=true or ExcludeFromSourceAnalysis=true. -->
- <CreateItem Include="@(Compile)" Condition="('%(Compile.ExcludeFromStyleCop)' != 'true') and ('%(Compile.ExcludeFromSourceAnalysis)' != 'true')">
- <Output TaskParameter="Include" ItemName="StyleCopFiles"/>
- </CreateItem>
+ <ItemGroup>
+ <StyleCopFiles Include="@(Compile)" Condition=" '%(Compile.ExcludeFromStyleCop)' != 'true' and '%(Compile.ExcludeFromSourceAnalysis)' != 'true'" />
+ <StyleCopExcludedFiles Include="@(Compile)" Condition=" '%(Compile.ExcludeFromStyleCop)' == 'true' or '%(Compile.ExcludeFromSourceAnalysis)' == 'true'" />
+ </ItemGroup>
<Message Text="Analyzing @(StyleCopFiles)" Importance="Low" />
<!-- Show list of what files should be excluded. checked. Take all Compile items, but exclude those that have
set ExcludeFromStyleCop=true or ExcludeFromSourceAnalysis=true. -->
- <CreateItem Include="@(Compile)" Condition="('%(Compile.ExcludeFromStyleCop)' == 'true') or ('%(Compile.ExcludeFromSourceAnalysis)' == 'true')">
- <Output TaskParameter="Include" ItemName="StyleCopExcludedFiles"/>
- </CreateItem>
-
- <ItemGroup>
- <StyleCopFiles Remove="@(ExcludeFromStyleCop)" />
- </ItemGroup>
-
<Message Text="Excluding @(StyleCopExcludedFiles)" Importance="Normal" Condition=" '@(StyleCopExcludedFiles)' != '' "/>
<!-- Run the StyleCop MSBuild task. -->
@@ -118,13 +60,15 @@
CacheResults="$(StyleCopCacheResults)"
OverrideSettingsFile="$(StyleCopOverrideSettingsFile)"
OutputFile="$(StyleCopOutputFile)"
- MaxViolationCount="$(StyleCopMaxViolationCount)"
- />
+ MaxViolationCount="$(StyleCopMaxViolationCount)" />
<!-- Make output files cleanable -->
- <CreateItem Include="$(StyleCopOutputFile)">
- <Output TaskParameter="Include" ItemName="FileWrites"/>
- </CreateItem>
+ <ItemGroup>
+ <FileWrites Include="$(StyleCopOutputFile)" />
+ <FileWrites Include="$(StyleCopSuccessMarkerFile)" />
+ </ItemGroup>
+
+ <Touch Files="$(StyleCopSuccessMarkerFile)" AlwaysCreate="true" />
<!-- Add the StyleCop.cache file to the list of files we've written - so they can be cleaned up on a Build Clean. -->
<CreateItem Include="StyleCop.Cache" Condition="'$(StyleCopCacheResults)' == 'true'">