Skip to content

Commit 9d2b41e

Browse files
authored
Add Template DataPlane project (Azure#5133)
- 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
1 parent f0a1c90 commit 9d2b41e

19 files changed

+283
-113
lines changed

.azure-pipelines/client.yml

+26-86
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
trigger:
22
- psSdkJson6
33

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

98
jobs:
109
- job: 'Build_Packages'
@@ -13,112 +12,53 @@ jobs:
1312
vmImage: 'vs2017-win2016'
1413

1514
steps:
16-
- script: |
17-
"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\sn.exe" -Vr *,31bf3856ad364e35
18-
displayName: 'Allow unsigned build tool'
19-
20-
- task: MSBuild@1
21-
displayName: 'Init Build'
22-
inputs:
23-
solution: build.proj
24-
msbuildArguments: '/t:Init /flp:LogFile=msbuild.Initlog;Verbosity=normal /p:UseLatest=$(build.useLatest)'
25-
26-
- task: MSBuild@1
27-
displayName: 'Build NuGet Package'
15+
- task: DotNetCoreInstaller@0
16+
displayName: 'Use .NET Core sdk 2.1.503'
2817
inputs:
29-
solution: build.proj
30-
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'
31-
32-
- script: |
33-
"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\sn.exe" -Vu *,31bf3856ad364e35
34-
displayName: 'Clean up unsigned build tool allowance'
35-
condition: always()
18+
version: 2.1.503
3619

37-
- task: PublishBuildArtifacts@1
38-
displayName: 'Publish Artifacts'
20+
- task: DotNetCoreCLI@2
21+
displayName: 'Build ane Package'
3922
inputs:
40-
PathtoPublish: 'binaries\packages'
41-
ArtifactName: packages
23+
command: pack
24+
packagesToPack: '$(ProjectFile)'
4225

4326
- job: 'Test_Windows'
4427

4528
pool:
4629
vmImage: 'vs2017-win2016'
4730

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

59-
- task: MSBuild@1
60-
displayName: 'Run Tests'
37+
- task: DotNetCoreCLI@2
38+
displayName: 'Build & Test'
6139
inputs:
62-
solution: build.proj
63-
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'
40+
command: test
41+
projects: '$(ProjectFile)'
6442

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

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

7851
pool:
7952
vmImage: 'ubuntu-16.04'
8053

8154
steps:
82-
- powershell: |
83-
$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE="true"
84-
$env:DOTNET_CLI_TELEMETRY_OPTOUT="1"
85-
86-
# this is roughly equivalent to calling "msbuild build.proj /t:Init" on Windows
87-
bash ./tools/linuxScripts/getBuildTools.sh
88-
89-
foreach ($proj in (dir -r -i *.csproj src/$(scope)))
90-
{
91-
# Have to skip this one because it depends on Windows Cryptography Next Generation (CNG)
92-
if ($proj.Name.Contains("Microsoft.Azure.KeyVault.Tests.csproj"))
93-
{
94-
Write-Host "skipping $proj"
95-
continue
96-
}
97-
98-
if ($proj.Name.Contains(".Tests.") -or $proj.Name.Contains(".TestFramework."))
99-
{
100-
Write-Host "dotnet test $proj -f netcoreapp2.0 /nodeReuse:false"
101-
dotnet test $proj -f netcoreapp2.0 /nodeReuse:false
102-
if ($LastExitCode -ne 0)
103-
{
104-
Write-Host "audit test $proj failed with exit code $LastExitCode"
105-
exit 1
106-
}
107-
}
108-
else
109-
{
110-
# Can only build netstandard on Linux
111-
Write-Host "dotnet build $proj -f netstandard1.4"
112-
dotnet build $proj -f netstandard1.4
113-
if ($LastExitCode -ne 0)
114-
{
115-
Write-Host "audit built $proj failed with exit code $LastExitCode"
116-
exit 1
117-
}
118-
}
119-
}
55+
- task: DotNetCoreInstaller@0
56+
displayName: 'Use .NET Core sdk 2.1.503'
57+
inputs:
58+
version: 2.1.503
12059

60+
- task: DotNetCoreCLI@2
12161
displayName: 'Build & Test'
122-
123-
124-
62+
inputs:
63+
command: test
64+
projects: '$(ProjectFile)'

Directory.Build.props

+6-23
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,11 @@
11
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
22
<PropertyGroup>
3-
<LibraryRoot>$(MSBuildThisFileDirectory)</LibraryRoot>
4-
<LibraryToolsFolder>$(LibraryRoot)tools</LibraryToolsFolder>
5-
<BuildAssetsDir>$(LibraryToolsFolder)\BuildAssets</BuildAssetsDir>
6-
<SdkBuildToolsDir>$(LibraryToolsFolder)\SdkBuildTools</SdkBuildToolsDir>
3+
<RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot>
4+
<RepoEngPath>$(MSBuildThisFileDirectory)eng</RepoEngPath>
5+
<RepoSrcPath>$(RepoRoot)src/SDKs</RepoSrcPath>
6+
<IsDataPlaneProject Condition="$(MSBuildProjectDirectory.Contains('data-plane'))">true</IsDataPlaneProject>
77
</PropertyGroup>
88

9-
<PropertyGroup>
10-
<NetSdkBuildTargetsDir Condition=" Exists('$(BuildAssetsDir)') ">$(BuildAssetsDir)\targets</NetSdkBuildTargetsDir>
11-
<NetSdkBuildTargetsDir Condition=" Exists('$(SdkBuildToolsDir)') AND '$(NetSdkBuildTargetsDir)' == '' ">$(SdkBuildToolsDir)\targets</NetSdkBuildTargetsDir>
12-
<NetSdkBuildToolsDir Condition=" Exists('$(BuildAssetsDir)') ">$(BuildAssetsDir)</NetSdkBuildToolsDir>
13-
<NetSdkBuildToolsDir Condition=" Exists('$(SdkBuildToolsDir)') AND '$(NetSdkBuildToolsDir)' == '' ">$(SdkBuildToolsDir)</NetSdkBuildToolsDir>
14-
</PropertyGroup>
15-
16-
<!-- If Scope is specified then don't ignore any tests by default otherwise when building all ignore the projects with issues -->
17-
<PropertyGroup Condition="'$(Scope)' == '' or '$(Scope)' == 'All'">
18-
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) Microsoft.Rest.ClientRuntime.Tracing.Tests</DefaultPathTokenToIgnore>
19-
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) Microsoft.Azure.Services.AppAuthentication.IntegrationTests</DefaultPathTokenToIgnore>
20-
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) Batch\DataPlane</DefaultPathTokenToIgnore>
21-
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) Batch\Support</DefaultPathTokenToIgnore>
22-
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) KeyVault\dataPlane\Microsoft.Azure.KeyVault.Tests</DefaultPathTokenToIgnore>
23-
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) KeyVault\dataPlane\Microsoft.Azure.KeyVault.Extensions.Tests</DefaultPathTokenToIgnore>
24-
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) LocationBasedServices</DefaultPathTokenToIgnore>
25-
</PropertyGroup>
26-
27-
<Import Project="$(NetSdkBuildTargetsDir)\core\_Directory.Build.props" Condition=" Exists('$(NetSdkBuildTargetsDir)\core\_Directory.Build.props') "/>
9+
<Import Project="$(RepoEngPath)\Directory.Build.Mgmt.props" Condition="'$(IsDataPlaneProject)' != 'true'" />
10+
<Import Project="$(RepoEngPath)\Directory.Build.Data.props" Condition="'$(IsDataPlaneProject)' == 'true'" />
2811
</Project>

