Skip to content

Commit

Permalink
Add Template DataPlane project (Azure#5133)
Browse files Browse the repository at this point in the history
- Also adds some wrapper props/targets to enable dataplane builds.
- Update client.yml to use dotnet build commands for both windows and linux
- Add netfx compile support on non-windows
  • Loading branch information
weshaggard authored Jan 17, 2019
1 parent f0a1c90 commit 9d2b41e
Show file tree
Hide file tree
Showing 19 changed files with 283 additions and 113 deletions.
112 changes: 26 additions & 86 deletions .azure-pipelines/client.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
trigger:
- psSdkJson6

# Variables:
# 'targetSDK' the dataPlane SDK you want to build (Ex: KeyVault)
# 'scope' should be set in the pipeline definition to 'SDKs/$(targetSDK)/dataPlane'
# 'build.useLatest' indicates whether or not to use build bootstrap files from the LTSBuildTools branch
variables:
- name: ProjectFile
value: eng/data-plane.proj

jobs:
- job: 'Build_Packages'
Expand All @@ -13,112 +12,53 @@ jobs:
vmImage: 'vs2017-win2016'

steps:
- script: |
"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\sn.exe" -Vr *,31bf3856ad364e35
displayName: 'Allow unsigned build tool'
- task: MSBuild@1
displayName: 'Init Build'
inputs:
solution: build.proj
msbuildArguments: '/t:Init /flp:LogFile=msbuild.Initlog;Verbosity=normal /p:UseLatest=$(build.useLatest)'

- task: MSBuild@1
displayName: 'Build NuGet Package'
- task: DotNetCoreInstaller@0
displayName: 'Use .NET Core sdk 2.1.503'
inputs:
solution: build.proj
msbuildArguments: '/t:CreateNugetPackage /p:Scope=$(scope) /p:Configuration=Release /clp:ShowTimestamp /flp:Summary;Verbosity=minimal;LogFile=FullBuild.sum /flp1:warningsonly;logfile=FullBuild.wrn /flp2:errorsonly;logfile=FullBuild.err /p:DebugTrace=$(system.debug) /p:CodeSign=false /p:AuthenticodeSign=false /p:RunGlobalReadinessTools=false /p:EnablePreBuildTarget=false /p:EnablePostBuildTarget=false /p:SkipTests=true'

- script: |
"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\sn.exe" -Vu *,31bf3856ad364e35
displayName: 'Clean up unsigned build tool allowance'
condition: always()
version: 2.1.503

- task: PublishBuildArtifacts@1
displayName: 'Publish Artifacts'
- task: DotNetCoreCLI@2
displayName: 'Build ane Package'
inputs:
PathtoPublish: 'binaries\packages'
ArtifactName: packages
command: pack
packagesToPack: '$(ProjectFile)'

- job: 'Test_Windows'

pool:
vmImage: 'vs2017-win2016'

steps:
- script: |
"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\sn.exe" -Vr *,31bf3856ad364e35
displayName: 'Allow unsigned build tool'
- task: MSBuild@1
displayName: 'Init Build'
- task: DotNetCoreInstaller@0
displayName: 'Use .NET Core sdk 2.1.503'
inputs:
solution: build.proj
msbuildArguments: '/t:Init /flp:LogFile=msbuild.Initlog;Verbosity=normal /p:UseLatest=$(build.useLatest)'
version: 2.1.503

- task: MSBuild@1
displayName: 'Run Tests'
- task: DotNetCoreCLI@2
displayName: 'Build & Test'
inputs:
solution: build.proj
msbuildArguments: '/t:RunTests /p:Scope=$(scope) /p:Configuration=Release /clp:ShowTimestamp /flp:Summary;Verbosity=minimal;LogFile=FullTest.sum /flp1:warningsonly;logfile=FullTest.wrn /flp2:errorsonly;logfile=FullTest.err /p:DebugTrace=$(system.debug) /p:CodeSign=false /p:AuthenticodeSign=false /p:RunGlobalReadinessTools=false /p:EnablePreBuildTarget=false /p:EnablePostBuildTarget=false'
command: test
projects: '$(ProjectFile)'

- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
displayName: 'Component Detection'
# ComponentGovernance is currently unable to run on pull requests of public projects. Running on
# ComponentGovernance is currently unable to run on pull requests of public projects. Running on
# scheduled builds should be good enough.
condition: and(succeeded(), eq(variables['Build.Reason'], 'Schedule'))

- script: |
"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\sn.exe" -Vu *,31bf3856ad364e35
displayName: 'Clean up unsigned build tool allowance'
condition: always()
- job: 'Test_Linux'

pool:
vmImage: 'ubuntu-16.04'

steps:
- powershell: |
$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE="true"
$env:DOTNET_CLI_TELEMETRY_OPTOUT="1"
# this is roughly equivalent to calling "msbuild build.proj /t:Init" on Windows
bash ./tools/linuxScripts/getBuildTools.sh
foreach ($proj in (dir -r -i *.csproj src/$(scope)))
{
# Have to skip this one because it depends on Windows Cryptography Next Generation (CNG)
if ($proj.Name.Contains("Microsoft.Azure.KeyVault.Tests.csproj"))
{
Write-Host "skipping $proj"
continue
}
if ($proj.Name.Contains(".Tests.") -or $proj.Name.Contains(".TestFramework."))
{
Write-Host "dotnet test $proj -f netcoreapp2.0 /nodeReuse:false"
dotnet test $proj -f netcoreapp2.0 /nodeReuse:false
if ($LastExitCode -ne 0)
{
Write-Host "audit test $proj failed with exit code $LastExitCode"
exit 1
}
}
else
{
# Can only build netstandard on Linux
Write-Host "dotnet build $proj -f netstandard1.4"
dotnet build $proj -f netstandard1.4
if ($LastExitCode -ne 0)
{
Write-Host "audit built $proj failed with exit code $LastExitCode"
exit 1
}
}
}
- task: DotNetCoreInstaller@0
displayName: 'Use .NET Core sdk 2.1.503'
inputs:
version: 2.1.503

- task: DotNetCoreCLI@2
displayName: 'Build & Test'
inputs:
command: test
projects: '$(ProjectFile)'
29 changes: 6 additions & 23 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,28 +1,11 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LibraryRoot>$(MSBuildThisFileDirectory)</LibraryRoot>
<LibraryToolsFolder>$(LibraryRoot)tools</LibraryToolsFolder>
<BuildAssetsDir>$(LibraryToolsFolder)\BuildAssets</BuildAssetsDir>
<SdkBuildToolsDir>$(LibraryToolsFolder)\SdkBuildTools</SdkBuildToolsDir>
<RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot>
<RepoEngPath>$(MSBuildThisFileDirectory)eng</RepoEngPath>
<RepoSrcPath>$(RepoRoot)src/SDKs</RepoSrcPath>
<IsDataPlaneProject Condition="$(MSBuildProjectDirectory.Contains('data-plane'))">true</IsDataPlaneProject>
</PropertyGroup>

<PropertyGroup>
<NetSdkBuildTargetsDir Condition=" Exists('$(BuildAssetsDir)') ">$(BuildAssetsDir)\targets</NetSdkBuildTargetsDir>
<NetSdkBuildTargetsDir Condition=" Exists('$(SdkBuildToolsDir)') AND '$(NetSdkBuildTargetsDir)' == '' ">$(SdkBuildToolsDir)\targets</NetSdkBuildTargetsDir>
<NetSdkBuildToolsDir Condition=" Exists('$(BuildAssetsDir)') ">$(BuildAssetsDir)</NetSdkBuildToolsDir>
<NetSdkBuildToolsDir Condition=" Exists('$(SdkBuildToolsDir)') AND '$(NetSdkBuildToolsDir)' == '' ">$(SdkBuildToolsDir)</NetSdkBuildToolsDir>
</PropertyGroup>

<!-- If Scope is specified then don't ignore any tests by default otherwise when building all ignore the projects with issues -->
<PropertyGroup Condition="'$(Scope)' == '' or '$(Scope)' == 'All'">
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) Microsoft.Rest.ClientRuntime.Tracing.Tests</DefaultPathTokenToIgnore>
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) Microsoft.Azure.Services.AppAuthentication.IntegrationTests</DefaultPathTokenToIgnore>
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) Batch\DataPlane</DefaultPathTokenToIgnore>
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) Batch\Support</DefaultPathTokenToIgnore>
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) KeyVault\dataPlane\Microsoft.Azure.KeyVault.Tests</DefaultPathTokenToIgnore>
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) KeyVault\dataPlane\Microsoft.Azure.KeyVault.Extensions.Tests</DefaultPathTokenToIgnore>
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) LocationBasedServices</DefaultPathTokenToIgnore>
</PropertyGroup>

