-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathPreSharp.targets
98 lines (86 loc) · 4.61 KB
/
PreSharp.targets
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<AvailableItemName Include="PreSharpInput">
<Visible>false</Visible>
</AvailableItemName>
<AvailableItemName Include="PreSharpInPlace">
<Visible>false</Visible>
</AvailableItemName>
<AvailableItemName Include="PreSharpTemplate">
<Visible>false</Visible>
</AvailableItemName>
<AvailableItemName Include="PreSharpTemplateInclude">
<Visible>false</Visible>
</AvailableItemName>
<AvailableItemName Include="PreSharpTemplateLibrary">
<Visible>false</Visible>
</AvailableItemName>
</ItemGroup>
<UsingTask TaskName="PreSharpBuildTask" AssemblyFile="$(ProgramFiles)\PreSharp\PreSharp.exe" Condition=" '$(DISABLE_PRESHARP)' == '' " />
<PropertyGroup Condition=" '$(DISABLE_PRESHARP)' == '' ">
<BuildDependsOn>
PreSharpBuildTarget;
$(BuildDependsOn)
</BuildDependsOn>
</PropertyGroup>
<PropertyGroup Condition=" '$(DISABLE_PRESHARP)' == '' ">
<CoreCompileDependsOn>
PreSharpAddCompileGeneratedFilesTarget;
$(CoreCompileDependsOn)
</CoreCompileDependsOn>
</PropertyGroup>
<PropertyGroup Condition=" '$(DISABLE_PRESHARP)' == '' ">
<PrepareResourceNamesDependsOn>
PreSharpAddEmbeddedResourceGeneratedFilesTarget;
$(PrepareResourceNamesDependsOn)
</PrepareResourceNamesDependsOn>
</PropertyGroup>
<PropertyGroup Condition=" '$(DISABLE_PRESHARP)' == '' ">
<CleanDependsOn>
PreSharpCleanTarget;
$(CleanDependsOn)
</CleanDependsOn>
</PropertyGroup>
<Target Name="PreSharpCalculateInputsTarget"
DependsOnTargets="BuiltProjectOutputGroupDependencies">
<CreateProperty Value="@(PreSharpInPlace->'%(FullPath)');@(PreSharpTemplate->'%(FullPath)');@(PreSharpTemplateLibrary->'%(FullPath)');@(PreSharpTemplateInclude->'%(FullPath)');@(PreSharpInput->'%(FullPath)')">
<Output TaskParameter="Value" PropertyName="PreSharpInputs" />
</CreateProperty>
<CreateProperty Condition=" '$(PreSharpInputs)' != '' " Value="$(PreSharpInputs);@(BuiltProjectOutputGroupDependency->'%(FullPath)')">
<Output TaskParameter="Value" PropertyName="PreSharpInputs" />
</CreateProperty>
</Target>
<Target Name="PreSharpBuildTarget"
DependsOnTargets="PreSharpCalculateInputsTarget"
Inputs="$(PreSharpInputs)"
Outputs="PreSharp.CompileGeneratedFiles.cache;PreSharp.EmbeddedResourceGeneratedFiles.cache">
<PreSharpBuildTask ConditionalCompilationSymbols="$(DefineConstants)"
DependencyPaths="@(BuiltProjectOutputGroupDependency)"
InPlaceFiles="@(PreSharpInPlace)"
TemplateFiles="@(PreSharpTemplate)"
TemplateIncludeFiles="@(PreSharpTemplateInclude)"
TemplateLibraryFiles="@(PreSharpTemplateLibrary)"
OutputDirectory="$(OutDir)"
ProjectPath="$(ProjectPath)">
<Output TaskParameter="FilesToDelete" ItemName="FilesToDelete" />
<Output TaskParameter="CompileGeneratedFiles" ItemName="CompileGeneratedFiles" />
<Output TaskParameter="EmbeddedResourceGeneratedFiles" ItemName="EmbeddedResourceGeneratedFiles" />
</PreSharpBuildTask>
<WriteLinesToFile File="PreSharp.CompileGeneratedFiles.cache" Lines="@(CompileGeneratedFiles)" Overwrite="true" />
<WriteLinesToFile File="PreSharp.EmbeddedResourceGeneratedFiles.cache" Lines="@(EmbeddedResourceGeneratedFiles)" Overwrite="true" />
<Delete Files="@(FilesToDelete)" />
</Target>
<Target Name="PreSharpAddCompileGeneratedFilesTarget">
<ReadLinesFromFile File="PreSharp.CompileGeneratedFiles.cache">
<Output TaskParameter="Lines" ItemName="Compile" />
</ReadLinesFromFile>
</Target>
<Target Name="PreSharpAddEmbeddedResourceGeneratedFilesTarget">
<ReadLinesFromFile File="PreSharp.EmbeddedResourceGeneratedFiles.cache">
<Output TaskParameter="Lines" ItemName="EmbeddedResource" />
</ReadLinesFromFile>
</Target>
<Target Name="PreSharpCleanTarget">
<Delete Files="PreSharp.CompileGeneratedFiles.cache;PreSharp.EmbeddedResourceGeneratedFiles.cache;@(PreSharpTemplate->'%(FullPath).PreSharpDebug.cs');@(PreSharpTemplateLibrary->'%(FullPath).PreSharpDebug.cs')" />
</Target>
</Project>