This moves the .NET code under src\dotnet we will likely do something
similar for the other languages but just .NET for now.

Add basic support for building .NET libraries.
- Include strong name support with new full key
- Include common props/targets mostly copied from azure-sdk-for-net repo
- scope dotnet build pipeline to only windows build and test
This commit is contained in:
Wes Haggard 2019-04-05 08:59:20 -07:00
Родитель 2ac63c5cc5
Коммит 898abddbd8
17 изменённых файлов: 89 добавлений и 17 удалений

Просмотреть файл

@ -35,21 +35,8 @@ jobs:
- job: 'Test'
strategy:
maxParallel: $[ variables['MaxParallelTestJobs'] ]
matrix:
Linux:
OSName: 'Linux'
OSVmImage: 'ubuntu-16.04'
Windows:
OSName: 'Windows'
OSVmImage: 'vs2017-win2016'
MacOs:
OSName: 'MacOS'
OSVmImage: 'macOS-10.13'
pool:
vmImage: '$(OSVmImage)'
vmImage: 'vs2017-win2016'
steps:
- task: DotNetCoreInstaller@0
@ -59,7 +46,6 @@ jobs:
- task: DotNetCoreCLI@2
displayName: 'Build & Test'
# condition: eq(variables['System.TeamProject'], 'public')
env:
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_CLI_TELEMETRY_OPTOUT: 1
@ -73,6 +59,6 @@ jobs:
condition: succeededOrFailed()
inputs:
testResultsFiles: '**/*.trx'
testRunTitle: '$(OSName) DotNet $(DotNetCoreVersion)'
testRunTitle: 'Windows DotNet $(DotNetCoreVersion)'
testResultsFormat: 'VSTest'
mergeTestResults: true

8
Directory.Build.props Normal file
Просмотреть файл

@ -0,0 +1,8 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot>
<RepoEngPath>$(MSBuildThisFileDirectory)eng</RepoEngPath>
</PropertyGroup>
<Import Project="$(RepoEngPath)/Directory.Build.props" />
</Project>

3
Directory.Build.targets Normal file
Просмотреть файл

@ -0,0 +1,3 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(RepoEngPath)/Directory.Build.targets" />
</Project>

Просмотреть файл

@ -1,5 +1,5 @@
<Project Sdk="Microsoft.Build.Traversal">
<ItemGroup>
<ProjectReference Include="$(RepoRoot)\**\*.csproj" />
<ProjectReference Include="src\dotnet\**\*.csproj" />
</ItemGroup>
</Project>

Двоичные данные
eng/AzureSDKToolsKey.snk Normal file

Двоичный файл не отображается.

54
eng/Directory.Build.props Normal file
Просмотреть файл

@ -0,0 +1,54 @@
<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>
<LangVersion>latest</LangVersion>
<SignAssembly>true</SignAssembly>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
</PropertyGroup>
<!-- TargetFramework default properties -->
<PropertyGroup>
<IsTargetingNetFx Condition="$(TargetFramework.StartsWith('net4'))">true</IsTargetingNetFx>
<IsTargetingNetStandard Condition="$(TargetFramework.StartsWith('netstandard'))">true</IsTargetingNetStandard>
<IsTargetingNetCoreApp Condition="$(TargetFramework.StartsWith('netcoreapp'))">true</IsTargetingNetCoreApp>
</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 - Tools</Product>
<PackageIconUrl>http://go.microsoft.com/fwlink/?LinkID=288890</PackageIconUrl>
<RepositoryUrl>https://github.com/Azure/azure-sdk-tools</RepositoryUrl>
<PackageProjectUrl>$(RepositoryUrl)</PackageProjectUrl>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<NeutralLanguage>en-US</NeutralLanguage>
</PropertyGroup>
</Project>

Просмотреть файл

@ -0,0 +1,21 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<IsTestProject Condition="'$(IsTestProject)' == '' and $(MSBuildProjectName.EndsWith('.Tests'))">true</IsTestProject>
</PropertyGroup>
<PropertyGroup Condition="'$(IsTestProject)' == 'true' or '$(IsTestHelperLibrary)' == 'true'">
<IsPackable>false</IsPackable>
<SignAssembly>false</SignAssembly>
<!-- Disable running of tests for test helper libraries -->
<IsTestProject Condition="'$(IsTestHelperLibrary)' == 'true'">false</IsTestProject>
</PropertyGroup>
<PropertyGroup Condition="'$(SignAssembly)' != 'false'">
<SignAssembly>true</SignAssembly>
<DelaySign>false</DelaySign>
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)AzureSDKToolsKey.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
</Project>