<Import Project="$(NetSdkBuildTargetsDir)\core\_Directory.Build.props" Condition=" Exists('$(NetSdkBuildTargetsDir)\core\_Directory.Build.props') "/>
<Import Project="$(RepoEngPath)\Directory.Build.Mgmt.props" Condition="'$(IsDataPlaneProject)' != 'true'" />
<Import Project="$(RepoEngPath)\Directory.Build.Data.props" Condition="'$(IsDataPlaneProject)' == 'true'" />
</Project>
4 changes: 2 additions & 2 deletions Directory.Build.targets
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(NetSdkBuildTargetsDir)\core\_Directory.Build.targets" Condition=" Exists('$(NetSdkBuildTargetsDir)\core\_Directory.Build.targets') "/>
<Import Project="tools\bootstrapTools\bootstrap.targets" />
<Import Project="$(RepoEngPath)\Directory.Build.Mgmt.targets" Condition="'$(IsDataPlaneProject)' != 'true'" />
<Import Project="$(RepoEngPath)\Directory.Build.Data.targets" Condition="'$(IsDataPlaneProject)' == 'true'" />
</Project>
5 changes: 3 additions & 2 deletions NuGet.Config
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="NugetOfficialV3" value="https://api.nuget.org/v3/index.json" />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="Local" value="tools/LocalNugetFeed" />
<add key="roslyn" value="https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json" />
</packageSources>
</configuration>
</configuration>
17 changes: 17 additions & 0 deletions eng/AzSdk.reference.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Include="Microsoft.Rest.ClientRuntime.Azure" Version="[3.3.18, 4.0.0)" />
<PackageReference Include="Microsoft.Rest.ClientRuntime" Version="[2.3.18, 3.0.0)" />
</ItemGroup>

