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 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
|
<Project>
<PropertyGroup>
<GitRoot>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), '.gitignore'))\</GitRoot>
<SourceRoot>$(GitRoot)src\</SourceRoot>
<BuildScriptsDir>$(GitRoot)build\</BuildScriptsDir>
<Configuration Condition="'$(Configuration)'==''">Debug</Configuration>
<BaseOutputPath>$(GitRoot)bin\$(Configuration.ToLowerInvariant())\</BaseOutputPath>
<OutputPath>$(BaseOutputPath)$(MSBuildProjectName)\</OutputPath>
<PackageOutputPath>$(BaseOutputPath)nupkgs\</PackageOutputPath>
<SymbolsOutputPath>$(BaseOutputPath)sym\</SymbolsOutputPath>
<AppendTargetFrameworkToOutputPath Condition="'$(AppendTargetFrameworkToOutputPath)' == ''">false</AppendTargetFrameworkToOutputPath>
<BaseIntermediateOutputPath>$(GitRoot)bin\obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
<IsTraversal Condition="'$(MSBuildProjectFile)'=='dirs.proj'">true</IsTraversal>
<RootName Condition="'$(RootName)'==''">Microsoft.VsCloudKernel.Services</RootName>
<AssemblyName Condition="'$(AssemblyName)'==''">$(RootName).$(MSBuildProjectName)</AssemblyName>
<RootNamespace Condition="'$(RootNamespace)'==''">$(RootName).$(MSBuildProjectName)</RootNamespace>
<IsPublishable Condition="'$(IsPublishable)'==''" >false</IsPublishable>
<IsPackable Condition="'$(IsPackable)'==''" >false</IsPackable>
<!-- NU1608: Microsoft.Azure.Cosmos.Table 1.0.5 requires Microsoft.Azure.DocumentDB.Core (>= 2.1.3 && <= 2.4.2)
but version Microsoft.Azure.DocumentDB.Core 2.8.1 was resolved -->
<NoWarn>$(NoWarn);NU1608</NoWarn>
<TreatWarningsAsErrors Condition="'$(TreatWarningsAsErrors)' == ''">true</TreatWarningsAsErrors>
</PropertyGroup>
<!-- Compiler options -->
<PropertyGroup>
<Deterministic>true</Deterministic>
</PropertyGroup>
<!-- .Net Targets -->
<PropertyGroup>
<NetCoreAppTargetFramework>netcoreapp3.1</NetCoreAppTargetFramework>
<NetStandardTargetFramework>netstandard2.1</NetStandardTargetFramework>
<NetStandardTargetFrameworkMT>netstandard2.1</NetStandardTargetFrameworkMT>
</PropertyGroup>
<!-- NuGet Package Versions -->
<PropertyGroup>
<AltcoverVersion>7.6.812</AltcoverVersion>
<FluentAssertionsVersion>5.4.1</FluentAssertionsVersion>
<FxCopAnalyzersPackageVersion>3.3.0</FxCopAnalyzersPackageVersion>
<MicroBuildCoreVersion>0.3.0</MicroBuildCoreVersion>
<MicrosoftAspNetCoreWebUtilitiesPackageVersion>1.0.3</MicrosoftAspNetCoreWebUtilitiesPackageVersion>
<MicrosoftNETTestSdkVersion>15.8.0</MicrosoftNETTestSdkVersion>
<MoqVersion>4.9.0</MoqVersion>
<NerdBankGitVersioningVersion>3.4.255</NerdBankGitVersioningVersion>
<ReportGeneratorVersion>4.8.13</ReportGeneratorVersion>
<SystemTextEncodingsWebPackageVersion>4.7.2</SystemTextEncodingsWebPackageVersion>
<VisualStudioValidationVersion>15.5.31</VisualStudioValidationVersion>
<DevTunnelsSshPackageVersion>3.11.31</DevTunnelsSshPackageVersion>
<XunitRunnerVisualStudioVersion>2.4.0</XunitRunnerVisualStudioVersion>
<XunitVersion>2.4.0</XunitVersion>
</PropertyGroup>
<!-- Common project settings (except dirs.proj) -->
<Choose>
<When Condition="'$(IsTraversal)'!='true'">
<!-- Common Package Refs -->
<ItemGroup>
<PackageReference Include="MicroBuild.Core" Version="$(MicroBuildCoreVersion)" PrivateAssets="All" ExcludeAssets="Runtime" />
<PackageReference Include="Nerdbank.GitVersioning" Version="$(NerdBankGitVersioningVersion)" PrivateAssets="All" />
<PackageReference Condition="'$(UseVisualStudioValidation)'!='false'" Include="Microsoft.VisualStudio.Validation" Version="$(VisualStudioValidationVersion)" />
</ItemGroup>
<ItemGroup Condition="false">
<!-- All projects need to be rebuilt if the version changes. -->
<Content Include="$(MSBuildThisFileDirectory)\..\..\version.json" Link="version.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible> <!-- Hide from VS solution explorer -->
<Pack>false</Pack> <!--Exclude from NuGet Packages -->
</Content>
</ItemGroup>
</When>
</Choose>
<!-- Test project settings -->
<PropertyGroup Condition="'$(IsTestProject)'==''">
<IsTestProject Condition="$(MSBuildProjectName.EndsWith('.Test'))">true</IsTestProject>
<IsTestProject Condition="$(MSBuildProjectName.EndsWith('.Test.Integration'))">true</IsTestProject>
</PropertyGroup>
<Choose>
<When Condition="'$(IsTestProject)'=='true'">
<PropertyGroup>
<IsPackable>false</IsPackable>
<EnableSigning>false</EnableSigning>
<UseStyleCop>false</UseStyleCop>
<UseCodeAnalysis>false</UseCodeAnalysis>
<TestBaseName>$(MSBuildProjectName.Replace('.Test', ''))</TestBaseName>
<TestResultsDirectory Condition=" '$(TestResultsDirectory)'==''">$(BaseOutputPath)testresults</TestResultsDirectory>
<VSTestResultsDirectory>$(TestResultsDirectory)</VSTestResultsDirectory>
<VSTestLogger>trx%3BLogFileName=$(TestBaseName).trx</VSTestLogger>
<!-- Test methods don't need to end with Async suffix. -->
<NoWarn>$(NoWarn);VSTHRD200</NoWarn>
</PropertyGroup>
<!-- AltCover properties -->
<PropertyGroup Condition=" '$(CodeCoverage)' == 'true' ">
<AltCover>true</AltCover>
<AltCoverXmlReport>$(TestResultsDirectory)/$(TestBaseName)-coverage.xml</AltCoverXmlReport>
<AltCoverAssemblyExcludeFilter>Interop|Test|xunit|AltCover|System.Reactive</AltCoverAssemblyExcludeFilter>
<AltCoverTypeFilter>ThisAssembly|System.Runtime|CodeAnalysis</AltCoverTypeFilter>
<AltCoverLcovReport>$(TestResultsDirectory)/$(TestBaseName)-lcov.info</AltCoverLcovReport>
</PropertyGroup>
<!-- Test packages -->
<ItemGroup>
<PackageReference Include="altcover" Version="$(AltcoverVersion)" />
<PackageReference Include="FluentAssertions" Version="$(FluentAssertionsVersion)" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(MicrosoftNETTestSdkVersion)" />
<PackageReference Include="Moq" Version="$(MoqVersion)" />
<PackageReference Include="ReportGenerator" Version="$(ReportGeneratorVersion)" />
<PackageReference Include="xunit.runner.visualstudio" Version="$(XunitRunnerVisualStudioVersion)" />
<PackageReference Include="xunit" Version="$(XunitVersion)" />
</ItemGroup>
</When>
</Choose>
<!-- StyleCop -->
<Choose>
<When Condition="'$(UseStyleCop)'=='true'">
<ItemGroup>
<AdditionalFiles Include="$(MSBuildThisFileDirectory)stylecop.json" >
<Visible>false</Visible> <!-- Hide from VS solution explorer -->
</AdditionalFiles>
<Content Remove="$(MSBuildThisFileDirectory)stylecop.json" />
<PackageReference Include="StyleCop.Analyzers" Version="$(StyleCopAnalyzersPackageVersion)">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
</When>
</Choose>
<!-- Code Analysis -->
<Choose>
<When Condition="'$(UseCodeAnalysis)'=='true'">
<PropertyGroup>
<CodeAnalysisRuleSet Condition="'$(CodeAnalysisRuleSet)'==''">$(MSBuildThisFileDirectory)CodeAnalysis.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisTreatWarningsAsErrors>true</CodeAnalysisTreatWarningsAsErrors>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="$(FxCopAnalyzersPackageVersion)">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
</When>
</Choose>
<!-- Signing Options-->
<Choose>
<When Condition="'$(EnableSigning)' == 'true'">
<!-- Common signing props-->
<PropertyGroup>
<SignAssembly>true</SignAssembly>
<PublicKey>002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293</PublicKey>
<PublicKeyToken>b03f5f7f11d50a3a</PublicKeyToken>
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)PublicKey.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<!-- Delay signing -->
<PropertyGroup Condition="'SignType' != ''">
<DelaySign>true</DelaySign>
</PropertyGroup>
<!-- Public signing -->
<PropertyGroup Condition="'SignType' == ''">
<PublicSign>true</PublicSign>
</PropertyGroup>
<!-- Target to sign -->
<ItemGroup>
<FilesToSign Include="$(TargetPath)" Condition=" '$(TargetPath)' != '' " >
<Authenticode>Microsoft400</Authenticode>
<StrongName>StrongName</StrongName>
</FilesToSign>
</ItemGroup>
</When>
</Choose>
<!-- Packaging config -->
<PropertyGroup>
<!-- Disable warning about generating semver 2.0 package versions. We don't need to support legacy NuGet clients. -->
<NoWarn>$(NoWarn);NU5105</NoWarn>
</PropertyGroup>
</Project>
|