Directory.Build.targets

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2-
<Import Project="$(NetSdkBuildTargetsDir)\core\_Directory.Build.targets" Condition=" Exists('$(NetSdkBuildTargetsDir)\core\_Directory.Build.targets') "/>
3-
<Import Project="tools\bootstrapTools\bootstrap.targets" />
2+
<Import Project="$(RepoEngPath)\Directory.Build.Mgmt.targets" Condition="'$(IsDataPlaneProject)' != 'true'" />
3+
<Import Project="$(RepoEngPath)\Directory.Build.Data.targets" Condition="'$(IsDataPlaneProject)' == 'true'" />
44
</Project>

NuGet.Config

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<configuration>
33
<packageSources>
4-
<add key="NugetOfficialV3" value="https://api.nuget.org/v3/index.json" />
4+
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
55
<add key="Local" value="tools/LocalNugetFeed" />
6+
<add key="roslyn" value="https://dotnet.myget.org/F/roslyn-tools/api/v3/index.json" />
67
</packageSources>
7-
</configuration>
8+
</configuration>

eng/AzSdk.reference.targets

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<ItemGroup>
3+
<PackageReference Include="Microsoft.Rest.ClientRuntime.Azure" Version="[3.3.18, 4.0.0)" />
4+
<PackageReference Include="Microsoft.Rest.ClientRuntime" Version="[2.3.18, 3.0.0)" />
5+
</ItemGroup>
6+
7+
<ItemGroup Condition="'$(IsTargetingNetStandard)' == 'true'">
8+
<PackageReference Include="System.Net.Http" Version="4.3.0"/>
9+
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
10+
</ItemGroup>
11+
12+
<ItemGroup Condition="'$(IsTargetingNetFx)' == 'true'">
13+
<Reference Include="System.Net" />
14+
<Reference Include="System.Net.Http" />
15+
<PackageReference Include="Newtonsoft.Json" Version="6.0.8" />
16+
</ItemGroup>
17+
</Project>

