Merged PR 525925: Avoid VisualCppTools.Community.VS2017Layout dependency download on non-windows hosts

Avoid getting VisualCppTools.Community.VS2017Layout on non-windows hosts.
This commit is contained in:
Kristijan Simic 2019-12-24 02:12:31 +00:00
Родитель 2b93a86b35
Коммит 5d05aefc79
5 изменённых файлов: 62 добавлений и 21 удалений

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

@ -0,0 +1,21 @@
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
import {Transformer} from "Sdk.Transformers";
// This is an dummy facade for the VisualCppTools.Community.VS2017Layout package,
// it's used to avoid downloading the package on non-windows systems
namespace Contents {
export declare const qualifier: {
};
@@public
export const all: StaticDirectory = Transformer.sealDirectory({
root: d`.`,
files: []
});
}
@@public
export const pkg: NugetPackage = {contents: Contents.all, dependencies: []};

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

@ -0,0 +1,7 @@
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
module({
name: "VisualCppTools.Community.VS2017Layout",
nameResolutionSemantics: NameResolutionSemantics.implicitProjectReferences,
});

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

@ -32,7 +32,9 @@ namespace Native {
@@public
export const nativeWin = [
...addIfLazy(qualifier.targetRuntime === "win-x64", () => [ importFrom("BuildXL.Sandbox.Windows").Deployment.natives ])
...addIfLazy(qualifier.targetRuntime === "win-x64" && Context.getCurrentHost().os === "win", () => [
importFrom("BuildXL.Sandbox.Windows").Deployment.natives
])
];
@@public

10
bxl.sh
Просмотреть файл

@ -14,6 +14,7 @@ declare arg_DeployDevRelease=""
declare arg_UseDev=""
declare arg_Minimal=""
declare arg_Internal=""
declare arg_Cgmanifest=""
function findMono() {
local monoLocation=$(which mono)
@ -66,7 +67,6 @@ function setInternal() {
function compileWithBxl() {
local args=(
--config "$MY_DIR/config.dsc"
/generateCgManifestForNugets:"${MY_DIR}/cg/nuget/cgmanifest.json"
/fancyConsoleMaxStatusPips:10
/exp:LazySODeletion
/nowarn:11319 # DX11319: nuget version mismatch
@ -115,6 +115,10 @@ function parseArgs() {
arg_Internal="1"
shift
;;
--cgmanifest)
arg_Cgmanifest="1"
shift
;;
*)
arg_Positional+=("$1")
shift
@ -148,6 +152,10 @@ if [[ -n "$arg_Internal" ]]; then
setInternal $@
fi
if [[ -n "$arg_Cgmanifest" ]]; then
arg_Positional+=(/generateCgManifestForNugets:"${MY_DIR}/cg/nuget/cgmanifest.json")
fi
if [[ -n "$arg_UseDev" ]]; then
if [[ ! -f $MY_DIR/Out/Selfhost/Dev/bxl ]]; then
print_error "Error: Could not find the dev deployment. Make sure you build with --deploy-dev first."

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

@ -30,6 +30,9 @@ config({
f`Public/Sdk/Public/Prelude/package.config.dsc`, // Prelude cannot be named module because it is a v1 module
f`Public/Sdk/Public/Transformers/package.config.dsc`, // Transformers cannot be renamed yet because office relies on the filename
...globR(d`Public/Sdk`, "module.config.dsc"),
...addIf(Context.getCurrentHost().os !== "win",
f`private/Facades/VisualCppTools.Community.VS2017Layout/module.config.dsc`
),
]
},
{
@ -135,7 +138,7 @@ config({
{ id: "NuGet.Versioning", version: "4.6.0" }, // Can't use the latest becuase nuget extracts to folder with metadata which we don't support yet.
// Cpp Sdk
{ id: "VisualCppTools.Community.VS2017Layout", version: "14.11.25506"},
...(Context.getCurrentHost().os === "win" ? [{ id: "VisualCppTools.Community.VS2017Layout", version: "14.11.25506"}] : []),
// ProjFS (virtual file system)
{ id: "Microsoft.Windows.ProjFS", version: "1.0.19079.1" },