<ItemGroup Condition="'$(IsTargetingNetStandard)' == 'true'">
<PackageReference Include="System.Net.Http" Version="4.3.0"/>
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
</ItemGroup>

<ItemGroup Condition="'$(IsTargetingNetFx)' == 'true'">
<Reference Include="System.Net" />
<Reference Include="System.Net.Http" />
<PackageReference Include="Newtonsoft.Json" Version="6.0.8" />
</ItemGroup>
</Project>
14 changes: 14 additions & 0 deletions eng/AzSdk.test.reference.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="xunit" Version="2.4.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />

<PackageReference Include="Microsoft.Azure.Test.HttpRecorder" Version="[1.13.1, 2.0.0)" />
<PackageReference Include="Microsoft.Rest.ClientRuntime.Azure.TestFramework" Version="[1.7.5, 2.0.0)" />
<PackageReference Include="Microsoft.Azure.ResourceManager" Version="[1.1.0-preview]" />

<!-- This is needed for discovering tests in test explorer -->
<PackageReference Include="System.Runtime.InteropServices" Version="4.3.0" />
</ItemGroup>
</Project>
49 changes: 49 additions & 0 deletions eng/Directory.Build.Data.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Setup default project properties -->
<PropertyGroup>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
<Platform Condition="'$(Platform)' == ''">AnyCPU</Platform>
<PlatformName Condition="'$(PlatformName)' == ''">$(Platform)</PlatformName>
<SignAssembly>true</SignAssembly>
</PropertyGroup>

<!-- TargetFramework default properties -->
<PropertyGroup>
<RequiredTargetFrameworks>net452;netstandard1.4</RequiredTargetFrameworks>

<IsTargetingNetFx Condition="$(TargetFramework.StartsWith('net4'))">true</IsTargetingNetFx>
<IsTargetingNetStandard Condition="$(TargetFramework.StartsWith('netstandard'))">true</IsTargetingNetStandard>
<IsTargetingNetCoreApp Condition="$(TargetFramework.StartsWith('netcoreapp'))">true</IsTargetingNetCoreApp>

<DefineConstants Condition="'$(IsTargetingNetFx)' == 'true'">$(DefineConstants);FullNetFx</DefineConstants>
</PropertyGroup>

