Merge pull request #7721 from nguerrera/infra-port
Port infrastructure improvements from master to dev/release/2.0.0
This commit is contained in:
commit
d2cda77047
175 changed files with 1216 additions and 1112 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -96,6 +96,7 @@ dlldata.c
|
|||
# DNX
|
||||
project.lock.json
|
||||
artifacts/
|
||||
bin/
|
||||
|
||||
*_i.c
|
||||
*_p.c
|
||||
|
|
68
Directory.Build.props
Normal file
68
Directory.Build.props
Normal file
|
@ -0,0 +1,68 @@
|
|||
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<!--
|
||||
Projects which don't import dir.props:
|
||||
|
||||
build\RestoreDependency.proj
|
||||
build\Signing.proj
|
||||
build\package\Installer.DEB.proj
|
||||
build\sdks\sdks.csproj
|
||||
build\templates\templates.csproj
|
||||
build\test\RunTest.proj
|
||||
build_projects\Microsoft.DotNet.Cli.Build.SelfTest\InvokeWithStage2.proj
|
||||
build_projects\update-dependencies\update-dependencies.csproj
|
||||
tools\TestAssetsDependencies\TestAssetsDependencies.csproj
|
||||
|
||||
-->
|
||||
|
||||
<PropertyGroup>
|
||||
<RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot>
|
||||
|
||||
<NuGetPackagesDir>$(NUGET_PACKAGES)</NuGetPackagesDir>
|
||||
<NuGetPackagesDir Condition=" '$(NuGetPackagesDir)' == '' ">$(RepoRoot)/.nuget/packages</NuGetPackagesDir>
|
||||
|
||||
<CLIBuildDll>$(RepoRoot)/build_projects/dotnet-cli-build/bin/dotnet-cli-build.dll</CLIBuildDll>
|
||||
|
||||
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
|
||||
<DisableImplicitPackageTargetFallback>true</DisableImplicitPackageTargetFallback>
|
||||
|
||||
<CliTargetFramework>netcoreapp2.0</CliTargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="build/InitRepo.props" />
|
||||
<Import Condition=" '$(GeneratePropsFile)' != 'true' " Project="$(GitCommitInfoProps)" />
|
||||
<Import Condition=" '$(GeneratePropsFile)' != 'true' " Project="$(HostInfoProps)" />
|
||||
<Import Condition=" '$(GeneratePropsFile)' != 'true' " Project="$(BuildInfoProps)" />
|
||||
|
||||
<Import Project="build/BranchInfo.props" />
|
||||
|
||||
<Import Project="build/DependencyVersions.props" />
|
||||
<Import Project="build/Version.props" />
|
||||
<Import Project="build/Branding.props" />
|
||||
|
||||
<Import Project="build/DerivedHostMachineInfo.props" />
|
||||
<Import Project="build/FileExtensions.props" />
|
||||
<Import Project="build/InputDirectories.props" />
|
||||
<Import Project="build/MSBuildExtensions.props" />
|
||||
<Import Project="build/SetupPreviousStage.props" />
|
||||
<Import Project="build/OutputDirectories.props" />
|
||||
|
||||
<ImportGroup Condition=" '$(BuildingSigningProject)' != 'true' ">
|
||||
<!-- These imports aren't required for signing, and some of them have syntax which isn't supported in MSBuild 14,
|
||||
which is what the signing build uses -->
|
||||
<Import Project="build/BundledTools.props" />
|
||||
<Import Project="build/BundledSdks.props" />
|
||||
<Import Project="build/BundledTemplates.props" />
|
||||
|
||||
<Import Project="build/BuildDefaults.props" />
|
||||
<Import Project="build/VersionBadge.props" />
|
||||
<Import Project="build/BundledRuntimes.props" />
|
||||
<Import Project="build/CrossGen.props" />
|
||||
<Import Project="build/BackwardsCompatibilityRuntimes.props" />
|
||||
|
||||
<Import Project="build/AzureInfo.props" />
|
||||
<Import Project="build/InstallerInfo.props" />
|
||||
<Import Project="build/GenerateResxSource.targets" />
|
||||
</ImportGroup>
|
||||
|
||||
</Project>
|
|
@ -1,6 +1,6 @@
|
|||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26510.0
|
||||
VisualStudioVersion = 15.0.26730.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{ED2FE3E2-F7E7-4389-8231-B65123F2076F}"
|
||||
EndProject
|
||||
|
@ -13,8 +13,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
|
|||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{0722D325-24C8-4E83-B5AF-0A083E7F0749}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build_projects", "build_projects", "{88278B81-7649-45DC-8A6A-D3A645C5AFC3}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TestAssets", "TestAssets", "{ADA7052B-884B-4776-8B8D-D04191D0AA70}"
|
||||
|
@ -38,6 +36,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{89905EC4
|
|||
build\Compile.targets = build\Compile.targets
|
||||
build\CrossGen.props = build\CrossGen.props
|
||||
build\DependencyVersions.props = build\DependencyVersions.props
|
||||
build\DerivedHostMachineInfo.props = build\DerivedHostMachineInfo.props
|
||||
build\FileExtensions.props = build\FileExtensions.props
|
||||
build\GitCommitInfo.targets = build\GitCommitInfo.targets
|
||||
build\HostInfo.targets = build\HostInfo.targets
|
||||
|
@ -55,11 +54,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{89905EC4
|
|||
build\RestoreDependency.proj = build\RestoreDependency.proj
|
||||
build\sdks\sdks.csproj = build\sdks\sdks.csproj
|
||||
build\Signing.proj = build\Signing.proj
|
||||
build\Stage0.props = build\Stage0.props
|
||||
build\SetupPreviousStage.props = build\SetupPreviousStage.props
|
||||
build\Test.targets = build\Test.targets
|
||||
build\Version.props = build\Version.props
|
||||
build\VersionBadge.props = build\VersionBadge.props
|
||||
build\DerivedHostMachineInfo.props = build\DerivedHostMachineInfo.props
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "package", "package", "{FD7D515A-D10F-4F49-B8AE-21CF7ED071AE}"
|
||||
|
@ -131,8 +129,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PackageWithFakeNativeDep",
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ToolWithOutputName", "TestAssets\TestPackages\ToolWithOutputName\ToolWithOutputName.csproj", "{8FB83810-5A4C-4097-9A79-8E687E4981CB}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-archive", "src\dotnet-archive\dotnet-archive.csproj", "{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet", "src\dotnet\dotnet.csproj", "{203F0362-DAFC-4679-A01E-7FBC331D8647}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Archive", "src\Microsoft.DotNet.Archive\Microsoft.DotNet.Archive.csproj", "{F8C66E8A-FC59-40B3-AC0F-58CA22526F76}"
|
||||
|
@ -153,8 +149,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tool_msbuild", "src\tool_ms
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tool_nuget", "src\tool_nuget\tool_nuget.csproj", "{BE4C655A-DC54-4408-B739-743456D34111}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Archiver", "tools\Archiver\Archiver.csproj", "{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ArgumentForwardingTests", "test\ArgumentForwardingTests\ArgumentForwardingTests.csproj", "{3E28672F-F4E4-44D5-AEFB-1F425DECC57E}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ArgumentsReflector", "test\ArgumentsReflector\ArgumentsReflector.csproj", "{A5CA696F-585E-40AB-912C-6316BC330C5E}"
|
||||
|
@ -199,8 +193,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Tools.Test
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "msbuild.IntegrationTests", "test\msbuild.IntegrationTests\msbuild.IntegrationTests.csproj", "{23EE9BBB-3B33-4CF2-8D1A-29A8DB12E878}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Performance", "test\Performance\Performance.csproj", "{F5E27BA5-063B-4770-A6E8-87252E9AB22C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.Cli.Build.Framework", "build_projects\Microsoft.DotNet.Cli.Build.Framework\Microsoft.DotNet.Cli.Build.Framework.csproj", "{AA744891-5209-4335-8457-37EC347DF833}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "shared-build-targets-utils", "build_projects\shared-build-targets-utils\shared-build-targets-utils.csproj", "{DA3595A8-35DE-42B9-97A4-4A2461BAD554}"
|
||||
|
@ -233,6 +225,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-add-package.Tests",
|
|||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "tool_fsc", "src\tool_fsharp\tool_fsc.csproj", "{602976C5-2477-4B4C-AD9A-1EAFB250529A}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.MSBuildSdkResolver", "src\Microsoft.DotNet.MSBuildSdkResolver\Microsoft.DotNet.MSBuildSdkResolver.csproj", "{FCDFAF40-CC16-4D49-96C0-E49F195E7142}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-cli-build.Tests", "build_projects\dotnet-cli-build.Tests\dotnet-cli-build.Tests.csproj", "{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -513,30 +509,6 @@ Global
|
|||
{8FB83810-5A4C-4097-9A79-8E687E4981CB}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
|
||||
{8FB83810-5A4C-4097-9A79-8E687E4981CB}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
|
||||
{8FB83810-5A4C-4097-9A79-8E687E4981CB}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Debug|x64.ActiveCfg = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Debug|x64.Build.0 = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Debug|x86.ActiveCfg = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Debug|x86.Build.0 = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.MinSizeRel|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.MinSizeRel|Any CPU.Build.0 = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.MinSizeRel|x64.ActiveCfg = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.MinSizeRel|x64.Build.0 = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.MinSizeRel|x86.ActiveCfg = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.MinSizeRel|x86.Build.0 = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Release|x64.Build.0 = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.Release|x86.Build.0 = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
|
||||
{203F0362-DAFC-4679-A01E-7FBC331D8647}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{203F0362-DAFC-4679-A01E-7FBC331D8647}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{203F0362-DAFC-4679-A01E-7FBC331D8647}.Debug|x64.ActiveCfg = Release|Any CPU
|
||||
|
@ -777,30 +749,6 @@ Global
|
|||
{BE4C655A-DC54-4408-B739-743456D34111}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
|
||||
{BE4C655A-DC54-4408-B739-743456D34111}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
|
||||
{BE4C655A-DC54-4408-B739-743456D34111}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Debug|x64.ActiveCfg = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Debug|x64.Build.0 = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Debug|x86.ActiveCfg = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Debug|x86.Build.0 = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.MinSizeRel|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.MinSizeRel|Any CPU.Build.0 = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.MinSizeRel|x64.ActiveCfg = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.MinSizeRel|x64.Build.0 = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.MinSizeRel|x86.ActiveCfg = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.MinSizeRel|x86.Build.0 = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Release|x64.Build.0 = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.Release|x86.Build.0 = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
|
||||
{3E28672F-F4E4-44D5-AEFB-1F425DECC57E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3E28672F-F4E4-44D5-AEFB-1F425DECC57E}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3E28672F-F4E4-44D5-AEFB-1F425DECC57E}.Debug|x64.ActiveCfg = Release|Any CPU
|
||||
|
@ -1329,30 +1277,6 @@ Global
|
|||
{23EE9BBB-3B33-4CF2-8D1A-29A8DB12E878}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
|
||||
{23EE9BBB-3B33-4CF2-8D1A-29A8DB12E878}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
|
||||
{23EE9BBB-3B33-4CF2-8D1A-29A8DB12E878}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Debug|x64.ActiveCfg = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Debug|x64.Build.0 = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Debug|x86.ActiveCfg = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Debug|x86.Build.0 = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.MinSizeRel|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.MinSizeRel|Any CPU.Build.0 = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.MinSizeRel|x64.ActiveCfg = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.MinSizeRel|x64.Build.0 = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.MinSizeRel|x86.ActiveCfg = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.MinSizeRel|x86.Build.0 = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Release|x64.Build.0 = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.Release|x86.Build.0 = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
|
||||
{AA744891-5209-4335-8457-37EC347DF833}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{AA744891-5209-4335-8457-37EC347DF833}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{AA744891-5209-4335-8457-37EC347DF833}.Debug|x64.ActiveCfg = Release|Any CPU
|
||||
|
@ -1593,6 +1517,78 @@ Global
|
|||
{08A40B6A-F695-4EA9-AC8D-CF88FADEA796}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
|
||||
{08A40B6A-F695-4EA9-AC8D-CF88FADEA796}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
|
||||
{08A40B6A-F695-4EA9-AC8D-CF88FADEA796}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.MinSizeRel|x64.Build.0 = Debug|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.MinSizeRel|x86.Build.0 = Debug|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.Release|x64.Build.0 = Release|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.Release|x86.Build.0 = Release|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.MinSizeRel|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.MinSizeRel|Any CPU.Build.0 = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.MinSizeRel|x64.ActiveCfg = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.MinSizeRel|x64.Build.0 = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.MinSizeRel|x86.ActiveCfg = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.MinSizeRel|x86.Build.0 = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Release|x64.Build.0 = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.Release|x86.Build.0 = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|Any CPU.Build.0 = Debug|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|x64.ActiveCfg = Debug|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|x64.Build.0 = Debug|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|x86.ActiveCfg = Debug|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.MinSizeRel|x86.Build.0 = Debug|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|x64.Build.0 = Release|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.Release|x86.Build.0 = Release|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -1617,7 +1613,6 @@ Global
|
|||
{736BF068-7389-41B9-BF63-D4E49B9BC833} = {1AB5B24B-B317-4142-A5D1-A6E84F15BA34}
|
||||
{48408A19-CCC5-4C85-990B-0A9F827BF29A} = {1AB5B24B-B317-4142-A5D1-A6E84F15BA34}
|
||||
{8FB83810-5A4C-4097-9A79-8E687E4981CB} = {1AB5B24B-B317-4142-A5D1-A6E84F15BA34}
|
||||
{F0CB08B6-2809-4D37-B1DD-A9B7F1B0D95D} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
{203F0362-DAFC-4679-A01E-7FBC331D8647} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
{F8C66E8A-FC59-40B3-AC0F-58CA22526F76} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
{73ACEB34-D22C-43EA-87BE-EFC0E83D0126} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
|
@ -1628,13 +1623,13 @@ Global
|
|||
{A0670C63-BA7A-4C1B-B9A7-1CA26A7F235C} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
{D82A3246-9831-4024-A9B2-1932EEF3D56F} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
{BE4C655A-DC54-4408-B739-743456D34111} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
{2DFCC95F-75F7-46E1-8F56-256DB4CA98B2} = {0722D325-24C8-4E83-B5AF-0A083E7F0749}
|
||||
{3E28672F-F4E4-44D5-AEFB-1F425DECC57E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{A5CA696F-585E-40AB-912C-6316BC330C5E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{4EF497BF-D717-4E03-90B1-932C7F51B918} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{18B43540-346F-4AFF-8868-A82CF098FAFD} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{C3845C85-1F59-4552-BE52-32F513CE795F} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{BBB5A4C8-CD2D-4A6A-9159-0FEAF84B745E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{8AA88E83-6A98-4AD6-86EB-2ED4F6EDA17F} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{726D2CB9-80E5-4496-9C86-910AC452C45E} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{EF745C56-0350-4C42-AA22-86D592E1D8D5} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{87063BA1-454D-4433-ADF9-89C667275D62} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
|
@ -1650,7 +1645,6 @@ Global
|
|||
{F228580D-9373-4A60-AB88-76DF58D11580} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{48E260F4-6F3F-4387-B61F-D15BABD06D9A} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{23EE9BBB-3B33-4CF2-8D1A-29A8DB12E878} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{F5E27BA5-063B-4770-A6E8-87252E9AB22C} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{AA744891-5209-4335-8457-37EC347DF833} = {88278B81-7649-45DC-8A6A-D3A645C5AFC3}
|
||||
{DA3595A8-35DE-42B9-97A4-4A2461BAD554} = {88278B81-7649-45DC-8A6A-D3A645C5AFC3}
|
||||
{F2D1A7DA-B3EB-4CA7-BAA9-A18CEC398853} = {88278B81-7649-45DC-8A6A-D3A645C5AFC3}
|
||||
|
@ -1663,5 +1657,11 @@ Global
|
|||
{3F7D56A3-A280-467E-8916-C18659C243BA} = {1AB5B24B-B317-4142-A5D1-A6E84F15BA34}
|
||||
{B1AEC227-5115-44BC-92D2-B1B3545E1DDE} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{08A40B6A-F695-4EA9-AC8D-CF88FADEA796} = {17735A9D-BFD9-4585-A7CB-3208CA6EA8A7}
|
||||
{602976C5-2477-4B4C-AD9A-1EAFB250529A} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
{FCDFAF40-CC16-4D49-96C0-E49F195E7142} = {ED2FE3E2-F7E7-4389-8231-B65123F2076F}
|
||||
{84BB2DD5-B2D8-4C85-AAF9-29D2A74FBF94} = {88278B81-7649-45DC-8A6A-D3A645C5AFC3}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {B526D2CE-EE2D-4AD4-93EF-1867D90FF1F5}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
<OutputType>Exe</OutputType>
|
||||
<AssetTargetFallback Condition=" '$(TargetFramework)' == 'netcoreapp2.0' ">$(AssetTargetFallback);portable-net45+win8;dnxcore50</AssetTargetFallback>
|
||||
<RuntimeIdentifiers>win7-x64;win7-x86;osx.10.10-x64;osx.10.11-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7.2-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64</RuntimeIdentifiers>
|
||||
<RestoreAdditionalProjectSources Condition="'$(TEST_PACKAGES)' != ''">$(TEST_PACKAGES)</RestoreAdditionalProjectSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="test-packages" value="../../../artifacts/testpackages" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -4,6 +4,7 @@
|
|||
<AssemblyName>AppWithRedirectsAndConfig</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RuntimeIdentifiers>win7-x64;win7-x86</RuntimeIdentifiers>
|
||||
<RestoreAdditionalProjectSources Condition="'$(TEST_PACKAGES)' != ''">$(TEST_PACKAGES)</RestoreAdditionalProjectSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
<AssemblyName>AppWithRedirectsNoConfig</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RuntimeIdentifiers>win7-x64;win7-x86</RuntimeIdentifiers>
|
||||
<RestoreAdditionalProjectSources Condition="'$(TEST_PACKAGES)' != ''">$(TEST_PACKAGES)</RestoreAdditionalProjectSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="test-packages" value="../../../artifacts/testpackages" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -3,6 +3,7 @@
|
|||
<TargetFrameworks>netstandard1.6;net451</TargetFrameworks>
|
||||
<OutputType>Library</OutputType>
|
||||
<AssetTargetFallback Condition=" '$(TargetFramework)' == 'netstandard1.6' ">$(AssetTargetFallback);portable-net45+win8;dnxcore50;netcoreapp2.0</AssetTargetFallback>
|
||||
<RestoreAdditionalProjectSources Condition="'$(TEST_PACKAGES)' != ''">$(TEST_PACKAGES)</RestoreAdditionalProjectSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="test-packages" value="../../../artifacts/testpackages" />
|
||||
</packageSources>
|
||||
</configuration>
|
3
TestAssets/Directory.Build.props
Normal file
3
TestAssets/Directory.Build.props
Normal file
|
@ -0,0 +1,3 @@
|
|||
<Project>
|
||||
<!-- Empty Directory.Build.props file to prevent test asset projects from picking up the repo's Directory.Build.props' -->
|
||||
</Project>
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="testpackages" value="../../artifacts/testpackages/packages" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -9,7 +9,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Newtonsoft.Json" Version="5.0.0" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="5.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net451' ">
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp1.1</TargetFramework>
|
||||
<RestoreAdditionalProjectSources Condition="'$(TEST_PACKAGES)' != ''">$(TEST_PACKAGES)</RestoreAdditionalProjectSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="test-packages" value="../../../artifacts/testpackages" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -4,6 +4,7 @@
|
|||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RestoreAdditionalProjectSources Condition="'$(TEST_PACKAGES)' != ''">$(TEST_PACKAGES)</RestoreAdditionalProjectSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="test-packages" value="../../../artifacts/testpackages" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -4,6 +4,7 @@
|
|||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RestoreAdditionalProjectSources Condition="'$(TEST_PACKAGES)' != ''">$(TEST_PACKAGES)</RestoreAdditionalProjectSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="test-packages" value="../../../artifacts/testpackages/packages" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -7,6 +7,7 @@
|
|||
<AssemblyName>AppWithDirectDep</AssemblyName>
|
||||
<OutputType>Exe</OutputType>
|
||||
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
|
||||
<RestoreAdditionalProjectSources Condition="'$(TEST_PACKAGES)' != ''">$(TEST_PACKAGES)</RestoreAdditionalProjectSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="test-packages" value="../../../artifacts/testpackages/packages" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -4,6 +4,7 @@
|
|||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RestoreAdditionalProjectSources Condition="'$(TEST_PACKAGES)' != ''">$(TEST_PACKAGES)</RestoreAdditionalProjectSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<!--To inherit the global NuGet package sources remove the <clear/> line below -->
|
||||
<clear />
|
||||
<add key="test-packages" value="../../../artifacts/testpackages" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -4,6 +4,7 @@
|
|||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RestoreAdditionalProjectSources Condition="'$(TEST_PACKAGES)' != ''">$(TEST_PACKAGES)</RestoreAdditionalProjectSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="test-packages" value="../../../artifacts/testpackages" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -4,6 +4,7 @@
|
|||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFrameworks>net451;netcoreapp2.0</TargetFrameworks>
|
||||
<RestoreAdditionalProjectSources Condition="'$(TEST_PACKAGES)' != ''">$(TEST_PACKAGES)</RestoreAdditionalProjectSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="test-packages" value="../../../artifacts/testpackages" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -4,6 +4,7 @@
|
|||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<OutputType>Exe</OutputType>
|
||||
<RestoreAdditionalProjectSources Condition="'$(TEST_PACKAGES)' != ''">$(TEST_PACKAGES)</RestoreAdditionalProjectSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="test-packages" value="../../../artifacts/testpackages" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -8,6 +8,7 @@
|
|||
<OutputType>Exe</OutputType>
|
||||
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
|
||||
<AssetTargetFallback>$(AssetTargetFallback);dnxcore50;portable-net45+win8</AssetTargetFallback>
|
||||
<RestoreAdditionalProjectSources Condition="'$(TEST_PACKAGES)' != ''">$(TEST_PACKAGES)</RestoreAdditionalProjectSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="test-packages" value="../../../artifacts/testpackages" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -5,6 +5,7 @@
|
|||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<RuntimeIdentifiers>win7-x64;win7-x86;osx.10.12-x64;ubuntu.14.04-x64;ubuntu.16.04-x64;ubuntu.16.10-x64;centos.7-x64;rhel.7-x64;debian.8-x64;fedora.24-x64;opensuse.42.1-x64</RuntimeIdentifiers>
|
||||
<RestoreAdditionalProjectSources Condition="'$(TEST_PACKAGES)' != ''">$(TEST_PACKAGES)</RestoreAdditionalProjectSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="test-packages" value="../../../artifacts/testpackages" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="Local" value="Packages" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<packageSources>
|
||||
<add key="test-packages" value="../../../artifacts/testpackages" />
|
||||
</packageSources>
|
||||
</configuration>
|
|
@ -4,6 +4,7 @@
|
|||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<RestoreAdditionalProjectSources Condition="'$(TEST_PACKAGES)' != ''">$(TEST_PACKAGES)</RestoreAdditionalProjectSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"projects": [ ".", "../../src" ]
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="BuildTheWholeCli" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
||||
<Import Project="Directory.Build.props" />
|
||||
|
||||
<ItemGroup>
|
||||
<DotnetCliBuildFrameworkInputs Include="build_projects/**/*.cs" Exclude="build_projects/**/obj/**/*.cs" />
|
||||
|
@ -20,7 +20,7 @@
|
|||
DependsOnTargets="MSBuildWorkaroundTarget;
|
||||
RestoreDotnetCliBuildFramework">
|
||||
|
||||
<Exec Command="$(DotnetStage0) publish --no-restore -o $(DotnetCliBuildDirectory)/bin --framework netcoreapp2.0 /p:GeneratePropsFile=$(GeneratePropsFile)"
|
||||
<Exec Command="$(PreviousStageDotnet) publish --no-restore -o $(DotnetCliBuildDirectory)/bin --framework $(CliTargetFramework) /p:GeneratePropsFile=$(GeneratePropsFile)"
|
||||
WorkingDirectory="$(DotnetCliBuildDirectory)"/>
|
||||
</Target>
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
|||
<ExtraRestoreArgs Condition="'$(OS)' != 'Windows_NT'">$(ExtraRestoreArgs) --disable-parallel</ExtraRestoreArgs>
|
||||
</PropertyGroup>
|
||||
|
||||
<Exec Command="$(DotnetStage0) restore $(ExtraRestoreArgs)"
|
||||
<Exec Command="$(PreviousStageDotnet) restore $(ExtraRestoreArgs)"
|
||||
WorkingDirectory="$(DotnetCliBuildDirectory)"/>
|
||||
</Target>
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Product>Sdk</Product>
|
||||
<ArtifactContainerName>$(ARTIFACT_STORAGE_CONTAINER)</ArtifactContainerName>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition=" '$(IncludeSharedFrameworksForBackwardsCompatibilityTests)' == 'true' ">
|
||||
<BackwardsCompatibility110CoreSetupChannel>release/1.1.0</BackwardsCompatibility110CoreSetupChannel>
|
||||
<BackwardsCompatibility110SharedFrameworkVersion>1.1.2</BackwardsCompatibility110SharedFrameworkVersion>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Channel>release/2.0.0</Channel>
|
||||
<BranchName>release/2.0.0</BranchName>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project ToolsVersion="14.0">
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<SdkBrandName>Microsoft .NET Core SDK - 2.0.3</SdkBrandName>
|
||||
<MSBuildExtensionsBrandName>.NET Standard Support for Visual Studio 2015</MSBuildExtensionsBrandName>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<CLITargets Condition=" '$(CLITargets)' == '' ">Prepare;Compile;Test;Package;Publish</CLITargets>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
|
@ -7,5 +7,14 @@
|
|||
<UsePortableLinuxSharedFramework Condition=" '$(UsePortableLinuxSharedFramework)' == '' AND '$(OSPlatform)' == 'linux' ">true</UsePortableLinuxSharedFramework>
|
||||
<IncludeSharedFrameworksForBackwardsCompatibilityTests Condition=" $(IncludeSharedFrameworksForBackwardsCompatibilityTests) == '' AND '$(Rid)' != 'linux-x64' ">true</IncludeSharedFrameworksForBackwardsCompatibilityTests>
|
||||
<HighEntropyVA>true</HighEntropyVA>
|
||||
|
||||
<!-- Only use asset target fallback that we set (not implicit one to net461). -->
|
||||
<DisableImplicitAssetTargetFallback>true</DisableImplicitAssetTargetFallback>
|
||||
|
||||
<!-- Disable asset target fallback warning globally since it does not work transitively on NoWarn of individual packages -->
|
||||
<!-- Since we disabled the implict fallback to net461, this will only kick in when we have an explicit fallback and we don't need to be warned about it doing what we asked it to do. -->
|
||||
<NoWarn>NU1701</NoWarn>
|
||||
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<OSPlatform Condition=" '$(OSPlatform)' == '' AND '$(IsLinux)' == 'True' ">linux</OSPlatform>
|
||||
|
||||
<BuildInfoPropsContent>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Rid>$(Rid)</Rid>
|
||||
<Architecture>$(Architecture)</Architecture>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<CoreSetupRid>$(HostRid)</CoreSetupRid>
|
||||
<CoreSetupRid Condition=" '$(HostOSName)' == 'win' or '$(HostOSName)' == 'osx' ">$(HostMonikerRid)</CoreSetupRid>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<BundledSdk Include="NuGet.Build.Tasks.Pack" Version="$(CLI_NuGet_Version)" />
|
||||
<BundledSdk Include="Microsoft.NET.Sdk" Version="$(CLI_NETSDK_Version)" />
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
<Target Name="EnsureTemplateRestored"
|
||||
Condition="!Exists('$(TemplateNuPkgPath)/$(TemplatePackageName.ToLower()).nuspec')">
|
||||
<DotNetRestore ToolPath="$(Stage0Directory)"
|
||||
<DotNetRestore ToolPath="$(PreviousStageDirectory)"
|
||||
ProjectPath="$(MSBuildThisFileDirectory)/templates/templates.csproj"
|
||||
AdditionalParameters="/p:TemplatePackageName=$(TemplatePackageName) /p:TemplatePackageVersion=$(TemplatePackageVersion)" />
|
||||
</Target>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project ToolsVersion="15.0">
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<BundledTemplate Include="Microsoft.DotNet.Common.ItemTemplates" Version="$(TemplateEngineTemplateVersion)" />
|
||||
<BundledTemplate Include="Microsoft.DotNet.Web.ItemTemplates" Version="$(TemplateEngineTemplateVersion)" />
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<BundledTools Include="MSBuild;
|
||||
NuGet.CommandLine.XPlat;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<RuntimeNETCoreAppPackageName>runtime.$(SharedFrameworkRid).microsoft.netcore.app</RuntimeNETCoreAppPackageName>
|
||||
<CrossgenPath>$(NuGetPackagesDir)/$(RuntimeNETCoreAppPackageName)/$(CLI_SharedFrameworkVersion)/tools/crossgen$(ExeExtension)</CrossgenPath>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<CLI_SharedFrameworkVersion>2.0.1</CLI_SharedFrameworkVersion>
|
||||
<CLI_MSBuild_Version>15.4.7</CLI_MSBuild_Version>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<IsDebianBaseDistro Condition=" '$(HostOSName)' == 'ubuntu' OR '$(HostOSName)' == 'debian' ">true</IsDebianBaseDistro>
|
||||
<IsRPMBasedDistro Condition=" $(HostRid.StartsWith('rhel')) ">true</IsRPMBasedDistro>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ArchiveExtension Condition=" '$(HostOSName)' == 'win' ">.zip</ArchiveExtension>
|
||||
<ArchiveExtension Condition=" '$(HostOSName)' != 'win' ">.tar.gz</ArchiveExtension>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<UsingTask TaskName="GenerateResxSource" AssemblyFile="$(CLIBuildDll)" />
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<GitInfoCommitHash>%(GitInfoCommitHashLines.Identity)</GitInfoCommitHash>
|
||||
|
||||
<GitCommitInfoPropsContent>
|
||||
<Project ToolsVersion="15.0">
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<CommitCount>$(GitInfoCommitCount)</CommitCount>
|
||||
<CommitHash>$(GitInfoCommitHash)</CommitHash>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<HostInfoPropsContent>
|
||||
<Project ToolsVersion="15.0">
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<HostRid>$(HostRid)</HostRid>
|
||||
<HostOSName>$(HostOSName)</HostOSName>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<GeneratedPropsDir>$(RepoRoot)/artifacts/obj</GeneratedPropsDir>
|
||||
<GeneratedPropsDir>$(RepoRoot)/bin/obj</GeneratedPropsDir>
|
||||
<GitCommitInfoProps>$(GeneratedPropsDir)/GitCommitInfo.props</GitCommitInfoProps>
|
||||
<HostInfoProps>$(GeneratedPropsDir)/HostInfo.props</HostInfoProps>
|
||||
<BuildInfoProps>$(GeneratedPropsDir)/BuildInfo.props</BuildInfoProps>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<DotnetCliBuildDirectory>$(RepoRoot)/build_projects/dotnet-cli-build</DotnetCliBuildDirectory>
|
||||
<SrcDirectory>$(RepoRoot)/src</SrcDirectory>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<InstallerOutputDirectory>$(PackagesDirectory)</InstallerOutputDirectory>
|
||||
<SdkInstallerFile>$(InstallerOutputDirectory)/$(ArtifactNameWithVersionSdk)$(InstallerExtension)</SdkInstallerFile>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<MSBuildImportsDir>$(RepoRoot)/resources/MSBuildImports</MSBuildImportsDir>
|
||||
</PropertyGroup>
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
NuGetPackagesDir=$(NuGetPackagesDir);
|
||||
DependencyPackageName=%(ExtensionPackageToRestore.Identity);
|
||||
DependencyPackageVersion=%(ExtensionPackageToRestore.Version);
|
||||
Stage0Directory=$(Stage0Directory)
|
||||
PreviousStageDirectory=$(PreviousStageDirectory)
|
||||
</Properties>
|
||||
</ExtensionRestore>
|
||||
</ItemGroup>
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="DependencyVersions.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<RepoRoot>$(MSBuildThisFileDirectory)/..</RepoRoot>
|
||||
<NuGetPackagesDir>$(NUGET_PACKAGES)</NuGetPackagesDir>
|
||||
<NuGetPackagesDir Condition=" '$(NuGetPackagesDir)' == '' ">$(RepoRoot)/.nuget/packages</NuGetPackagesDir>
|
||||
|
||||
<MicroBuildPropsAndTargetsPath>$(NuGetPackagesDir)/microbuild.core/$(MicroBuildVersion)/build/</MicroBuildPropsAndTargetsPath>
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
<UsingTask TaskName="TarGzFileExtractToDirectory" AssemblyFile="$(CLIBuildDll)" />
|
||||
<UsingTask TaskName="UpdateVersionsRepo" AssemblyFile="$(CLIBuildDll)"/>
|
||||
<UsingTask TaskName="UploadToAzure" AssemblyFile="$(CLIBuildDll)"/>
|
||||
<UsingTask TaskName="UploadToLinuxPackageRepository" AssemblyFile="$(CLIBuildDll)"/>
|
||||
<UsingTask TaskName="ZipFileCreateFromDirectory" AssemblyFile="$(CLIBuildDll)"/>
|
||||
<UsingTask TaskName="ZipFileExtractToDirectory" AssemblyFile="$(CLIBuildDll)"/>
|
||||
</Project>
|
||||
|
|
|
@ -1,10 +1,19 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<BaseOutputDirectory>$(RepoRoot)/artifacts/$(Rid)</BaseOutputDirectory>
|
||||
<OutputDirectory>$(BaseOutputDirectory)/stage2</OutputDirectory>
|
||||
<Stage2WithBackwardsCompatibleRuntimesOutputDirectory>$(BaseOutputDirectory)/stage2WithBackwardsCompatibleRuntimes</Stage2WithBackwardsCompatibleRuntimesOutputDirectory>
|
||||
<CliBuildStage Condition="'$(CliBuildStage)' == '' And '$(CliOuterBuildStage)' != ''">$([MSBuild]::Add($(CliOuterBuildStage), '1'))</CliBuildStage>
|
||||
<CliBuildStage Condition="'$(CliBuildStage)' == ''">2</CliBuildStage>
|
||||
|
||||
<!-- BaseOutputDirectory is the root output path for this stage and RID
|
||||
BaseOutputPath is the project-specific output folder that each project builds into.
|
||||
This is not confusing at all. -->
|
||||
<BaseOutputDirectory>$(RepoRoot)/bin/$(CliBuildStage)/$(Rid)</BaseOutputDirectory>
|
||||
<BaseOutputPath>$([System.IO.Path]::GetFullPath('$(BaseOutputDirectory)/bin/$(MSBuildProjectName)'))</BaseOutputPath>
|
||||
|
||||
<BaseIntermediateOutputPath>$([System.IO.Path]::GetFullPath('$(BaseOutputDirectory)/obj/$(MSBuildProjectName)'))</BaseIntermediateOutputPath>
|
||||
<OutputDirectory>$(BaseOutputDirectory)/dotnet</OutputDirectory>
|
||||
<Stage2WithBackwardsCompatibleRuntimesOutputDirectory>$(BaseOutputDirectory)/dotnetWithBackwardsCompatibleRuntimes</Stage2WithBackwardsCompatibleRuntimesOutputDirectory>
|
||||
<SdkOutputDirectory>$(OutputDirectory)/sdk/$(SdkVersion)</SdkOutputDirectory>
|
||||
<SymbolsDirectory>$(BaseOutputDirectory)/stage2symbols</SymbolsDirectory>
|
||||
<SymbolsDirectory>$(BaseOutputDirectory)/symbols</SymbolsDirectory>
|
||||
<RoslynDirectory>$(SdkOutputDirectory)/Roslyn</RoslynDirectory>
|
||||
<FSharpDirectory>$(SdkOutputDirectory)/FSharp</FSharpDirectory>
|
||||
<CompilationDirectory>$(BaseOutputDirectory)/stage2compilation</CompilationDirectory>
|
||||
|
@ -14,10 +23,12 @@
|
|||
<!-- The 'AspNetRuntimePackageStorePublishDirectory' needs to be very short due to path length constraints on Win8.1 -->
|
||||
<AspNetRuntimePackageStorePublishDirectory>$(BaseOutputDirectory)/AspRT</AspNetRuntimePackageStorePublishDirectory>
|
||||
<BackwardsCompatibleSharedFrameworksPublishDirectory>$(IntermediateDirectory)/backwardsCompatibleSharedFrameworksPublish</BackwardsCompatibleSharedFrameworksPublishDirectory>
|
||||
<TestOutputDir>$(RepoRoot)/artifacts/testpackages/</TestOutputDir>
|
||||
<TestOutputDir>$(BaseOutputDirectory)/testpackages/</TestOutputDir>
|
||||
<DotnetInOutputDirectory>$(OutputDirectory)/dotnet$(ExeExtension)</DotnetInOutputDirectory>
|
||||
<GeneratedMSBuildExtensionsDirectory>$(IntermediateDirectory)/GeneratedMSBuildExtensions</GeneratedMSBuildExtensionsDirectory>
|
||||
<MSBuildExtensionsLayoutDirectory>$(IntermediateDirectory)/MSBuildExtensionsLayout</MSBuildExtensionsLayoutDirectory>
|
||||
<SdkResolverOutputDirectory>$(MSBuildExtensionsLayoutDirectory)/MSBuildSdkResolver</SdkResolverOutputDirectory>
|
||||
|
||||
<NextStagePropsPath>$(BaseOutputDirectory)/PreviousStage.props</NextStagePropsPath>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<Import Project="prepare/CheckPrereqs.targets" />
|
||||
|
||||
<Target Name="Prepare"
|
||||
DependsOnTargets="Init;DownloadHostAndSharedFxArtifacts;RestoreSrcPackages;RestoreToolsPackages" />
|
||||
DependsOnTargets="Init;DownloadHostAndSharedFxArtifacts;RestoreSrcPackages;RestoreToolsPackages;IsolateArtifactsFromDirectoryBuildFiles;CreatePropsForNextStage" />
|
||||
|
||||
<Target Name="Init"
|
||||
DependsOnTargets="PrintBuildInfo;
|
||||
|
@ -54,7 +54,7 @@
|
|||
|
||||
<CallTarget Targets="CleanSrcLockFiles" />
|
||||
|
||||
<DotNetRestore ToolPath="$(Stage0Directory)"
|
||||
<DotNetRestore ToolPath="$(PreviousStageDirectory)"
|
||||
ProjectPath=""%(RestoreSrcPackagesInput.FullPath)"" />
|
||||
|
||||
</Target>
|
||||
|
@ -79,7 +79,7 @@
|
|||
|
||||
<CallTarget Targets="CleanToolsLockFiles" />
|
||||
|
||||
<DotNetRestore ToolPath="$(Stage0Directory)"
|
||||
<DotNetRestore ToolPath="$(PreviousStageDirectory)"
|
||||
ProjectPath=""%(RestoreToolsPackagesInput.FullPath)""
|
||||
AdditionalParameters="/p:UsePortableLinuxSharedFramework=$(UsePortableLinuxSharedFramework)" />
|
||||
|
||||
|
@ -98,4 +98,38 @@
|
|||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="IsolateArtifactsFromDirectoryBuildFiles">
|
||||
<Copy SourceFiles="$(RepoRoot)TestAssets\Directory.Build.props"
|
||||
DestinationFolder ="$(RepoRoot)bin"
|
||||
SkipUnchangedFiles="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CreatePropsForNextStage">
|
||||
<PropertyGroup>
|
||||
|
||||
<NextStagePropsContent>
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<PreviousStageDirectory>$(OutputDirectory)</PreviousStageDirectory>
|
||||
<PreviousStageDotnet>$(DotnetInOutputDirectory)</PreviousStageDotnet>
|
||||
<CliOuterBuildStage>$(CliBuildStage)</CliOuterBuildStage>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
</NextStagePropsContent>
|
||||
|
||||
<ExistingNextStagePropsContent Condition=" Exists('$(NextStagePropsPath)') ">
|
||||
$([System.IO.File]::ReadAllText($(NextStagePropsPath)))
|
||||
</ExistingNextStagePropsContent>
|
||||
|
||||
<ShouldOverwriteNextStagePropsFile>false</ShouldOverwriteNextStagePropsFile>
|
||||
<ShouldOverwriteNextStagePropsFile
|
||||
Condition=" '$(ExistingNextStagePropsContent.Trim())' != '$(NextStagePropsContent.Trim())' ">true</ShouldOverwriteNextStagePropsFile>
|
||||
</PropertyGroup>
|
||||
|
||||
<WriteLinesToFile File="$(NextStagePropsPath)"
|
||||
Lines="$(NextStagePropsContent)"
|
||||
Condition=" '$(ShouldOverwriteNextStagePropsFile)' == 'true' "
|
||||
Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
<Target Name="EnsureDependencyRestored"
|
||||
Condition="!Exists('$(DependencyNuPkgPath)/$(DependencyPackageName.ToLower()).nuspec')">
|
||||
<DotNetRestore ToolPath="$(Stage0Directory)"
|
||||
<DotNetRestore ToolPath="$(PreviousStageDirectory)"
|
||||
ProjectPath="$(MSBuildThisFileDirectory)/sdks/sdks.csproj"
|
||||
AdditionalParameters="/p:DependencyPackageName=$(DependencyPackageName) /p:DependencyPackageVersion=$(DependencyPackageVersion)" />
|
||||
</Target>
|
||||
|
|
13
build/SetupPreviousStage.props
Normal file
13
build/SetupPreviousStage.props
Normal file
|
@ -0,0 +1,13 @@
|
|||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(PreviousStageProps)' == ''">
|
||||
<PreviousStageDirectory>$(RepoRoot)/.dotnet_stage0/$(Architecture)</PreviousStageDirectory>
|
||||
<PreviousStageDotnet>$(PreviousStageDirectory)/dotnet$(ExeExtension)</PreviousStageDotnet>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="$(PreviousStageProps)" Condition="'$(PreviousStageProps)' != ''" />
|
||||
|
||||
<PropertyGroup>
|
||||
<IsDesktopAvailable>False</IsDesktopAvailable>
|
||||
<IsDesktopAvailable Condition=" '$(OSName)' == 'win' ">True</IsDesktopAvailable>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -1,9 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project InitialTargets="SetSigningProperties" DefaultTargets="SignFiles" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- The signing infrastructure runs using MSBuild 14, which doesn't support some of the new syntax we're using. So set the BuildingSingingProject
|
||||
property here to avoid importing files we don't need for signing which would cause errors if imported when using MSBuild 14. -->
|
||||
<BuildingSigningProject>true</BuildingSigningProject>
|
||||
</PropertyGroup>
|
||||
|
||||
<Import Project="..\dir.props" />
|
||||
<Import Project="MicroBuild.props" />
|
||||
<Import Project="$(MicroBuildPropsAndTargetsPath)MicroBuild.Core.props" />
|
||||
<Import Project="InitRepo.props" />
|
||||
<Import Project="$(BuildInfoProps)" />
|
||||
|
||||
<!-- This will be overridden if we're building with MicroBuild. -->
|
||||
<Target Name="SignFiles">
|
||||
|
@ -13,10 +19,6 @@
|
|||
<Target Name="SetSigningProperties">
|
||||
<Error Condition="'$(Rid)' == ''" Text="Missing required property 'Rid'." />
|
||||
<PropertyGroup>
|
||||
<BaseOutputDirectory Condition="'$(BaseOutputDirectory)' == ''">$(RepoRoot)/artifacts/$(Rid)</BaseOutputDirectory>
|
||||
<OutputDirectory Condition="'$(OutputDirectory)' == ''">$(BaseOutputDirectory)/stage2</OutputDirectory>
|
||||
<CompilationDirectory Condition="'$(CompilationDirectory)' == ''">$(BaseOutputDirectory)/stage2compilation</CompilationDirectory>
|
||||
<PackagesDirectory Condition="'$(PackagesDirectory)' == ''">$(BaseOutputDirectory)/packages</PackagesDirectory>
|
||||
<SdkResolverOutputDirectory>$(BaseOutputDirectory)/intermediate/MSBuildExtensionsLayout/MSBuildSdkResolver</SdkResolverOutputDirectory>
|
||||
|
||||
<!-- The OutDir and IntermediateOutputPath properties are required by MicroBuild. MicroBuild only
|
||||
|
@ -71,12 +73,9 @@
|
|||
<Target Name="SignNuPkgContents" DependsOnTargets="GetSignNuPkgContentsFiles;SignFiles" />
|
||||
|
||||
<Target Name="GetSignNuPkgContentsFiles">
|
||||
<PropertyGroup>
|
||||
<OutDir>$(RepoRoot)/src/Microsoft.DotNet.Cli.Utils</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<!-- NuPkg contents -->
|
||||
<FilesToSign Include="$(OutDir)/bin/**/Microsoft.DotNet.Cli.Utils.dll">
|
||||
<FilesToSign Include="$(BaseOutputDirectory)/bin/Microsoft.DotNet.Cli.Utils/**/Microsoft.DotNet.Cli.Utils.dll">
|
||||
<Authenticode>$(InternalCertificateId)</Authenticode>
|
||||
</FilesToSign>
|
||||
</ItemGroup>
|
||||
|
@ -85,9 +84,6 @@
|
|||
<Target Name="SignSdkResolverContents" DependsOnTargets="GetSignSdkResolverContentsFiles;SignFiles" />
|
||||
|
||||
<Target Name="GetSignSdkResolverContentsFiles">
|
||||
<PropertyGroup>
|
||||
<OutDir>$(SdkResolverOutputDirectory)</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<FilesToSign Include="$(SdkResolverOutputDirectory)/Microsoft.DotNet.MSBuildSdkResolver.dll">
|
||||
<Authenticode>$(InternalCertificateId)</Authenticode>
|
||||
|
@ -98,9 +94,6 @@
|
|||
<Target Name="SignMsiAndCab" DependsOnTargets="GetSignMsiAndCabFiles;SignFiles" />
|
||||
|
||||
<Target Name="GetSignMsiAndCabFiles">
|
||||
<PropertyGroup>
|
||||
<OutDir>$(PackagesDirectory)</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<FilesToSign Include="$(PackagesDirectory)/**/*.msi">
|
||||
<Authenticode>$(InternalCertificateId)</Authenticode>
|
||||
|
@ -114,9 +107,6 @@
|
|||
<Target Name="SignEngine" DependsOnTargets="GetSignEngineFiles;SignFiles" />
|
||||
|
||||
<Target Name="GetSignEngineFiles">
|
||||
<PropertyGroup>
|
||||
<OutDir>$(PackagesDirectory)</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<FilesToSign Include="$(PackagesDirectory)/**/*engine.exe">
|
||||
<Authenticode>$(InternalCertificateId)</Authenticode>
|
||||
|
@ -127,9 +117,6 @@
|
|||
<Target Name="SignCliBundle" DependsOnTargets="GetSignCliBundleFiles;SignFiles" />
|
||||
|
||||
<Target Name="GetSignCliBundleFiles">
|
||||
<PropertyGroup>
|
||||
<OutDir>$(PackagesDirectory)</OutDir>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<FilesToSign Include="$(PackagesDirectory)/**/*.exe">
|
||||
<Authenticode>$(InternalCertificateId)</Authenticode>
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<Stage0Directory>$(RepoRoot)/.dotnet_stage0/$(Architecture)</Stage0Directory>
|
||||
<Stage0PjDirectory>$(RepoRoot)/.dotnet_stage0PJ/$(Architecture)</Stage0PjDirectory>
|
||||
<DotnetStage0>$(Stage0Directory)/dotnet$(ExeExtension)</DotnetStage0>
|
||||
<IsDesktopAvailable>False</IsDesktopAvailable>
|
||||
<IsDesktopAvailable Condition=" '$(OSName)' == 'win' ">True</IsDesktopAvailable>
|
||||
</PropertyGroup>
|
||||
</Project>
|
|
@ -12,24 +12,21 @@
|
|||
<TestResultXmlDir>$(TestOutputDir)/results/</TestResultXmlDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<TestTaskEnvironmentVariables Include="TEST_ARTIFACTS=$(TestArtifactsDir)" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<RunTestEnvironmentVariables>@(TestTaskEnvironmentVariables)</RunTestEnvironmentVariables>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="Test"
|
||||
Condition=" '$(CLIBUILD_SKIP_TESTS)' != 'true' "
|
||||
DependsOnTargets="BuildTests;">
|
||||
|
||||
<!-- Make ure the test packages directory exists so that it's not an error to have it as a package source -->
|
||||
<MakeDir Directories="$(TestPackagesDir)" />
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectsToTest Include="build/test/RunTest.proj">
|
||||
<Properties>
|
||||
CLIBuildDll=$(CLIBuildDll);
|
||||
Configuration=$(Configuration);
|
||||
EnvironmentVariables=$(RunTestEnvironmentVariables);
|
||||
TestArtifactsDir=$(TestArtifactsDir);
|
||||
TestPackagesDir=$(TestPackagesDir);
|
||||
PreviousStageProps=$(NextStagePropsPath);
|
||||
TestProject=%(TestProjects.Identity);
|
||||
TestResultXmlDir=$(TestResultXmlDir);
|
||||
ToolPath=$(OutputDirectory);
|
||||
|
@ -58,13 +55,15 @@
|
|||
DependsOnTargets="PrepareTests;
|
||||
CreateTestAssetPackageNuPkgs;">
|
||||
<DotNetRestore ToolPath="$(OutputDirectory)"
|
||||
ProjectPath=""$(TestDirectory)/Microsoft.DotNet.Cli.Tests.sln"" />
|
||||
ProjectPath=""$(TestDirectory)/Microsoft.DotNet.Cli.Tests.sln""
|
||||
AdditionalParameters="/p:PreviousStageProps=$(NextStagePropsPath)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="BuildTests"
|
||||
DependsOnTargets="RestoreTests;">
|
||||
<DotNetBuild ToolPath="$(OutputDirectory)"
|
||||
ProjectPath=""$(TestDirectory)/Microsoft.DotNet.Cli.Tests.sln""
|
||||
AdditionalParameters="/p:PreviousStageProps=$(NextStagePropsPath)"
|
||||
MaxCpuCount="1" />
|
||||
</Target>
|
||||
|
||||
|
@ -74,19 +73,21 @@
|
|||
|
||||
<DotNetRestore ToolPath="$(OutputDirectory)"
|
||||
WorkingDirectory="$([System.IO.Directory]::GetParent('%(TestPackageProject.ProjectPath)'))"
|
||||
ProjectPath="%(TestPackageProject.ProjectPath)" />
|
||||
ProjectPath="%(TestPackageProject.ProjectPath)"
|
||||
AdditionalParameters="/p:RestoreAdditionalProjectSources=$(TestOutputDir)/packages /p:PreviousStageProps=$(NextStagePropsPath)"
|
||||
/>
|
||||
|
||||
<!-- https://github.com/NuGet/Home/issues/4063 -->
|
||||
<DotNetPack Output="$(TestPackagesDir)"
|
||||
ProjectPath="%(TestPackageProject.ProjectPath)"
|
||||
ToolPath="$(OutputDirectory)"
|
||||
VersionSuffix="%(TestPackageProject.VersionSuffix)"
|
||||
MsbuildArgs="%(TestPackageProject.MsbuildArgs) /p:SdkNuGetVersion=$(SdkNugetVersion)" />
|
||||
MsbuildArgs="%(TestPackageProject.MsbuildArgs) /p:SdkNuGetVersion=$(SdkNugetVersion) /p:RestoreAdditionalProjectSources=$(TestOutputDir)/packages /p:PreviousStageProps=$(NextStagePropsPath)" />
|
||||
|
||||
</Target>
|
||||
|
||||
<Target Name="EnsureStageSeparation">
|
||||
<DotNetMSBuild Arguments="/v:diag $(RepoRoot)/build_projects/Microsoft.DotNet.Cli.Build.SelfTest/InvokeWithStage0.proj /p:OutputDirectory="$(OutputDirectory)""
|
||||
ToolPath="$(Stage0Directory)" />
|
||||
ToolPath="$(PreviousStageDirectory)" />
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<VersionMajor>2</VersionMajor>
|
||||
<VersionMinor>0</VersionMinor>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Project>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<VersionBadgeMoniker>$(OSName)_$(Architecture)</VersionBadgeMoniker>
|
||||
<VersionBadgeMoniker Condition=" '$(HostRid)' == 'debian.8-x64' ">debian_8_x64</VersionBadgeMoniker>
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
Mode="u+x" />
|
||||
|
||||
<!-- Build SDK Deb package -->
|
||||
<DotNetDebTool ToolPath="$(Stage0Directory)"
|
||||
<DotNetDebTool ToolPath="$(PreviousStageDirectory)"
|
||||
InputDirectory="$(LayoutDirectory)"
|
||||
OutputDirectory="$(DotNetDebToolOutputDirectory)"
|
||||
PackageName="$(SdkDebianPackageName)"
|
||||
|
@ -156,22 +156,12 @@
|
|||
<MakeDir Directories="$(DotNetDebToolOutputDirectory)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="PrepareDotnetDebTool"
|
||||
DependsOnTargets="WriteDotnetDebToolProject">
|
||||
<Target Name="PrepareDotnetDebTool">
|
||||
|
||||
<DotNetRestore ToolPath="$(Stage0Directory)"
|
||||
<DotNetRestore ToolPath="$(PreviousStageDirectory)"
|
||||
WorkingDirectory="$(DotnetDebToolDir)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="WriteDotnetDebToolProject"
|
||||
Inputs="$(MSBuildThisFileDirectory)/$(DotnetDebToolConsumerProjectName)"
|
||||
Outputs="$(DotnetDebToolDir)/$(DotnetDebToolConsumerProjectName)">
|
||||
|
||||
<Copy SourceFiles="$(MSBuildThisFileDirectory)/$(DotnetDebToolConsumerProjectName)"
|
||||
DestinationFiles="$(DotnetDebToolDir)/$(DotnetDebToolConsumerProjectName)" />
|
||||
|
||||
</Target>
|
||||
|
||||
<Target Name="TestDebuild">
|
||||
<Message Text="Don't remove this" />
|
||||
|
||||
|
|
|
@ -8,8 +8,7 @@
|
|||
|
||||
<!-- dotnet deb-tool -->
|
||||
<PropertyGroup>
|
||||
<DotnetDebToolConsumerProjectName>dotnet-deb-tool-consumer.csproj</DotnetDebToolConsumerProjectName>
|
||||
<DotnetDebToolDir>$(IntermediateDirectory)/$(DotnetDebToolConsumerProjectName)</DotnetDebToolDir>
|
||||
<DotnetDebToolDir>$(MSBuildThisFileDirectory)/dotnet-deb-tool-consumer</DotnetDebToolDir>
|
||||
<PackageTool>$(NuGetPackagesDir)/dotnet-deb-tool/$(DotnetDebToolVersion)/lib/netcoreapp2.0/tool/package_tool</PackageTool>
|
||||
</PropertyGroup>
|
||||
|
||||
|
@ -114,6 +113,9 @@
|
|||
|
||||
<ItemGroup>
|
||||
<TestSdkDebTaskEnvironmentVariables Include="PATH=$(DebianInstalledDirectory)$(PathListSeparator)$(PATH)" />
|
||||
<TestSdkDebTaskEnvironmentVariables Include="TEST_ARTIFACTS=$(TestArtifactsDir)" />
|
||||
<TestSdkDebTaskEnvironmentVariables Include="TEST_PACKAGES=$(TestPackagesDir)" />
|
||||
<TestSdkDebTaskEnvironmentVariables Include="PreviousStageProps=$(NextStagePropsPath)" />
|
||||
|
||||
<!-- Consumed By Publish -->
|
||||
<GeneratedInstallers Include="$(SdkInstallerFile)" />
|
||||
|
|
|
@ -199,7 +199,8 @@
|
|||
|
||||
<Exec Command ="powershell -NoProfile -NoLogo $(SdkTestMsiPowershellScript)
|
||||
-InputMsi '$(SdkInstallerFile)'
|
||||
-DotnetDir '$(Stage0Directory)'" />
|
||||
-DotnetDir '$(PreviousStageDirectory)'
|
||||
-TestDir '$(TestOutputDir)'" />
|
||||
|
||||
<WriteLinesToFile
|
||||
File="$(SdkMsiTestedSentinel)"
|
||||
|
|
|
@ -140,6 +140,11 @@
|
|||
|
||||
<ItemGroup>
|
||||
<TestSdkRpmTaskEnvironmentVariables Include="PATH=$(RpmInstalledDirectory)$(PathListSeparator)$(PATH)" />
|
||||
<TestSdkRpmTaskEnvironmentVariables Include="TEST_ARTIFACTS=$(TestArtifactsDir)" />
|
||||
<TestSdkRpmTaskEnvironmentVariables Include="TEST_PACKAGES=$(TestPackagesDir)" />
|
||||
<TestSdkRpmTaskEnvironmentVariables Include="PreviousStageProps=$(NextStagePropsPath)" />
|
||||
|
||||
<!-- Consumed By Publish -->
|
||||
<GeneratedInstallers Include="$(SdkInstallerFile)" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
<DotNetPack NoBuild="True"
|
||||
Output="$(PackagesDirectory)"
|
||||
ProjectPath="%(ProjectsToPack.Identity)/%(ProjectsToPack.ProjectName).csproj"
|
||||
ToolPath="$(Stage0Directory)"
|
||||
ToolPath="$(PreviousStageDirectory)"
|
||||
VersionSuffix="$(VersionSuffix)"
|
||||
Configuration="$(Configuration)" />
|
||||
</Target>
|
||||
|
@ -34,7 +34,7 @@
|
|||
|
||||
<MakeDir Directories="$(PackagingBuildBasePath)" />
|
||||
|
||||
<DotNetBuild ToolPath="$(Stage0Directory)"
|
||||
<DotNetBuild ToolPath="$(PreviousStageDirectory)"
|
||||
Configuration="$(Configuration)"
|
||||
ProjectPath="%(ProjectsToPack.Identity)/%(ProjectsToPack.ProjectName).csproj" />
|
||||
</Target>
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.0</TargetFramework>
|
||||
<RuntimeFrameworkVersion>$(CLI_SharedFrameworkVersion)</RuntimeFrameworkVersion>
|
|
@ -8,8 +8,8 @@
|
|||
DependsOnTargets="CheckUbuntuAptGetDependencies;
|
||||
CheckCentOsYumDependencies;">
|
||||
|
||||
<Message Text="Using Stage0 version:" />
|
||||
<Exec Command="$(DotnetStage0) --version" />
|
||||
<Message Text="Using previous stage version:" />
|
||||
<Exec Command="$(PreviousStageDotnet) --version" />
|
||||
</Target>
|
||||
|
||||
<Target Name="CheckUbuntuAptGetDependencies"
|
||||
|
|
|
@ -5,29 +5,24 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<SdkDebianUploadUrl>$(DotnetBlobRootUrl)/$(Product)/$(FullNugetVersion)/$(DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)$(InstallerExtension)</SdkDebianUploadUrl>
|
||||
<DebianUploadJsonFile>$(SdkDebianIntermediateDirectory)/package_upload.json</DebianUploadJsonFile>
|
||||
<DebianRevisionNumber>1</DebianRevisionNumber>
|
||||
|
||||
<DebianUploadJsonContent>
|
||||
{
|
||||
"name":"$(SdkDebianPackageName)",
|
||||
"version":"$(NugetVersion)-$(DebianRevisionNumber)",
|
||||
"repositoryId":"$(REPO_ID)",
|
||||
"sourceUrl": "$(SdkDebianUploadUrl)"
|
||||
}
|
||||
</DebianUploadJsonContent>
|
||||
<SdkDebianUploadUrl>$(DotnetBlobRootUrl)/$(Product)/$(FullNugetVersion)/$(DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)-$(Architecture)$(InstallerExtension)</SdkDebianUploadUrl>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="PublishDebFilesToDebianRepo" Condition=" '$(IsDebianBaseDistro)' == 'True' AND '$(SkipPublishToDebianRepo)' != 'true' AND '$(IslinuxPortable)' != 'true' ">
|
||||
<Error Condition="'$(REPO_ID)' == ''" Text="REPO_ID must be set as an environment variable for debian publishing." />
|
||||
<Error Condition="'$(REPO_USER)' == ''" Text="REPO_USER must be set as an environment variable for debian publishing." />
|
||||
<Error Condition="'$(REPO_PASS)' == ''" Text="REPO_PASS must be set as an environment variable for debian publishing." />
|
||||
<Error Condition="'$(REPO_SERVER)' == ''" Text="REPO_SERVER must be set as an environment variable for debian publishing." />
|
||||
<Target Name="PublishDebFilesToDebianRepo"
|
||||
DependsOnTargets="SetupDebProps;"
|
||||
Condition=" '$(IsDebianBaseDistro)' == 'True' AND '$(SkipPublishToDebianRepo)' != 'true' AND '$(IslinuxPortable)' != 'true' " >
|
||||
<Error Condition="'$(REPO_ID)' == ''" Text="REPO_ID must be set as a MsBuild Property variable for debian publishing." />
|
||||
<Error Condition="'$(REPO_USER)' == ''" Text="REPO_USER must be set as a MsBuild Property variable for debian publishing." />
|
||||
<Error Condition="'$(REPO_PASS)' == ''" Text="REPO_PASS must be set as a MsBuild Property variable for debian publishing." />
|
||||
<Error Condition="'$(REPO_SERVER)' == ''" Text="REPO_SERVER must be set as a MsBuild Property variable for debian publishing." />
|
||||
|
||||
<Delete Files="$(DebianUploadJsonFile)" />
|
||||
<WriteLinesToFile File="$(DebianUploadJsonFile)" Lines="$(DebianUploadJsonContent)" />
|
||||
|
||||
<Exec Command="$(RepoRoot)/scripts/publish/repoapi_client.sh -addpkg $(DebianUploadJsonFile)" />
|
||||
<UploadToLinuxPackageRepository
|
||||
Username="$(REPO_USER)"
|
||||
Password='$(REPO_PASS)'
|
||||
Server='$(REPO_SERVER)'
|
||||
RepositoryId='$(REPO_ID)'
|
||||
PathOfPackageToUpload='$(SdkInstallerFile)'
|
||||
PackageNameInLinuxPackageRepository='$(SdkDebianPackageName)'
|
||||
PackageVersionInLinuxPackageRepository='$(NugetVersion)' />
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="$(DependencyPackageName)" Version="$(DependencyPackageVersion)" />
|
||||
<PackageReference Condition="'$(DependencyPackageName)' == 'Microsoft.NET.Sdk.Web'" Include="Microsoft.NET.Sdk" Version="$(CLI_NETSDK_Version)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
|
|
|
@ -11,7 +11,13 @@
|
|||
<UsingTask TaskName="DotNetTest" AssemblyFile="$(CLIBuildDllPath)" />
|
||||
|
||||
<Target Name="RunTest">
|
||||
<DotNetTest EnvironmentVariables="$(EnvironmentVariables)"
|
||||
<ItemGroup>
|
||||
<EnvironmentVariables Include="TEST_ARTIFACTS=$(TestArtifactsDir)" />
|
||||
<EnvironmentVariables Include="TEST_PACKAGES=$(TestPackagesDir)" />
|
||||
<EnvironmentVariables Include="PreviousStageProps=$(PreviousStageProps)" />
|
||||
</ItemGroup>
|
||||
|
||||
<DotNetTest EnvironmentVariables="@(EnvironmentVariables)"
|
||||
ToolPath="$(ToolPath)"
|
||||
Configuration="$(Configuration)"
|
||||
NoBuild="True"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard1.5</TargetFramework>
|
||||
|
|
|
@ -0,0 +1,92 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using FluentAssertions;
|
||||
using Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository;
|
||||
using Xunit;
|
||||
|
||||
namespace dotnet_cli_build.Tests
|
||||
{
|
||||
public class GivenActionAndRetryTimes
|
||||
{
|
||||
public static IEnumerable<Task> NoWaitTimer()
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
yield return Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ExponentialRetryShouldProvideIntervalSequence()
|
||||
{
|
||||
ExponentialRetry.Intervals.First().Should().Be(TimeSpan.FromSeconds(5));
|
||||
ExponentialRetry.Intervals.Skip(1).First().Should().Be(TimeSpan.FromSeconds(10));
|
||||
ExponentialRetry.Intervals.Skip(2).First().Should().Be(TimeSpan.FromSeconds(20));
|
||||
ExponentialRetry.Intervals.Skip(3).First().Should().Be(TimeSpan.FromSeconds(40));
|
||||
ExponentialRetry.Intervals.Skip(4).First().Should().Be(TimeSpan.FromSeconds(80));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ExponentialShouldNotRetryAfterFirstSucceess()
|
||||
{
|
||||
var fakeAction = new FakeAction(0);
|
||||
ExponentialRetry.ExecuteWithRetry(
|
||||
fakeAction.Run,
|
||||
s => s == "success",
|
||||
10,
|
||||
NoWaitTimer).Wait();
|
||||
fakeAction.Count.Should().Be(0);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ExponentialShouldRetryUntilSuccess()
|
||||
{
|
||||
var fakeAction = new FakeAction(5);
|
||||
ExponentialRetry.ExecuteWithRetry(
|
||||
fakeAction.Run,
|
||||
s => s == "success",
|
||||
10,
|
||||
NoWaitTimer).Wait();
|
||||
fakeAction.Count.Should().Be(5);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ExponentialShouldThrowAfterMaximumAmountReached()
|
||||
{
|
||||
var fakeAction = new FakeAction(10);
|
||||
Action a = () => ExponentialRetry.ExecuteWithRetry(
|
||||
fakeAction.Run,
|
||||
s => s == "success",
|
||||
5,
|
||||
NoWaitTimer,
|
||||
"testing retry").Wait();
|
||||
a.ShouldThrow<RetryFailedException>()
|
||||
.WithMessage("Retry failed for testing retry after 5 times with result: fail");
|
||||
}
|
||||
}
|
||||
|
||||
public class FakeAction
|
||||
{
|
||||
private readonly int _successAfter;
|
||||
|
||||
public FakeAction(int successAfter)
|
||||
{
|
||||
_successAfter = successAfter;
|
||||
}
|
||||
|
||||
public int Count { get; private set; }
|
||||
|
||||
public Task<string> Run()
|
||||
{
|
||||
if (_successAfter == Count)
|
||||
{
|
||||
return Task.FromResult("success");
|
||||
}
|
||||
|
||||
Count++;
|
||||
return Task.FromResult("fail");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>$(CliTargetFramework)</TargetFramework>
|
||||
<VersionPrefix>1.0.0</VersionPrefix>
|
||||
<AssetTargetFallback>$(AssetTargetFallback);portable-net45+win8+wp8+wpa81</AssetTargetFallback>
|
||||
<IsPackable>false</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(CLI_TestPlatform_Version)" />
|
||||
<PackageReference Include="xunit" Version="2.2.0" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.2.0" />
|
||||
<PackageReference Include="FluentAssertions" Version="4.18.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\dotnet-cli-build\dotnet-cli-build.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -13,11 +13,13 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
|
||||
public string Verbosity { get; set; }
|
||||
|
||||
public string AdditionalParameters { get; set; }
|
||||
|
||||
protected override string Args
|
||||
{
|
||||
get
|
||||
{
|
||||
return $"{GetVerbosityArg()} {GetMaxCpuCountArg()}";
|
||||
return $"{GetVerbosityArg()} {GetMaxCpuCountArg()} {GetAdditionalParameters()}";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -40,5 +42,10 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
|
||||
return null;
|
||||
}
|
||||
|
||||
private string GetAdditionalParameters()
|
||||
{
|
||||
return AdditionalParameters;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,13 +12,11 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
|
||||
protected override string Args
|
||||
{
|
||||
get { return $"{base.Args} {GetProjectPath()} {GetConfigFile()} {GetSource()} {GetPackages()} {GetSkipInvalidConfigurations()} {GetRuntime()} {GetAdditionalParameters()}"; }
|
||||
get { return $"{base.Args} {GetProjectPath()} {GetConfigFile()} {GetSource()} {GetPackages()} {GetSkipInvalidConfigurations()} {GetRuntime()} {AdditionalParameters}"; }
|
||||
}
|
||||
|
||||
public string ConfigFile { get; set; }
|
||||
|
||||
public string AdditionalParameters { get; set; }
|
||||
|
||||
public string ProjectPath { get; set; }
|
||||
|
||||
public string Source { get; set; }
|
||||
|
@ -88,10 +86,5 @@ namespace Microsoft.DotNet.Cli.Build
|
|||
|
||||
return null;
|
||||
}
|
||||
|
||||
private string GetAdditionalParameters()
|
||||
{
|
||||
return AdditionalParameters;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using NuGet.Protocol;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository
|
||||
{
|
||||
internal class AddPackageStrategy : IAzurelinuxRepositoryServiceHttpStrategy
|
||||
{
|
||||
private readonly IdInRepositoryService _idInRepositoryService;
|
||||
private readonly string _packageName;
|
||||
private readonly string _packageVersion;
|
||||
private readonly string _repositoryId;
|
||||
|
||||
public AddPackageStrategy(
|
||||
IdInRepositoryService idInRepositoryService,
|
||||
string packageName,
|
||||
string packageVersion,
|
||||
string repositoryId)
|
||||
{
|
||||
_idInRepositoryService = idInRepositoryService
|
||||
?? throw new ArgumentNullException(nameof(idInRepositoryService));
|
||||
_packageName = packageName;
|
||||
_packageVersion = packageVersion;
|
||||
_repositoryId = repositoryId;
|
||||
}
|
||||
|
||||
public async Task<string> Execute(HttpClient client, Uri baseAddress)
|
||||
{
|
||||
var debianUploadJsonContent = new Dictionary<string, string>
|
||||
{
|
||||
["name"] = _packageName,
|
||||
["version"] = AppendDebianRevisionNumber(_packageVersion),
|
||||
["fileId"] = _idInRepositoryService.Id,
|
||||
["repositoryId"] = _repositoryId
|
||||
}.ToJson();
|
||||
var content = new StringContent(debianUploadJsonContent,
|
||||
Encoding.UTF8,
|
||||
"application/json");
|
||||
|
||||
using (var response = await client.PostAsync(new Uri(baseAddress, "/v1/packages"), content))
|
||||
{
|
||||
if (!response.IsSuccessStatusCode)
|
||||
throw new FailedToAddPackageToPackageRepositoryException(
|
||||
$"request:{debianUploadJsonContent} response:{response.ToJson()}");
|
||||
return response.Headers.GetValues("Location").Single();
|
||||
}
|
||||
}
|
||||
|
||||
private static string AppendDebianRevisionNumber(string packageVersion)
|
||||
{
|
||||
return packageVersion + "-1";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,53 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository
|
||||
{
|
||||
public static class ExponentialRetry
|
||||
{
|
||||
public static IEnumerable<TimeSpan> Intervals
|
||||
{
|
||||
get
|
||||
{
|
||||
var seconds = 5;
|
||||
while (true)
|
||||
{
|
||||
yield return TimeSpan.FromSeconds(seconds);
|
||||
seconds *= 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task ExecuteWithRetry(Func<Task<string>> action,
|
||||
Func<string, bool> isSuccess,
|
||||
int maxRetryCount,
|
||||
Func<IEnumerable<Task>> timer,
|
||||
string taskDescription = "")
|
||||
{
|
||||
var count = 0;
|
||||
foreach (var t in timer())
|
||||
{
|
||||
await t;
|
||||
var result = await action();
|
||||
if (isSuccess(result))
|
||||
return;
|
||||
count++;
|
||||
if (count == maxRetryCount)
|
||||
throw new RetryFailedException(
|
||||
$"Retry failed for {taskDescription} after {count} times with result: {result}");
|
||||
}
|
||||
throw new Exception("Timer should not be exhausted");
|
||||
}
|
||||
|
||||
public static IEnumerable<Task> Timer(IEnumerable<TimeSpan> interval)
|
||||
{
|
||||
return interval.Select(Task.Delay);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository
|
||||
{
|
||||
public class FailedToAddPackageToPackageRepositoryException : Exception
|
||||
{
|
||||
public FailedToAddPackageToPackageRepositoryException(string message) : base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public FailedToAddPackageToPackageRepositoryException()
|
||||
{
|
||||
}
|
||||
|
||||
public FailedToAddPackageToPackageRepositoryException(string message, Exception innerException) : base(message,
|
||||
innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using NuGet.Protocol;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository
|
||||
{
|
||||
internal class FileUploadStrategy : IAzurelinuxRepositoryServiceHttpStrategy
|
||||
{
|
||||
private readonly string _pathToPackageToUpload;
|
||||
|
||||
public FileUploadStrategy(string pathToPackageToUpload)
|
||||
{
|
||||
_pathToPackageToUpload = pathToPackageToUpload
|
||||
?? throw new ArgumentNullException(nameof(pathToPackageToUpload));
|
||||
}
|
||||
|
||||
public async Task<string> Execute(HttpClient client, Uri baseAddress)
|
||||
{
|
||||
var fileName = Path.GetFileName(_pathToPackageToUpload);
|
||||
|
||||
using (var content =
|
||||
new MultipartFormDataContent())
|
||||
{
|
||||
var url = new Uri(baseAddress, "/v1/files");
|
||||
content.Add(
|
||||
new StreamContent(
|
||||
new MemoryStream(
|
||||
File.ReadAllBytes(_pathToPackageToUpload))),
|
||||
"file",
|
||||
fileName);
|
||||
using (var message = await client.PostAsync(url, content))
|
||||
{
|
||||
if (!message.IsSuccessStatusCode)
|
||||
{
|
||||
throw new FailedToAddPackageToPackageRepositoryException(
|
||||
$"{message.ToJson()} failed to post file to {url} file name:{fileName} pathToPackageToUpload:{_pathToPackageToUpload}");
|
||||
}
|
||||
return await message.Content.ReadAsStringAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository
|
||||
{
|
||||
internal interface IAzurelinuxRepositoryServiceHttpStrategy
|
||||
{
|
||||
Task<string> Execute(HttpClient client, Uri baseAddress);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository
|
||||
{
|
||||
internal class IdInRepositoryService
|
||||
{
|
||||
public IdInRepositoryService(string id)
|
||||
{
|
||||
Id = id ?? throw new ArgumentNullException(nameof(id));
|
||||
}
|
||||
|
||||
public string Id { get; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository
|
||||
{
|
||||
internal class LinuxPackageRepositoryDestiny
|
||||
{
|
||||
private readonly string _password;
|
||||
private readonly string _server;
|
||||
private readonly string _username;
|
||||
|
||||
public LinuxPackageRepositoryDestiny(string username,
|
||||
string password,
|
||||
string server,
|
||||
string repositoryId)
|
||||
{
|
||||
_username = username ?? throw new ArgumentNullException(nameof(username));
|
||||
_password = password ?? throw new ArgumentNullException(nameof(password));
|
||||
_server = server ?? throw new ArgumentNullException(nameof(server));
|
||||
RepositoryId = repositoryId ?? throw new ArgumentNullException(nameof(repositoryId));
|
||||
}
|
||||
|
||||
public string RepositoryId { get; }
|
||||
|
||||
public Uri GetBaseAddress()
|
||||
{
|
||||
return new Uri($"https://{_server}");
|
||||
}
|
||||
|
||||
public string GetSimpleAuth()
|
||||
{
|
||||
return $"{_username}:{_password}";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository
|
||||
{
|
||||
internal class LinuxPackageRepositoryHttpPrepare
|
||||
{
|
||||
private readonly IAzurelinuxRepositoryServiceHttpStrategy _httpStrategy;
|
||||
private readonly LinuxPackageRepositoryDestiny _linuxPackageRepositoryDestiny;
|
||||
|
||||
public LinuxPackageRepositoryHttpPrepare(
|
||||
LinuxPackageRepositoryDestiny linuxPackageRepositoryDestiny,
|
||||
IAzurelinuxRepositoryServiceHttpStrategy httpStrategy
|
||||
)
|
||||
{
|
||||
_linuxPackageRepositoryDestiny = linuxPackageRepositoryDestiny
|
||||
?? throw new ArgumentNullException(nameof(linuxPackageRepositoryDestiny));
|
||||
_httpStrategy = httpStrategy ?? throw new ArgumentNullException(nameof(httpStrategy));
|
||||
}
|
||||
|
||||
public async Task<string> RemoteCall()
|
||||
{
|
||||
using (var handler = new HttpClientHandler())
|
||||
{
|
||||
using (var client = new HttpClient(handler))
|
||||
{
|
||||
var authHeader =
|
||||
Convert.ToBase64String(Encoding.UTF8.GetBytes((string) _linuxPackageRepositoryDestiny.GetSimpleAuth()));
|
||||
client.DefaultRequestHeaders.Authorization =
|
||||
new AuthenticationHeaderValue("Basic", authHeader);
|
||||
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
|
||||
client.Timeout = TimeSpan.FromMinutes(10);
|
||||
|
||||
return await _httpStrategy.Execute(client, _linuxPackageRepositoryDestiny.GetBaseAddress());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json.Linq;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository
|
||||
{
|
||||
internal class PullQueuedPackageStatus : IAzurelinuxRepositoryServiceHttpStrategy
|
||||
{
|
||||
private readonly QueueResourceLocation _queueResourceLocation;
|
||||
|
||||
public PullQueuedPackageStatus(QueueResourceLocation queueResourceLocation)
|
||||
{
|
||||
_queueResourceLocation = queueResourceLocation
|
||||
?? throw new ArgumentNullException(nameof(queueResourceLocation));
|
||||
}
|
||||
|
||||
public async Task<string> Execute(HttpClient client, Uri baseAddress)
|
||||
{
|
||||
using (var response = await client.GetAsync(new Uri(baseAddress, _queueResourceLocation.Location)))
|
||||
{
|
||||
if (!response.IsSuccessStatusCode)
|
||||
throw new FailedToAddPackageToPackageRepositoryException(
|
||||
"Failed to make request to " + _queueResourceLocation.Location);
|
||||
var body = await response.Content.ReadAsStringAsync();
|
||||
return !body.Contains("status") ? "" : JObject.Parse(body)["status"].ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository
|
||||
{
|
||||
internal class QueueResourceLocation
|
||||
{
|
||||
public QueueResourceLocation(string location)
|
||||
{
|
||||
Location = location ?? throw new ArgumentNullException(nameof(location));
|
||||
}
|
||||
|
||||
public string Location { get; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository
|
||||
{
|
||||
public class RetryFailedException : Exception
|
||||
{
|
||||
public RetryFailedException(string message) : base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public RetryFailedException()
|
||||
{
|
||||
}
|
||||
|
||||
public RetryFailedException(string message, Exception innerException) : base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,121 @@
|
|||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.Build.Framework;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Task = Microsoft.Build.Utilities.Task;
|
||||
|
||||
namespace Microsoft.DotNet.Cli.Build.UploadToLinuxPackageRepository
|
||||
{
|
||||
public class UploadToLinuxPackageRepository : Task
|
||||
{
|
||||
/// <summary>
|
||||
/// The Azure repository service user name.
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string Username { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The Azure repository service Password.
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string Password { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The Azure repository service URL ex: "tux-devrepo.corp.microsoft.com".
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string Server { get; set; }
|
||||
|
||||
[Required]
|
||||
public string RepositoryId { get; set; }
|
||||
|
||||
[Required]
|
||||
public string PathOfPackageToUpload { get; set; }
|
||||
|
||||
[Required]
|
||||
public string PackageNameInLinuxPackageRepository { get; set; }
|
||||
|
||||
|
||||
[Required]
|
||||
public string PackageVersionInLinuxPackageRepository { get; set; }
|
||||
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
ExecuteAsyncWithRetry().GetAwaiter().GetResult();
|
||||
return true;
|
||||
}
|
||||
|
||||
private async System.Threading.Tasks.Task ExecuteAsyncWithRetry()
|
||||
{
|
||||
await ExponentialRetry.ExecuteWithRetry(
|
||||
UploadAndAddpackageAndEnsureItIsReady,
|
||||
s => s == "",
|
||||
maxRetryCount: 3,
|
||||
timer: () => ExponentialRetry.Timer(ExponentialRetry.Intervals),
|
||||
taskDescription: $"running {nameof(UploadAndAddpackageAndEnsureItIsReady)}");
|
||||
}
|
||||
|
||||
private async Task<string> UploadAndAddpackageAndEnsureItIsReady()
|
||||
{
|
||||
try
|
||||
{
|
||||
Log.LogMessage(
|
||||
MessageImportance.High,
|
||||
"Begin uploading Linux Package to feed service, RepositoryId {0}, Server {1}, Package to upload {2}.",
|
||||
RepositoryId,
|
||||
Server,
|
||||
PathOfPackageToUpload);
|
||||
|
||||
var linuxPackageRepositoryDestiny =
|
||||
new LinuxPackageRepositoryDestiny(Username, Password, Server, RepositoryId);
|
||||
var uploadResponse = await new LinuxPackageRepositoryHttpPrepare(
|
||||
linuxPackageRepositoryDestiny,
|
||||
new FileUploadStrategy(PathOfPackageToUpload)).RemoteCall();
|
||||
|
||||
var idInRepositoryService = new IdInRepositoryService(JObject.Parse(uploadResponse)["id"].ToString());
|
||||
|
||||
var addPackageResponse = await new LinuxPackageRepositoryHttpPrepare(
|
||||
linuxPackageRepositoryDestiny,
|
||||
new AddPackageStrategy(
|
||||
idInRepositoryService,
|
||||
PackageNameInLinuxPackageRepository,
|
||||
PackageVersionInLinuxPackageRepository,
|
||||
linuxPackageRepositoryDestiny.RepositoryId)).RemoteCall();
|
||||
|
||||
var queueResourceLocation = new QueueResourceLocation(addPackageResponse);
|
||||
|
||||
Func<Task<string>> pullQueuedPackageStatus = new LinuxPackageRepositoryHttpPrepare(
|
||||
linuxPackageRepositoryDestiny,
|
||||
new PullQueuedPackageStatus(queueResourceLocation)).RemoteCall;
|
||||
|
||||
await ExponentialRetry.ExecuteWithRetry(
|
||||
pullQueuedPackageStatus,
|
||||
s => s == "fileReady",
|
||||
5,
|
||||
() => ExponentialRetry.Timer(ExponentialRetry.Intervals),
|
||||
$"PullQueuedPackageStatus location: {queueResourceLocation.Location}");
|
||||
|
||||
Log.LogMessage(
|
||||
MessageImportance.High,
|
||||
"Upload to feed service is completed, queue resource location {0}",
|
||||
queueResourceLocation.Location);
|
||||
|
||||
return "";
|
||||
}
|
||||
catch (FailedToAddPackageToPackageRepositoryException e)
|
||||
{
|
||||
return e.ToString();
|
||||
}
|
||||
catch (HttpRequestException e)
|
||||
{
|
||||
return e.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +1,4 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
||||
<PropertyGroup>
|
||||
<Description>Build scripts for dotnet-cli</Description>
|
||||
<VersionPrefix>1.0.0</VersionPrefix>
|
||||
|
@ -24,10 +23,12 @@
|
|||
<PackageReference Include="WindowsAzure.Storage" Version="7.2.1" />
|
||||
<PackageReference Include="NuGet.CommandLine.XPlat" Version="$(CLI_NuGet_Version)" />
|
||||
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="$(CLI_MSBuild_Version)" />
|
||||
<PackageReference Include="Microsoft.Build.Runtime" Version="$(CLI_MSBuild_Version)" />
|
||||
|
||||
<!-- This dependency was added due to an issue in restore where a lower version of this package coming from nuget.commandline.xplat
|
||||
led to an error. This is tracked as NuGet issue : https://github.com/NuGet/Home/issues/4213 -->
|
||||
<PackageReference Include="Microsoft.Build.Framework" Version="$(CLI_MSBuild_Version)" />
|
||||
<PackageReference Include="Microsoft.DotNet.PlatformAbstractions" Version="$(PlatformAbstractionsVersion)" />
|
||||
<PackageReference Include="Microsoft.DotNet.PlatformAbstractions" Version="2.0.0" />
|
||||
<PackageReference Include="Microsoft.DotNet.VersionTools" Version="$(VersionToolsVersion)" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue