Imported Upstream version 5.4.0.167

Former-commit-id: 5624ac747d633e885131e8349322922b6a59baaa
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2017-08-21 15:34:15 +00:00
parent e49d6f06c0
commit 536cd135cc
12856 changed files with 563812 additions and 223249 deletions

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<BuildConfigurations>
netfx;
</BuildConfigurations>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<!-- for official builds, only build during the AllConfigurations leg -->
<ItemGroup Condition="'$(OfficialBuildId)' == '' Or '$(BuildAllConfigurations)' == 'true'">
<Project Include="$(MSBuildProjectName).pkgproj" />
</ItemGroup>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.traversal.targets))\dir.traversal.targets" />
</Project>

View File

@@ -0,0 +1,162 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" InitialTargets="IncludeFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
<PropertyGroup>
<PackageVersion>2.1.0</PackageVersion>
<TargetFrameworkName>net</TargetFrameworkName>
<TargetFrameworkVersion>461</TargetFrameworkVersion>
<TargetFramework>$(TargetFrameworkName)$(TargetFrameworkVersion)</TargetFramework>
<RefBinDir>$(NetFxPackageRefPath)</RefBinDir>
<LibBinDir>$(NetFxPackageRuntimePath)</LibBinDir>
<IsFrameworkPackage>true</IsFrameworkPackage>
<IncludeLibFiles>true</IncludeLibFiles>
<!-- ValidatePackage doesn't evaluate our targets/props so it does
not find any of the assets in this package -->
<SkipValidatePackage>true</SkipValidatePackage>
</PropertyGroup>
<ItemGroup>
<StampFile Include="targets\NETStandard.Library.NETFramework.common.props">
<TargetPath>build</TargetPath>
</StampFile>
<File Include="targets\**\*.*" Exclude="@(StampFile)">
<TargetPath>build/%(RecursiveDir)</TargetPath>
</File>
<File Include="$(PlaceHolderFile)">
<TargetPath>build/net471</TargetPath>
</File>
</ItemGroup>
<ItemGroup>
<!-- this file is meant to have dangling references, it's purpose is to force conflicts with
any newer version of the original desktop contracts. -->
<ExcludeFromClosure Include="netfx.force.conflicts" />
</ItemGroup>
<Import Project="$(SourceDir)\shims\netfxreference.props" />
<Target Name="IncludeNETStandardShims">
<ItemGroup>
<_refFileNames Include="@(RefFile->'%(FileName)')" Condition="'%(Extension)' == '.dll'" />
<_libFileNames Include="@(LibFile->'%(FileName)')" Condition="'%(Extension)' == '.dll'" />
<!-- remove any targeting pack assemblies that we build ourselves -->
<_netFxReference Include="@(NetFxReference)" Exclude="@(_refFileNames);@(_libFileNames)" />
<!-- ignore any assemblies we expect to come from the targeting pack -->
<IgnoredReference Include="@(_netFxReference)" />
<SuppressNETStandardMissingFile Include="@(_netFxReference)" />
<!-- don't include shims for anything from the targeting pack or built explicitly -->
<_excludeShimsRef Include="@(_netFxReference);@(_refFileNames)"/>
<_excludeShimsLib Include="@(_netFxReference);@(_libFileNames)"/>
<!-- fill in with netstandard.dll-based shims -->
<RefFile Include="$(NETStandardPackageRefPath)\*.dll" Exclude="@(_excludeShimsRef->'$(NETStandardPackageRefPath)\%(Identity).dll')">
<TargetFramework>$(TargetFramework)</TargetFramework>
</RefFile>
<LibFile Include="$(NETStandardPackageRefPath)\*.dll" Exclude="@(_excludeShimsLib->'$(NETStandardPackageRefPath)\%(Identity).dll')">
<TargetFramework>$(TargetFramework)</TargetFramework>
</LibFile>
</ItemGroup>
</Target>
<Target Name="StampPackageVersion" BeforeTargets="GetFiles" DependsOnTargets="CalculatePackageVersion">
<ItemGroup>
<StampFile>
<StampedFile>$(IntermediateOutputPath)%(StampFile.RelativeDir)%(StampFile.FileName)%(StampFile.Extension)</StampedFile>
</StampFile>
</ItemGroup>
<MakeDir Directories="$([System.IO.Path]::GetDirectoryName('%(StampFile.StampedFile)'))" />
<!-- Update targets templates -->
<WriteLinesToFile
File="%(StampFile.StampedFile)"
Lines="$([System.IO.File]::ReadAllText('%(StampFile.FullPath)').Replace('{PACKAGE_VERSION}', $(PackageVersion)))"
Overwrite="true"/>
<ItemGroup>
<File Include="@(StampFile->'%(StampedFile)')" />
</ItemGroup>
</Target>
<Target Name="AddNETStandardLibraryReference" AfterTargets="ApplyBaselineToStaticDependencies">
<ItemGroup>
<!-- ApplyBaseline doesn't handle NuGet versions, so workaround that by
adding after we've baselined.
https://github.com/dotnet/buildtools/issues/1432 -->
<Dependency Include="$(NETStandardPackageId)">
<Version>$(NETStandardPackageVersion)</Version>
<TargetFramework>$(TargetFramework)</TargetFramework>
</Dependency>
</ItemGroup>
</Target>
<Target Name="ExpandClosureFilesByTargetFramework"
AfterTargets="GetClosureFiles"
Inputs="%(ClosureFile.FileSet)"
Outputs="batching-on-Closure-metadata">
<ItemGroup>
<_closureFileByFileName Include="@(ClosureFile->'%(FileName)')">
<Original>%(Identity)</Original>
</_closureFileByFileName>
<!-- Create items by framework that fallback to previous framework for non-existent files -->
<!-- this could be done better if we used a test project that imported the actual shipping targets -->
<_closureFileNet461 Include="@(_closureFileByFileName)" Condition="'%(_closureFileByFileName.TargetFramework)' == 'net461'" />
<_closureFileNet462 Include="@(_closureFileByFileName)" Condition="'%(_closureFileByFileName.TargetFramework)' == 'net462'" />
<_closureFileNet462 Include="@(_closureFileNet461)" Exclude="@(_closureFileNet462)" />
<_closureFileNet47 Include="@(_closureFileByFileName)" Condition="'%(_closureFileByFileName.TargetFramework)' == 'net47'" />
<_closureFileNet47 Include="@(_closureFileNet462)" Exclude="@(_closureFileNet47)" />
<!-- remove all the ones we're operating on, we'll replace with framework-specific closure sets -->
<ClosureFile Remove="@(ClosureFile)" />
<ClosureFile Include="@(_closureFileNet461->'%(Original)')">
<FileSet>%(FileSet)-net461</FileSet>
</ClosureFile>
<ClosureFile Include="@(_closureFileNet462->'%(Original)')">
<FileSet>%(FileSet)-net462</FileSet>
</ClosureFile>
<ClosureFile Include="@(_closureFileNet47->'%(Original)')" >
<FileSet>%(FileSet)-net47</FileSet>
</ClosureFile>
</ItemGroup>
</Target>
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
<!-- runs as initial target, overrides IncludeFiles in frameworkPackage.targets to define TFM-specific TargetPath
under the build folder -->
<Target Name="IncludeFiles" DependsOnTargets="IncludeNETStandardShims">
<PropertyGroup>
<_projectDirLength>$(ProjectDir.Length)</_projectDirLength>
</PropertyGroup>
<ItemGroup>
<!-- Include refs -->
<File Include="@(RefFile)">
<TargetPath Condition="'%(RefFile.TargetPath)' == ''">build/%(RefFile.TargetFramework)/ref%(RefFile.SubFolder)</TargetPath>
</File>
<!-- Include lib -->
<File Include="@(LibFile)">
<TargetPath Condition="'%(LibFile.TargetPath)' == '' ">build/%(LibFile.TargetFramework)/lib%(LibFile.SubFolder)</TargetPath>
</File>
</ItemGroup>
<ItemGroup>
<!-- Set targetpath for sources to be under src so that it is excluded from the lib package -->
<File Condition="'%(File.IsSourceCodeFile)' == 'true'">
<TargetPath>src</TargetPath>
<TargetPath Condition="$([System.String]::Copy('%(FullPath)').StartsWith('$(ProjectDir)'))">src/$([System.String]::Copy('%(FullPath)').Substring($(_projectDirLength)).Replace('\', '/'))</TargetPath>
</File>
</ItemGroup>
</Target>
</Project>

View File

@@ -0,0 +1,7 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<NETStandardLibraryNETFrameworkPackageVersion>{PACKAGE_VERSION}</NETStandardLibraryNETFrameworkPackageVersion>
<PackageConflictPreferredPackages>NETStandard.Library.NETFramework;$(PackageConflictPreferredPackages)</PackageConflictPreferredPackages>
<ImplicitlyExpandNETStandardFacades Condition="'$(ImplicitlyExpandNETStandardFacades)' == ''">true</ImplicitlyExpandNETStandardFacades>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,60 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Choose>
<!-- Allow completely disabling the conflict resolution targets-->
<When Condition="'$(ImplicitlyExpandNETStandardFacades)' != 'true'" />
<!-- Condition here is a hack until https://github.com/dotnet/sdk/issues/534 is fixed -->
<When Condition="'$(TargetFramework)' != '' or '$(TargetFrameworks)' != ''">
<!-- NuGet 4, run after references are resolved -->
<PropertyGroup>
<ImplicitlyExpandNETStandardFacadesAfter>ResolveLockFileReferences</ImplicitlyExpandNETStandardFacadesAfter>
</PropertyGroup>
</When>
<When Condition="'$(ResolveNuGetPackages)' == 'true' and Exists('$(ProjectLockFile)')">
<!-- NuGet 3, run after nuget assets are resolved -->
<PropertyGroup>
<ImplicitlyExpandNETStandardFacadesAfter>ResolveNuGetPackageAssets</ImplicitlyExpandNETStandardFacadesAfter>
</PropertyGroup>
</When>
<Otherwise>
<!-- NuGet 2, run before targets that consume references -->
<PropertyGroup>
<ResolveAssemblyReferencesDependsOn>ImplicitlyExpandNETStandardFacades;$(ResolveAssemblyReferencesDependsOn)</ResolveAssemblyReferencesDependsOn>
<PrepareResourcesDependsOn>ImplicitlyExpandNETStandardFacades;$(PrepareResourcesDependsOn)</PrepareResourcesDependsOn>
</PropertyGroup>
</Otherwise>
</Choose>
<PropertyGroup>
<!-- Ensure this runs before conflict resolution since the added files may cause conflicts -->
<HandlePackageFileConflictsDependsOn>ImplicitlyExpandNETStandardFacades;$(HandlePackageFileConflictsDependsOn)</HandlePackageFileConflictsDependsOn>
</PropertyGroup>
<ItemGroup Condition="'$(DontTrimNETStandardLibraryNETFramework)' != 'true'">
<!-- mark this package as trimmable so that files in the same package aren't automatically rooted -->
<TrimmablePackages Include="NETStandard.Library.NETFramework" />
</ItemGroup>
<Target Name="ImplicitlyExpandNETStandardFacades"
AfterTargets="$(ImplicitlyExpandNETStandardFacadesAfter)">
<ItemGroup>
<!-- Remove simple name references if we're directly providing a reference assembly to the compiler. For example,
consider a project with an Reference Include="System", and some NuGet package is providing System.dll.
Simple references can also come from NuGet framework assemblies, hence this statement should occur after
including all computed references. -->
<Reference Remove="%(_NETStandardLibraryNETFrameworkReference.FileName)" />
<Reference Include="@(_NETStandardLibraryNETFrameworkReference)">
<!-- Private = false to make these reference only -->
<Private>false</Private>
<NuGetPackageId>NETStandard.Library.NETFramework</NuGetPackageId>
<NuGetPackageVersion>$(NETStandardLibraryNETFrameworkPackageVersion)</NuGetPackageVersion>
</Reference>
<ReferenceCopyLocalPaths Include="@(_NETStandardLibraryNETFrameworkLib)">
<Private>false</Private>
<NuGetPackageId>NETStandard.Library.NETFramework</NuGetPackageId>
<NuGetPackageVersion>$(NETStandardLibraryPackageVersion)</NuGetPackageVersion>
</ReferenceCopyLocalPaths>
</ItemGroup>
</Target>
</Project>

View File

@@ -0,0 +1,3 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\$(MSBuildThisFileName).common.props" />
</Project>

View File

@@ -0,0 +1,11 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Condition="'$(ImplicitlyExpandNETStandardFacades)' == 'true'">
<_NETStandardLibraryNETFrameworkReference Include="$(MSBuildThisFileDirectory)\ref\*.dll"
Exclude="@(_NETStandardLibraryNETFrameworkReference->'$(MSBuildThisFileDirectory)\ref\%(FileName).dll'" />
<_NETStandardLibraryNETFrameworkLib Include="$(MSBuildThisFileDirectory)\lib\*.dll"
Exclude="@(_NETStandardLibraryNETFrameworkLib->'$(MSBuildThisFileDirectory)\ref\%(FileName).dll'" />
</ItemGroup>
<Import Project="..\$(MSBuildThisFileName).common.targets" />
</Project>

View File

@@ -0,0 +1,3 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\$(MSBuildThisFileName).common.props" />
</Project>

View File

@@ -0,0 +1,12 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Condition="'$(ImplicitlyExpandNETStandardFacades)' == 'true'">
<_NETStandardLibraryNETFrameworkReference Include="$(MSBuildThisFileDirectory)\ref\*.dll"
Exclude="@(_NETStandardLibraryNETFrameworkReference->'$(MSBuildThisFileDirectory)\ref\%(FileName).dll'" />
<_NETStandardLibraryNETFrameworkLib Include="$(MSBuildThisFileDirectory)\lib\*.dll"
Exclude="@(_NETStandardLibraryNETFrameworkLib->'$(MSBuildThisFileDirectory)\ref\%(FileName).dll'" />
</ItemGroup>
<Import Project="..\net461\$(MSBuildThisFile)" />
<Import Project="..\$(MSBuildThisFileName).common.targets" />
</Project>

View File

@@ -0,0 +1,3 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\$(MSBuildThisFileName).common.props" />
</Project>

View File

@@ -0,0 +1,12 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Condition="'$(ImplicitlyExpandNETStandardFacades)' == 'true'">
<_NETStandardLibraryNETFrameworkReference Include="$(MSBuildThisFileDirectory)\ref\*.dll"
Exclude="@(_NETStandardLibraryNETFrameworkReference->'$(MSBuildThisFileDirectory)\ref\%(FileName).dll'" />
<_NETStandardLibraryNETFrameworkLib Include="$(MSBuildThisFileDirectory)\lib\*.dll"
Exclude="@(_NETStandardLibraryNETFrameworkLib->'$(MSBuildThisFileDirectory)\ref\%(FileName).dll'" />
</ItemGroup>
<Import Project="..\net462\$(MSBuildThisFile)" />
<Import Project="..\$(MSBuildThisFileName).common.targets" />
</Project>