<!-- Setup common output paths -->
<PropertyGroup>
<ArtifactsDir Condition="'$(ArtifactsDir)' == ''">$(RepoRoot)artifacts\</ArtifactsDir>
<ArtifactsObjDir>$(ArtifactsDir)obj\</ArtifactsObjDir>
<ArtifactsBinDir>$(ArtifactsDir)bin\</ArtifactsBinDir>
<ArtifactsPackagesDir>$(ArtifactsDir)packages\$(Configuration)\</ArtifactsPackagesDir>

<OutDirName Condition="'$(OutDirName)' == ''">$(MSBuildProjectName)</OutDirName>

<BaseOutputPath Condition="'$(BaseOutputPath)' == ''">$([System.IO.Path]::GetFullPath('$(ArtifactsBinDir)$(OutDirName)\'))</BaseOutputPath>
<OutputPath Condition="'$(PlatformName)' == 'AnyCPU'">$(BaseOutputPath)$(Configuration)\</OutputPath>
<OutputPath Condition="'$(PlatformName)' != 'AnyCPU'">$(BaseOutputPath)$(PlatformName)\$(Configuration)\</OutputPath>

<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">$([System.IO.Path]::GetFullPath('$(ArtifactsObjDir)$(OutDirName)\'))</BaseIntermediateOutputPath>
<IntermediateOutputPath Condition="'$(PlatformName)' == 'AnyCPU'">$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
<IntermediateOutputPath Condition="'$(PlatformName)' != 'AnyCPU'">$(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\</IntermediateOutputPath>

<PackageOutputPath>$(ArtifactsPackagesDir)</PackageOutputPath>
</PropertyGroup>

<!-- Common library and package properties -->
<PropertyGroup>
<Company>Microsoft Corporation</Company>
<Copyright>© Microsoft Corporation. All rights reserved.</Copyright>
<Authors>Microsoft</Authors>
<Product>Azure .NET SDK</Product>
<NeutralLanguage>en-US</NeutralLanguage>
</PropertyGroup>
</Project>
43 changes: 43 additions & 0 deletions eng/Directory.Build.Data.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="ValidateTargetFrameworks" BeforeTargets="Build">
<ItemGroup>
<RequiredTargetFrameworks Include="$(RequiredTargetFrameworks)" />
<ConfiguredTargetFrameworks Include="$(TargetFrameworks)" />
<MissingTargetFrameworks Include="@(RequiredTargetFrameworks)" Exclude="@(ConfiguredTargetFrameworks)" />
</ItemGroup>

<Error Condition="'@(RequiredTargetFrameworks)' == ''" Text="List of required target frameworks is empty something must have messed up property RequiredTargetFrameworks[$(RequiredTargetFrameworks)]." />
<Error Condition="'@(MissingTargetFrameworks)' != ''" Text="Missing required target frameworks '@(MissingTargetFrameworks)'. Please ensure you add those frameworks." />
</Target>

<PropertyGroup>
<DefaultReferenceTargets>AzSdk.reference.targets</DefaultReferenceTargets>
<IsTestProject Condition="'$(IsTestProject)' == '' and $(MSBuildProjectName.EndsWith('.Tests'))">true</IsTestProject>
</PropertyGroup>

<PropertyGroup Condition="'$(IsTestProject)' == 'true' or '$(IsTestHelperLibrary)' == 'true'">
<IsPackable>false</IsPackable>
<SignAssembly>false</SignAssembly>
<RequiredTargetFrameworks>netcoreapp2.0</RequiredTargetFrameworks>
<TargetFrameworks>$(RequiredTargetFrameworks)</TargetFrameworks>
<DefaultReferenceTargets>AzSdk.test.reference.targets</DefaultReferenceTargets>

<!-- Disable running of tests for test helper libraries -->
<IsTestProject Condition="'$(IsTestHelperLibrary)' == 'true'">false</IsTestProject>
</PropertyGroup>

<!-- This allows us to build .NET Framework targets on non-windows
TODO: Move the NETFramework reference assemblies to a feed other then the roslyn feed.
-->
<ItemGroup Condition="'$(IsTargetingNetFx)' == 'true'">
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0-alpha-004" PrivateAssets="all" IsImplicitlyDefined="true" />
</ItemGroup>

<PropertyGroup Condition="'$(SignAssembly)' != 'false'">
<SignAssembly>true</SignAssembly>
<DelaySign>true</DelaySign>
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)MSSharedLibKey.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>

<Import Project="$(DefaultReferenceTargets)" Condition="Exists('$(DefaultReferenceTargets)')" />
</Project>
33 changes: 33 additions & 0 deletions eng/Directory.Build.Mgmt.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LibraryRoot>$(RepoRoot)</LibraryRoot>
<LibraryToolsFolder>$(LibraryRoot)\tools</LibraryToolsFolder>
<BuildAssetsDir>$(LibraryToolsFolder)\BuildAssets</BuildAssetsDir>
<SdkBuildToolsDir>$(LibraryToolsFolder)\SdkBuildTools</SdkBuildToolsDir>
</PropertyGroup>

<PropertyGroup>
<NetSdkBuildTargetsDir Condition=" Exists('$(BuildAssetsDir)') ">$(BuildAssetsDir)\targets</NetSdkBuildTargetsDir>
<NetSdkBuildTargetsDir Condition=" Exists('$(SdkBuildToolsDir)') AND '$(NetSdkBuildTargetsDir)' == '' ">$(SdkBuildToolsDir)\targets</NetSdkBuildTargetsDir>
<NetSdkBuildToolsDir Condition=" Exists('$(BuildAssetsDir)') ">$(BuildAssetsDir)</NetSdkBuildToolsDir>
<NetSdkBuildToolsDir Condition=" Exists('$(SdkBuildToolsDir)') AND '$(NetSdkBuildToolsDir)' == '' ">$(SdkBuildToolsDir)</NetSdkBuildToolsDir>
</PropertyGroup>

<!-- If Scope is specified then don't ignore any tests by default otherwise when building all ignore the projects with issues -->
<PropertyGroup Condition="'$(Scope)' == '' or '$(Scope)' == 'All'">
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) Microsoft.Rest.ClientRuntime.Tracing.Tests</DefaultPathTokenToIgnore>
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) Microsoft.Azure.Services.AppAuthentication.IntegrationTests</DefaultPathTokenToIgnore>
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) Batch\DataPlane</DefaultPathTokenToIgnore>
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) Batch\Support</DefaultPathTokenToIgnore>
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) KeyVault\dataPlane\Microsoft.Azure.KeyVault.Tests</DefaultPathTokenToIgnore>
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) KeyVault\dataPlane\Microsoft.Azure.KeyVault.Extensions.Tests</DefaultPathTokenToIgnore>
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) LocationBasedServices</DefaultPathTokenToIgnore>
</PropertyGroup>

