Add a property to enable NETCore.Analyzer.
Usages:
./build.sh build [module] /p:BuildWithAnalyzer=True
./build.sh full /p:BuildWithAnalyzer=True
if [ -d /nuget ]; then
NUGET_SOURCE_OPT="/p:RestoreSources=/nuget"
fi
- $RUN_BUILD /t:restore /p:Project=$1 $NUGET_SOURCE_OPT
- $RUN_BUILD /t:build /p:Project=$1
+ PROJECT=$1; shift
+ $RUN_BUILD /t:restore /p:Project=$PROJECT $NUGET_SOURCE_OPT $@
+ $RUN_BUILD /t:build /p:Project=$PROJECT $@
}
cmd_full_build() {
NUGET_SOURCE_OPT="/p:RestoreSources=/nuget"
fi
$RUN_BUILD /t:clean
- $RUN_BUILD /t:restore $NUGET_SOURCE_OPT
- $RUN_BUILD /t:build
+ $RUN_BUILD /t:restore $NUGET_SOURCE_OPT $@
+ $RUN_BUILD /t:build $@
}
cmd_dummy_build() {
<!-- Build Properties -->
<PropertyGroup>
- <Configuration>Release</Configuration>
+ <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
+ <BuildWithAnalyzer Condition="'$(BuildWithAnalyzer)' == ''">False</BuildWithAnalyzer>
</PropertyGroup>
<!-- Projects to build -->
<Target Name="Restore">
<MSBuild Projects="@(ProjectToBuild)"
- Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources)"
+ Properties="Configuration=$(Configuration);RestoreSources=$(RestoreSources);BuildWithAnalyzer=$(BuildWithAnalyzer)"
BuildInParallel="false"
Targets="Restore" />
<Target Name="Build">
<MSBuild Projects="@(ProjectToBuild)"
- Properties="Configuration=$(Configuration)"
+ Properties="Configuration=$(Configuration);BuildWithAnalyzer=$(BuildWithAnalyzer)"
BuildInParallel="true"
UseResultsCache="true"
Targets="Rebuild" />
<Import Project="$(MSBuildThisFileDirectory)version.props" />
+ <ItemGroup Condition="'$(BuildWithAnalyzer)' == 'True'">
+ <PackageReference Include="Microsoft.NetCore.Analyzers" Version="2.6.1">
+ <PrivateAssets>all</PrivateAssets>
+ <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
+ </PackageReference>
+ </ItemGroup>
+
</Project>