-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPackAsAnalyzer.props
37 lines (30 loc) · 1.46 KB
/
PackAsAnalyzer.props
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
<Project>
<PropertyGroup>
<BeforePack>$(BeforePack);IncludePackAsAnalyzerProjectReferences</BeforePack>
</PropertyGroup>
<Target Name="IncludePackAsAnalyzerProjectReferences"
Condition="'@(ProjectReference)' != '' and @(ProjectReference->AnyHaveMetadataValue('PackAsAnalyzer', 'true'))">
<MSBuild Projects="@(ProjectReference->WithMetadataValue('PackAsAnalyzer', 'true'))"
Targets="GetPackAsAnalyzerFiles">
<Output TaskParameter="TargetOutputs" ItemName="PackAsAnalyzerFile"/>
</MSBuild>
<ItemGroup>
<Content Include="@(PackAsAnalyzerFile->WithMetadataValue('IsSymbol', ''))"
Pack="True"/>
<_TargetPathsToSymbols Include="@(PackAsAnalyzerFile->WithMetadataValue('IsSymbol', 'true'))"
TargetPath="/%(PackAsAnalyzerFile.PackagePath)"/>
</ItemGroup>
</Target>
<Target Name="GetPackAsAnalyzerFiles"
DependsOnTargets="$(GenerateNuspecDependsOn)"
Returns="@(PackAsAnalyzerFile)">
<PropertyGroup>
<PackAsAnalyzerPath>analyzers/dotnet</PackAsAnalyzerPath>
</PropertyGroup>
<ItemGroup>
<PackAsAnalyzerFile Include="@(AnalyzerFiles)"/>
<PackAsAnalyzerFile Include="@(_TargetPathsToSymbols)" IsSymbol="true"/>
<PackAsAnalyzerFile PackagePath="$(PackAsAnalyzerPath)/%(TargetPath)"/>
</ItemGroup>
</Target>
</Project>