eng/AzSdk.test.reference.targets

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<ItemGroup>
3+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
4+
<PackageReference Include="xunit" Version="2.4.0" />
5+
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
6+
7+
<PackageReference Include="Microsoft.Azure.Test.HttpRecorder" Version="[1.13.1, 2.0.0)" />
8+
<PackageReference Include="Microsoft.Rest.ClientRuntime.Azure.TestFramework" Version="[1.7.5, 2.0.0)" />
9+
<PackageReference Include="Microsoft.Azure.ResourceManager" Version="[1.1.0-preview]" />
10+
11+
<!-- This is needed for discovering tests in test explorer -->
12+
<PackageReference Include="System.Runtime.InteropServices" Version="4.3.0" />
13+
</ItemGroup>
14+
</Project>

eng/Directory.Build.Data.props

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<!-- Setup default project properties -->
3+
<PropertyGroup>
4+
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
5+
<Platform Condition="'$(Platform)' == ''">AnyCPU</Platform>
6+
<PlatformName Condition="'$(PlatformName)' == ''">$(Platform)</PlatformName>
7+
<SignAssembly>true</SignAssembly>
8+
</PropertyGroup>
9+
10+
<!-- TargetFramework default properties -->
11+
<PropertyGroup>
12+
<RequiredTargetFrameworks>net452;netstandard1.4</RequiredTargetFrameworks>
13+
14+
<IsTargetingNetFx Condition="$(TargetFramework.StartsWith('net4'))">true</IsTargetingNetFx>
15+
<IsTargetingNetStandard Condition="$(TargetFramework.StartsWith('netstandard'))">true</IsTargetingNetStandard>
16+
<IsTargetingNetCoreApp Condition="$(TargetFramework.StartsWith('netcoreapp'))">true</IsTargetingNetCoreApp>
17+
18+
<DefineConstants Condition="'$(IsTargetingNetFx)' == 'true'">$(DefineConstants);FullNetFx</DefineConstants>
19+
</PropertyGroup>
20+
21+
<!-- Setup common output paths -->
22+
<PropertyGroup>
23+
<ArtifactsDir Condition="'$(ArtifactsDir)' == ''">$(RepoRoot)artifacts\</ArtifactsDir>
24+
<ArtifactsObjDir>$(ArtifactsDir)obj\</ArtifactsObjDir>
25+
<ArtifactsBinDir>$(ArtifactsDir)bin\</ArtifactsBinDir>
26+
<ArtifactsPackagesDir>$(ArtifactsDir)packages\$(Configuration)\</ArtifactsPackagesDir>
27+
28+
<OutDirName Condition="'$(OutDirName)' == ''">$(MSBuildProjectName)</OutDirName>
29+
30+
<BaseOutputPath Condition="'$(BaseOutputPath)' == ''">$([System.IO.Path]::GetFullPath('$(ArtifactsBinDir)$(OutDirName)\'))</BaseOutputPath>
31+
<OutputPath Condition="'$(PlatformName)' == 'AnyCPU'">$(BaseOutputPath)$(Configuration)\</OutputPath>
32+
<OutputPath Condition="'$(PlatformName)' != 'AnyCPU'">$(BaseOutputPath)$(PlatformName)\$(Configuration)\</OutputPath>
33+
34+
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)' == ''">$([System.IO.Path]::GetFullPath('$(ArtifactsObjDir)$(OutDirName)\'))</BaseIntermediateOutputPath>
35+
<IntermediateOutputPath Condition="'$(PlatformName)' == 'AnyCPU'">$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
36+
<IntermediateOutputPath Condition="'$(PlatformName)' != 'AnyCPU'">$(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\</IntermediateOutputPath>
37+
38+
<PackageOutputPath>$(ArtifactsPackagesDir)</PackageOutputPath>
39+
</PropertyGroup>
40+
41+
<!-- Common library and package properties -->
42+
<PropertyGroup>
43+
<Company>Microsoft Corporation</Company>
44+
<Copyright>© Microsoft Corporation. All rights reserved.</Copyright>
45+
<Authors>Microsoft</Authors>
46+
<Product>Azure .NET SDK</Product>
47+
<NeutralLanguage>en-US</NeutralLanguage>
48+
</PropertyGroup>
49+
</Project>

eng/Directory.Build.Data.targets

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<Target Name="ValidateTargetFrameworks" BeforeTargets="Build">
3+
<ItemGroup>
4+
<RequiredTargetFrameworks Include="$(RequiredTargetFrameworks)" />
5+
<ConfiguredTargetFrameworks Include="$(TargetFrameworks)" />
6+
<MissingTargetFrameworks Include="@(RequiredTargetFrameworks)" Exclude="@(ConfiguredTargetFrameworks)" />
7+
</ItemGroup>
8+
9+
<Error Condition="'@(RequiredTargetFrameworks)' == ''" Text="List of required target frameworks is empty something must have messed up property RequiredTargetFrameworks[$(RequiredTargetFrameworks)]." />
10+
<Error Condition="'@(MissingTargetFrameworks)' != ''" Text="Missing required target frameworks '@(MissingTargetFrameworks)'. Please ensure you add those frameworks." />
11+
</Target>
12+
13+
<PropertyGroup>
14+
<DefaultReferenceTargets>AzSdk.reference.targets</DefaultReferenceTargets>
15+
<IsTestProject Condition="'$(IsTestProject)' == '' and $(MSBuildProjectName.EndsWith('.Tests'))">true</IsTestProject>
16+
</PropertyGroup>
17+
18+
<PropertyGroup Condition="'$(IsTestProject)' == 'true' or '$(IsTestHelperLibrary)' == 'true'">
19+
<IsPackable>false</IsPackable>
20+
<SignAssembly>false</SignAssembly>
21+
<RequiredTargetFrameworks>netcoreapp2.0</RequiredTargetFrameworks>
22+
<TargetFrameworks>$(RequiredTargetFrameworks)</TargetFrameworks>
23+
<DefaultReferenceTargets>AzSdk.test.reference.targets</DefaultReferenceTargets>
24+
25+
<!-- Disable running of tests for test helper libraries -->
26+
<IsTestProject Condition="'$(IsTestHelperLibrary)' == 'true'">false</IsTestProject>
27+
</PropertyGroup>
28+
29+
<!-- This allows us to build .NET Framework targets on non-windows
30+
TODO: Move the NETFramework reference assemblies to a feed other then the roslyn feed.
31+
-->
32+
<ItemGroup Condition="'$(IsTargetingNetFx)' == 'true'">
33+
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0-alpha-004" PrivateAssets="all" IsImplicitlyDefined="true" />
34+
</ItemGroup>
35+
36+
<PropertyGroup Condition="'$(SignAssembly)' != 'false'">
37+
<SignAssembly>true</SignAssembly>
38+
<DelaySign>true</DelaySign>
39+
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)MSSharedLibKey.snk</AssemblyOriginatorKeyFile>
40+
</PropertyGroup>
41+
42+
<Import Project="$(DefaultReferenceTargets)" Condition="Exists('$(DefaultReferenceTargets)')" />
43+
</Project>

eng/Directory.Build.Mgmt.props

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<PropertyGroup>
3+
<LibraryRoot>$(RepoRoot)</LibraryRoot>
4+
<LibraryToolsFolder>$(LibraryRoot)\tools</LibraryToolsFolder>
5+
<BuildAssetsDir>$(LibraryToolsFolder)\BuildAssets</BuildAssetsDir>
6+
<SdkBuildToolsDir>$(LibraryToolsFolder)\SdkBuildTools</SdkBuildToolsDir>
7+
</PropertyGroup>
8+
9+
<PropertyGroup>
10+
<NetSdkBuildTargetsDir Condition=" Exists('$(BuildAssetsDir)') ">$(BuildAssetsDir)\targets</NetSdkBuildTargetsDir>
11+
<NetSdkBuildTargetsDir Condition=" Exists('$(SdkBuildToolsDir)') AND '$(NetSdkBuildTargetsDir)' == '' ">$(SdkBuildToolsDir)\targets</NetSdkBuildTargetsDir>
12+
<NetSdkBuildToolsDir Condition=" Exists('$(BuildAssetsDir)') ">$(BuildAssetsDir)</NetSdkBuildToolsDir>
13+
<NetSdkBuildToolsDir Condition=" Exists('$(SdkBuildToolsDir)') AND '$(NetSdkBuildToolsDir)' == '' ">$(SdkBuildToolsDir)</NetSdkBuildToolsDir>
14+
</PropertyGroup>
15+
16+
<!-- If Scope is specified then don't ignore any tests by default otherwise when building all ignore the projects with issues -->
17+
<PropertyGroup Condition="'$(Scope)' == '' or '$(Scope)' == 'All'">
18+
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) Microsoft.Rest.ClientRuntime.Tracing.Tests</DefaultPathTokenToIgnore>
19+
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) Microsoft.Azure.Services.AppAuthentication.IntegrationTests</DefaultPathTokenToIgnore>
20+
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) Batch\DataPlane</DefaultPathTokenToIgnore>
21+
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) Batch\Support</DefaultPathTokenToIgnore>
22+
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) KeyVault\dataPlane\Microsoft.Azure.KeyVault.Tests</DefaultPathTokenToIgnore>
23+
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) KeyVault\dataPlane\Microsoft.Azure.KeyVault.Extensions.Tests</DefaultPathTokenToIgnore>
24+
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) LocationBasedServices</DefaultPathTokenToIgnore>
25+
</PropertyGroup>
26+
27+
<!-- Ignore all data plane libraries following the "data-plane" naming convention -->
28+
<PropertyGroup>
29+
<DefaultPathTokenToIgnore>$(DefaultPathTokenToIgnore) data-plane</DefaultPathTokenToIgnore>
30+
</PropertyGroup>
31+
32+
<Import Project="$(NetSdkBuildTargetsDir)\core\_Directory.Build.props" Condition=" Exists('$(NetSdkBuildTargetsDir)\core\_Directory.Build.props') "/>
33+
</Project>

eng/Directory.Build.Mgmt.targets

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
<Import Project="$(NetSdkBuildTargetsDir)\core\_Directory.Build.targets" Condition=" Exists('$(NetSdkBuildTargetsDir)\core\_Directory.Build.targets') "/>
3+
<Import Project="$(LibraryToolsFolder)\bootstrapTools\bootstrap.targets" />
4+
</Project>

eng/MSSharedLibKey.snk

160 Bytes
Binary file not shown.

eng/data-plane.proj

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<Project Sdk="Microsoft.Build.Traversal">
2+
<ItemGroup>
3+
<ExcludeProjects Include="$(RepoSrcPath)\*\data-plane\**\*.Tests.*proj" Condition="'$(SkipTests)' == 'true'" />
4+
5+
<ProjectReference Include="$(RepoSrcPath)\*\data-plane\**\*.*proj" Exclude="@(ExcludeProjects)" />
6+
</ItemGroup>
7+
</Project>

global.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"msbuild-sdks": {
3+
"Microsoft.Build.Traversal": "1.0.45"
4+
}
5+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<TargetFrameworks>$(RequiredTargetFrameworks)</TargetFrameworks>
4+
</PropertyGroup>
5+
</Project>

0 commit comments

Comments
 (0)