<!-- Ignore all data plane libraries following the "data-plane" naming convention -->
<PropertyGroup>
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) data-plane</DefaultPathTokenToIgnore>
</PropertyGroup>

<Import Project="$(NetSdkBuildTargetsDir)\core\_Directory.Build.props" Condition=" Exists('$(NetSdkBuildTargetsDir)\core\_Directory.Build.props') "/>
</Project>
4 changes: 4 additions & 0 deletions eng/Directory.Build.Mgmt.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(NetSdkBuildTargetsDir)\core\_Directory.Build.targets" Condition=" Exists('$(NetSdkBuildTargetsDir)\core\_Directory.Build.targets') "/>
<Import Project="$(LibraryToolsFolder)\bootstrapTools\bootstrap.targets" />
</Project>
Binary file added eng/MSSharedLibKey.snk
Binary file not shown.
7 changes: 7 additions & 0 deletions eng/data-plane.proj
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<Project Sdk="Microsoft.Build.Traversal">
<ItemGroup>
<ExcludeProjects Include="$(RepoSrcPath)\*\data-plane\**\*.Tests.*proj" Condition="'$(SkipTests)' == 'true'" />

<ProjectReference Include="$(RepoSrcPath)\*\data-plane\**\*.*proj" Exclude="@(ExcludeProjects)" />
</ItemGroup>
</Project>
5 changes: 5 additions & 0 deletions global.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"msbuild-sdks": {
"Microsoft.Build.Traversal": "1.0.45"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>$(RequiredTargetFrameworks)</TargetFrameworks>
</PropertyGroup>
</Project>
Loading

0 comments on commit 9d2b41e

Please sign in to comment.