Merged PR 774575: Make Net8 default qualifier

Make Net8 default qualifier

Related work items: #2156466
This commit is contained in:
Oleksii Kononenko 2024-03-21 22:06:06 +00:00
Родитель bee92f3dc0
Коммит da67e1d298
26 изменённых файлов: 60 добавлений и 74 удалений

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

@ -25,7 +25,7 @@ variables:
- name: BxlScriptArgs
value: -UseAdoBuildRunner -SharedCacheMode ConsumeAndPublish -Use Dev -DevRoot $(Domino.DogfoodPackagePath)\release\win-x64
- name: BuildXLArgs
value: /q:ReleaseNet7 /server- /p:[Sdk.BuildXL]microsoftInternal=1 /p:BUILDXL_FINGERPRINT_SALT=* /dynamicBuildWorkerSlots:2 /p:BuildXLWorkerAttachTimeoutMin=5 /logOutput:FullOutputOnWarningOrError /p:RetryXunitTests=1 /processRetries:3 /traceinfo:valdation=ReleasePipelineDistribution /enableIncrementalFrontEnd- /p:xunitSemaphoreCount=12
value: /q:ReleaseNet8 /server- /p:[Sdk.BuildXL]microsoftInternal=1 /p:BUILDXL_FINGERPRINT_SALT=* /dynamicBuildWorkerSlots:2 /p:BuildXLWorkerAttachTimeoutMin=5 /logOutput:FullOutputOnWarningOrError /p:RetryXunitTests=1 /processRetries:3 /traceinfo:valdation=ReleasePipelineDistribution /enableIncrementalFrontEnd- /p:xunitSemaphoreCount=12
- name: Codeql.Enabled
value: false
pool:

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

@ -16,4 +16,4 @@ jobs:
continueOnError: true
displayName: Upload built engine for validations to consume
buildXLArguments: --minimal --deploy-dev-net8 --release ${{ parameters.BxlCommonArgs }}
buildXLArguments: --minimal --deploy-dev --release ${{ parameters.BxlCommonArgs }}

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

@ -14,7 +14,6 @@ jobs:
buildXLArguments: >-
--use-dev
/q:ReleaseLinux
/q:ReleaseLinuxNet8
${{ parameters.BxlCommonArgs }}
"/f:tag='test'"
/logToKusto

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

@ -63,7 +63,7 @@ extends:
- template: /.azdo/linux/job-selfhost.yml@self
parameters:
BxlCommonArgs: --shared-comp ${{ parameters.BxlCommonArgs }}
- stage: Verify_PTrace
displayName: PTrace validation
dependsOn: Bootstrap_Internal

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

@ -154,7 +154,7 @@ jobs:
inputs:
targetType: filePath
filePath: ./RunBxlWithPat.ps1
arguments: -minimal -deploy Dev -deployconfig Release -OneEsPat $(PAT-TseBuild-AzureDevOps-1esSharedAssets-Package-Read) -CbPat $(PAT-TseBuild-AzureDevOps-CloudBuild-Packaging-Read) -MsEngGitPat $(PAT-TseBuild-AzureDevOps-MsEng-ReadCode) -VstsPat $(PAT-TseBuild-AzureDevOps-mseng-buildcache) -CacheNamespace BuildXL.Public -SharedCacheMode ConsumeAndPublish /p:[Sdk.BuildXL]microsoftInternal=1 /q:ReleaseNet7 /p:[BuildXL.Branding]SemanticVersion=$(BuildXL.SemanticVersion) /p:[BuildXL.Branding]PrereleaseTag=$(BuildXL.PreReleaseTag) /server- /logOutput:FullOutputOnWarningOrError /traceInfo:prvalidation=Public /ado /scrubDirectory:Out\objects /logsDirectory:$(BuildXL.LogsDirectory.LKG) /cachemiss:[BxlPublicValidation]
arguments: -minimal -deploy Dev -deployconfig Release -OneEsPat $(PAT-TseBuild-AzureDevOps-1esSharedAssets-Package-Read) -CbPat $(PAT-TseBuild-AzureDevOps-CloudBuild-Packaging-Read) -MsEngGitPat $(PAT-TseBuild-AzureDevOps-MsEng-ReadCode) -VstsPat $(PAT-TseBuild-AzureDevOps-mseng-buildcache) -CacheNamespace BuildXL.Public -SharedCacheMode ConsumeAndPublish /p:[Sdk.BuildXL]microsoftInternal=1 /q:ReleaseNet8 /p:[BuildXL.Branding]SemanticVersion=$(BuildXL.SemanticVersion) /p:[BuildXL.Branding]PrereleaseTag=$(BuildXL.PreReleaseTag) /server- /logOutput:FullOutputOnWarningOrError /traceInfo:prvalidation=Public /ado /scrubDirectory:Out\objects /logsDirectory:$(BuildXL.LogsDirectory.LKG) /cachemiss:[BxlPublicValidation]
- task: PublishPipelineArtifact@1
displayName: Upload -Deploy Dev logs
@ -188,7 +188,7 @@ jobs:
- task: CmdLine@2
displayName: BuildXL -Use Dev (microsoftInternal=0)
inputs:
script: 'bxl.cmd -Use Dev -UseBlobL3 -SharedCacheMode ConsumeAndPublish -CacheNamespace BuildXL.Public.Validation /p:[Sdk.BuildXL]microsoftInternal=0 /server- /ado /q:$(BuildXL.Configuration)Net7 /q:$(BuildXL.Configuration)DotNetCoreMac /logOutput:FullOutputOnWarningOrError /p:RetryXunitTests=1 /processRetries:3 /traceInfo:prvalidation=PublicLKG /p:xunitSemaphoreCount=12 /logsDirectory:$(BuildXL.LogsDirectory) /scrubDirectory:Out\objects /pipTimeoutMultiplier:2'
script: 'bxl.cmd -Use Dev -UseBlobL3 -SharedCacheMode ConsumeAndPublish -CacheNamespace BuildXL.Public.Validation /p:[Sdk.BuildXL]microsoftInternal=0 /server- /ado /q:$(BuildXL.Configuration)Net8 /q:$(BuildXL.Configuration)DotNetCoreMac /logOutput:FullOutputOnWarningOrError /p:RetryXunitTests=1 /processRetries:3 /traceInfo:prvalidation=PublicLKG /p:xunitSemaphoreCount=12 /logsDirectory:$(BuildXL.LogsDirectory) /scrubDirectory:Out\objects /pipTimeoutMultiplier:2'
- task: PublishPipelineArtifact@1
displayName: Upload -Use Dev logs

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

@ -62,8 +62,8 @@ jobs:
additionalFlags: >-
/q:DebugNet472
/q:ReleaseNet472
/q:ReleaseNet7
/q:DebugNet7
/q:ReleaseNet8
/q:DebugNet8
/p:[Sdk.BuildXL]useManagedSharedCompilation=1
/p:[BuildXL.Branding]PrereleaseTag=devBuild
/p:[Sdk.BuildXL]microsoftInternal=1

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

@ -61,7 +61,7 @@ jobs:
inputs:
filename: bxl.cmd
arguments: >-
/f:output='out/bin/release/public/pkgs/Microsoft.BuildXL.win-x64.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.win-x64-net7.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.Cache.Hashing.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.Cache.Interfaces.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.Cache.Tools.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.Cache.Libraries.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.Utilities.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.Utilities.Core.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.Native.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.Processes.$(Build.BuildNumber).nupkg'
/f:output='out/bin/release/public/pkgs/Microsoft.BuildXL.win-x64.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.Cache.Hashing.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.Cache.Interfaces.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.Cache.Tools.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.Cache.Libraries.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.Utilities.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.Utilities.Core.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.Native.$(Build.BuildNumber).nupkg'oroutput='out/bin/release/public/pkgs/Microsoft.BuildXL.Processes.$(Build.BuildNumber).nupkg'
/q:Release
/p:[BuildXL.Branding]SemanticVersion=$(BuildXL.SemanticVersion)
/p:[BuildXL.Branding]PrereleaseTag=$(BuildXL.PreReleaseTag)

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

@ -5,7 +5,7 @@
```bash
# install packages
sudo apt-get update
sudo apt-get install –y git build-essential mono-devel mono-complete libc6-dev openssh-server curl dotnet7
sudo apt-get install –y git build-essential mono-devel mono-complete libc6-dev openssh-server curl dotnet8
# link libdl.so
sudo ln -vs /lib/x86_64-linux-gnu/libdl.so.2 /usr/lib/x86_64-linux-gnu/libdl.so

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

@ -83,7 +83,7 @@ export function isDotNetCore(targetFramework: TargetFrameworks.AllFrameworks) :
namespace TargetFrameworks {
@@public
export const DefaultTargetFramework = "net7.0";
export const DefaultTargetFramework = "net8.0";
@@public
export type DesktopTargetFrameworks = "net472";
@ -129,21 +129,21 @@ namespace TargetFrameworks {
@@public
export interface Current extends Qualifier {
configuration: "debug" | "release";
targetFramework: "net7.0",
targetFramework: "net8.0",
targetRuntime: "win-x64" | "osx-x64" | "linux-x64",
}
@@public
export interface CurrentWithStandard extends Qualifier {
configuration: "debug" | "release";
targetFramework: "net7.0" | "netstandard2.0",
targetFramework: "net8.0" | "netstandard2.0",
targetRuntime: "win-x64" | "osx-x64" | "linux-x64",
}
@@public
export const current : Current = {
configuration: qualifier.configuration,
targetFramework: "net7.0",
targetFramework: "net8.0",
targetRuntime:
Context.getCurrentHost().os === "win" ? "win-x64" :
Context.getCurrentHost().os === "macOS" ? "osx-x64" :

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

@ -267,14 +267,19 @@ export function compile(inputArgs: Arguments) : Result {
*/
export function getDotNetCoreVersion(cscArguments: Arguments): Shared.DotNetCoreVersion {
if (!cscArguments.defines) {
return "net7.0";
return "net8.0";
}
if (cscArguments.defines.some(e => e === "NET8_0")) {
return "net8.0";
}
return "net7.0";
// Now we can check whether net7 symbol is present.
if (cscArguments.defines.some(e => e === "NET7_0")) {
return "net7.0";
}
return "net8.0";
}
/**

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

@ -19,7 +19,7 @@ export function addCredScanCalls(rootDirectory : Directory, guardianToolRoot : S
// Since "latest" is used as the version for the credscan tool, we will not know which directory to untrack ahead of time
const credScanToolDirectories = globFolders(d`${packageDirectory.path}/nuget`, "Microsoft.Security.CredScan.Client*");
const credScanTfms = ["netcoreapp2.1", "netcoreapp3.1", "net6.0", "net7.0"];
const credScanTfms = ["netcoreapp2.1", "netcoreapp3.1", "net6.0", "net7.0", "net8.0"];
const srmDirectories = credScanToolDirectories.mapMany(d => credScanTfms.map(tfm => Directory.fromPath(d.path.combine(r`lib/${tfm}/SRM`))));
for (let i = 0; i < numCredScanCalls; i++) {

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

@ -42,7 +42,7 @@ export const defaultArgs: Arguments = {
outputFile: undefined,
references: [],
sources: [],
targetFramework: "net7.0",
targetFramework: "net8.0",
targetRuntime: "win-x64",
};

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

@ -68,8 +68,7 @@ namespace DeploymentHelpers {
export const enabled = Environment.hasVariable("BUILDXL_DROP_ENABLED") ? Environment.getBooleanValue("BUILDXL_DROP_ENABLED") : false;
/** The runner that preforms the upload */
// TODO ST: add support for .net7
export const runner = enabled ? DropDaemonRunner.withQualifier({configuration: "release", targetFramework: "net6.0", targetRuntime: "win-x64"}).cloudBuildRunner : undefined;
export const runner = enabled ? DropDaemonRunner.withQualifier({configuration: "release", targetFramework: "net8.0", targetRuntime: "win-x64"}).cloudBuildRunner : undefined;
/** The settings for this drop */
const settings = {
@ -111,14 +110,12 @@ namespace DeploymentHelpers {
: false;
/** The runner that preforms the publishing */
// TODO ST: add support for .net7
export const runner = enabled ? SymbolDaemon.withQualifier({configuration: "release", targetFramework: "net6.0", targetRuntime: "win-x64"}).cloudBuildRunner : undefined;
export const runner = enabled ? SymbolDaemon.withQualifier({configuration: "release", targetFramework: "net8.0", targetRuntime: "win-x64"}).cloudBuildRunner : undefined;
/** The settings for this symbol publishing request */
const settings : SymbolDaemon.SymbolCreateArguments = {
debugEntryCreateBehavior : enabled
// TODO ST: add support for .net7
? SymbolDaemon.withQualifier({configuration: "release", targetFramework: "net6.0", targetRuntime: "win-x64"}).DebugEntryCreateBehavior.SkipIfExists
? SymbolDaemon.withQualifier({configuration: "release", targetFramework: "net8.0", targetRuntime: "win-x64"}).DebugEntryCreateBehavior.SkipIfExists
: undefined,
symbolServiceConfigFile: Environment.getFileValue("BUILDXL_SYMBOL_CONFIG")
};

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

@ -18,12 +18,12 @@ namespace StandardSdk.Workflow {
autoFixLkgs: false
});
// Only run this test on a specific qualifier: Windows x64, .NET 6.0, and debug configuration.
// Only run this test on a specific qualifier: Windows x64, .NET 8.0, and debug configuration.
// This is to avoid the test to fail on other platforms due to the use of absolute paths in the generated nuget.config when running the nuget restore
// task. The absolute path is sensitive to the qualifier used to run the test.
const shouldRunNuGetTest = Context.getCurrentHost().os === "win"
&& qualifier.targetRuntime === "win-x64"
&& qualifier.targetFramework === "net7.0"
&& qualifier.targetFramework === "net8.0"
&& qualifier.configuration === "debug";
export const nugetTest = shouldRunNuGetTest && BuildXLSdk.sdkTest({

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

@ -44,8 +44,8 @@ Transformer.writeFile(
" </packageRestore>",
" <packageSources>",
" <clear />",
" <add key=\"PackageA\" value=\"B:\\Out\\Objects\\0\\m\\ehkmnnbjp8jg881dopm0cvkc\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\src\\distrib\\PackageA\" />",
" <add key=\"PackageB\" value=\"B:\\Out\\Objects\\0\\m\\ehkmnnbjp8jg881dopm0cvkc\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\src\\distrib\\PackageB\" />",
" <add key=\"PackageA\" value=\"B:\\Out\\Objects\\0\\b\\gjk103a8844375xv7n0ybeth\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\src\\distrib\\PackageA\" />",
" <add key=\"PackageB\" value=\"B:\\Out\\Objects\\0\\b\\gjk103a8844375xv7n0ybeth\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\src\\distrib\\PackageB\" />",
" <add key=\"MyFeed\" value=\"https://myfeed.pkgs.visualstudio.com/DefaultCollection/_packaging/MyFeed/nuget/v3/index.json\" />",
" </packageSources>",
" <packageSourceMapping>",
@ -77,10 +77,10 @@ Transformer.writeFile(
separator: "\r\n",
items: [
"@ECHO OFF",
"\"B:\\Out\\Objects\\0\\m\\ehkmnnbjp8jg881dopm0cvkc\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\src\\ProgramFiles\\dotnet\\dotnet.exe\" msbuild \"B:\\Out\\Objects\\0\\m\\ehkmnnbjp8jg881dopm0cvkc\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\obj_test\\k\\w\\6k5ykzrovlnle3hdbgx4lv7q\\nugetRestore\\Dummy__for__nuget__restore.csproj\" -restore -nologo -interactive:False -property:RestoreConfigFile=B:\\Out\\Objects\\0\\m\\ehkmnnbjp8jg881dopm0cvkc\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\obj_test\\k\\w\\6k5ykzrovlnle3hdbgx4lv7q\\nugetRestore\\nuget.config;RestoreNoCache=true;RestorePackagesPath=B:\\Out\\Objects\\0\\m\\ehkmnnbjp8jg881dopm0cvkc\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\obj_test\\k\\w\\6k5ykzrovlnle3hdbgx4lv7q\\nugetPackages;OutputPath=B:\\Out\\Objects\\0\\m\\ehkmnnbjp8jg881dopm0cvkc\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\Out\\restore",
"IF EXIST \"B:\\Out\\Objects\\0\\m\\ehkmnnbjp8jg881dopm0cvkc\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\Out\\restore\\Dummy__for__nuget__restore.dll\" DEL /F \"B:\\Out\\Objects\\0\\m\\ehkmnnbjp8jg881dopm0cvkc\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\Out\\restore\\Dummy__for__nuget__restore.dll\"",
"IF EXIST \"B:\\Out\\Objects\\0\\m\\ehkmnnbjp8jg881dopm0cvkc\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\Out\\restore\\Dummy__for__nuget__restore.pdb\" DEL /F \"B:\\Out\\Objects\\0\\m\\ehkmnnbjp8jg881dopm0cvkc\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\Out\\restore\\Dummy__for__nuget__restore.pdb\"",
"IF EXIST \"B:\\Out\\Objects\\0\\m\\ehkmnnbjp8jg881dopm0cvkc\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\Out\\restore\\ref\" RMDIR /S /Q \"B:\\Out\\Objects\\0\\m\\ehkmnnbjp8jg881dopm0cvkc\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\Out\\restore\\ref\"",
"\"B:\\Out\\Objects\\0\\b\\gjk103a8844375xv7n0ybeth\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\src\\ProgramFiles\\dotnet\\dotnet.exe\" msbuild \"B:\\Out\\Objects\\0\\b\\gjk103a8844375xv7n0ybeth\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\obj_test\\k\\w\\6k5ykzrovlnle3hdbgx4lv7q\\nugetRestore\\Dummy__for__nuget__restore.csproj\" -restore -nologo -interactive:False -property:RestoreConfigFile=B:\\Out\\Objects\\0\\b\\gjk103a8844375xv7n0ybeth\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\obj_test\\k\\w\\6k5ykzrovlnle3hdbgx4lv7q\\nugetRestore\\nuget.config;RestoreNoCache=true;RestorePackagesPath=B:\\Out\\Objects\\0\\b\\gjk103a8844375xv7n0ybeth\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\obj_test\\k\\w\\6k5ykzrovlnle3hdbgx4lv7q\\nugetPackages;OutputPath=B:\\Out\\Objects\\0\\b\\gjk103a8844375xv7n0ybeth\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\Out\\restore",
"IF EXIST \"B:\\Out\\Objects\\0\\b\\gjk103a8844375xv7n0ybeth\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\Out\\restore\\Dummy__for__nuget__restore.dll\" DEL /F \"B:\\Out\\Objects\\0\\b\\gjk103a8844375xv7n0ybeth\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\Out\\restore\\Dummy__for__nuget__restore.dll\"",
"IF EXIST \"B:\\Out\\Objects\\0\\b\\gjk103a8844375xv7n0ybeth\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\Out\\restore\\Dummy__for__nuget__restore.pdb\" DEL /F \"B:\\Out\\Objects\\0\\b\\gjk103a8844375xv7n0ybeth\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\Out\\restore\\Dummy__for__nuget__restore.pdb\"",
"IF EXIST \"B:\\Out\\Objects\\0\\b\\gjk103a8844375xv7n0ybeth\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\Out\\restore\\ref\" RMDIR /S /Q \"B:\\Out\\Objects\\0\\b\\gjk103a8844375xv7n0ybeth\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\Out\\restore\\ref\"",
"IF %ERRORLEVEL% NEQ 0 (",
" EXIT /b %ERRORLEVEL%",
")",

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

@ -11,7 +11,7 @@ namespace IntegrationTest.BuildXL.Executable {
export declare const qualifier : {
configuration: "debug" | "release",
targetFramework: "net7.0",
targetFramework: "8.0",
targetRuntime: "win-x64"
};

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

@ -10,7 +10,7 @@ namespace Tests.MacOS {
const sharedBinFolderName = a`sharedbin`;
const tests = createAllDefs();
const defaultTargetFramework = "net7.0";
const defaultTargetFramework = "net8.0";
function createAllDefs() : TestDeploymentDefinition[] {
return [

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

@ -41,7 +41,7 @@ namespace BuildXL {
@@public
export const deployed = BuildXLSdk.DeploymentHelpers.deploy({
definition: deployment,
targetLocation: (qualifier.targetFramework === Managed.TargetFrameworks.DefaultTargetFramework) // If targetFramework is not a default one (net7.0), then we put it in a separate directory.
targetLocation: (qualifier.targetFramework === Managed.TargetFrameworks.DefaultTargetFramework) // If targetFramework is not a default one (net8.0), then we put it in a separate directory.
? r`${qualifier.configuration}/${qualifier.targetRuntime}`
: r`${qualifier.configuration}/${qualifier.targetFramework}/${qualifier.targetRuntime}`,
});

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

@ -86,7 +86,7 @@ namespace Tools {
const deployed = BuildXLSdk.DeploymentHelpers.deploy({
definition: deployment,
targetLocation: (qualifier.targetFramework === Managed.TargetFrameworks.DefaultTargetFramework) // If targetFramework is not a default one (net7.0), then we put it in a separate directory.
targetLocation: (qualifier.targetFramework === Managed.TargetFrameworks.DefaultTargetFramework) // If targetFramework is not a default one (net8.0), then we put it in a separate directory.
? r`${qualifier.configuration}/tools/DistributedBuildRunner/${frameworkSpecificPart}`
: r`${qualifier.targetFramework}/${qualifier.configuration}/tools/DistributedBuildRunner/${qualifier.targetRuntime}`
});

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

@ -47,15 +47,17 @@ namespace MsBuild {
},
{
subfolder: r`tools/vbcslogger/dotnetcore`,
// CODESYNC: qualifier in Public\Src\Tools\VBCSCompilerLogger\VBCSCompilerLogger.dsc
// TODO: Remove qualifier override once Net7QualifierWithNet472 is dealt with.
contents: [importFrom("BuildXL.Tools").VBCSCompilerLogger
.withQualifier({ targetFramework: Managed.TargetFrameworks.DefaultTargetFramework }).dll]
.withQualifier({ targetFramework: "net7.0" }).dll]
},
{
subfolder: r`tools`,
// For the dotnet case, we are only deploying the tool for net7
// TODO: Remove condition when we stop building for net6.0
contents: [qualifier.targetFramework === "net6.0" || qualifier.targetFramework === "net8.0"
? importFrom("BuildXL.Tools").MsBuildGraphBuilder.withQualifier({targetFramework: Managed.TargetFrameworks.DefaultTargetFramework}).deployment
? importFrom("BuildXL.Tools").MsBuildGraphBuilder.withQualifier({targetFramework: "net7.0"}).deployment
: importFrom("BuildXL.Tools").MsBuildGraphBuilder.deployment],
}
]

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

@ -49,7 +49,8 @@ namespace Test.MsBuild {
runtimeContent: [
// We need both the full framework and dotnet core versions of MSBuild, plus dotnet.exe for the dotnet core case
...importFrom("Sdk.Selfhost.MSBuild").withQualifier({targetFramework: "net472"}).deployment,
...importFrom("Sdk.Selfhost.MSBuild").withQualifier({targetFramework: Managed.TargetFrameworks.DefaultTargetFramework}).deployment,
// TODO: Use Managed.TargetFrameworks.DefaultTargetFramework once Net7QualifierWithNet472 is dealt with.
...importFrom("Sdk.Selfhost.MSBuild").withQualifier({targetFramework: "net7.0"}).deployment,
{
subfolder: "dotnet",
contents: Frameworks.Helpers.getDotNetToolTemplate('net7.0').dependencies
@ -59,7 +60,7 @@ namespace Test.MsBuild {
// For the dotnet case, we are only deploying the tool for net7
// TODO: Remove condition when we stop building for net6.0
contents: [qualifier.targetFramework === "net6.0" || qualifier.targetFramework === "net8.0"
? importFrom("BuildXL.Tools").MsBuildGraphBuilder.withQualifier({targetFramework: Managed.TargetFrameworks.DefaultTargetFramework}).deployment
? importFrom("BuildXL.Tools").MsBuildGraphBuilder.withQualifier({targetFramework: "net7.0"}).deployment
: importFrom("BuildXL.Tools").MsBuildGraphBuilder.deployment]
},
{

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

@ -10,7 +10,7 @@ export {BuildXLSdk, NetFx};
export interface VsCodeExtensionQualifier extends Qualifier {
configuration: "debug" | "release";
targetFramework: "net7.0";
targetFramework: "net8.0";
targetRuntime: "win-x64" | "osx-x64" | "linux-x64";
}

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

@ -26,7 +26,7 @@ namespace TestProcess {
subfolder: r`TestProcess/Win`,
contents: [
$.withQualifier({
targetFramework: "net7.0",
targetFramework: "net8.0",
targetRuntime: "win-x64"
}).testProcessExe
]
@ -37,7 +37,7 @@ namespace TestProcess {
subfolder: r`TestProcess/MacOs`,
contents: [
$.withQualifier({
targetFramework: "net7.0",
targetFramework: "net8.0",
targetRuntime: "osx-x64"
}).testProcessExe,
@ -52,12 +52,12 @@ namespace TestProcess {
subfolder: r`TestProcess/Unix`,
contents: [
$.withQualifier({
targetFramework: "net7.0",
targetFramework: "net8.0",
targetRuntime: "linux-x64"
}).testProcessExe,
// CODESYNC: Public\Src\Utilities\UnitTests\Executables\TestProcess\Operation.cs
VFork.withQualifier({
targetFramework: "net7.0",
targetFramework: "net8.0",
targetRuntime: "linux-x64"
}).exe
]

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

@ -59,7 +59,7 @@ sudo apt install -y git build-essential mono-devel mono-complete libc6-dev opens
if [[ "$DISTRIB_RELEASE" == "22.04" ]]; then
debugprint "Attempting to symlink libdl.so"
sudo ln -vs /lib/x86_64-linux-gnu/libdl.so.2 /usr/lib/x86_64-linux-gnu/libdl.so
sudo apt install -y dotnet7
sudo apt install -y dotnet8
fi
if [[ "$DISTRIB_RELEASE" == "20.04" ]]; then

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

@ -9,8 +9,6 @@ declare arg_Positional=()
# stores user-specified args that are not used by this script; added to the end of command line
declare arg_UserProvidedBxlArguments=()
declare arg_DeployDev=""
# a temporary option to deploy net8 bits
declare arg_DeployDevNet8=""
declare arg_UseDev=""
declare arg_Minimal=""
declare arg_Internal=""
@ -70,12 +68,7 @@ function getLkg() {
}
function setMinimal() {
if [[ -n "$arg_DeployDevNet8" ]]; then
# Net8 qualifiers are just default ones with 'net8' suffix
arg_Positional+=("/q:${configuration}${HostQualifier}Net8 /f:output='$MY_DIR/Out/Bin/${outputConfiguration}/net8.0/${DeploymentFolder}/*'")
else
arg_Positional+=("/q:${configuration}${HostQualifier} /f:output='$MY_DIR/Out/Bin/${outputConfiguration}/${DeploymentFolder}/*'")
fi
arg_Positional+=("/q:${configuration}${HostQualifier} /f:output='$MY_DIR/Out/Bin/${outputConfiguration}/${DeploymentFolder}/*'")
}
function setInternal() {
@ -113,7 +106,7 @@ function compileWithBxl() {
}
function printHelp() {
echo "${BASH_SOURCE[0]} [--deploy-dev] [--deploy-dev-net8] [--use-dev] [--minimal] [--internal] [--release] [--shared-comp] [--vs] [--use-adobuildrunner] [--runner-arg <arg-to-buildrunner>] [--test-method <full-test-method-name>] [--test-class <full-test-class-name>] <other-arguments>"
echo "${BASH_SOURCE[0]} [--deploy-dev] [--use-dev] [--minimal] [--internal] [--release] [--shared-comp] [--vs] [--use-adobuildrunner] [--runner-arg <arg-to-buildrunner>] [--test-method <full-test-method-name>] [--test-class <full-test-class-name>] <other-arguments>"
}
function parseArgs() {
@ -131,10 +124,6 @@ function parseArgs() {
arg_DeployDev="1"
shift
;;
--deploy-dev-net8)
arg_DeployDevNet8="1"
shift
;;
--use-dev)
arg_UseDev="1"
shift
@ -305,11 +294,6 @@ pushd "$MY_DIR"
parseArgs "$@"
if [[ -n "$arg_DeployDev" && -n "$arg_DeployDevNet8" ]]; then
print_error "Conflicting arguments. Cannot use both --deploy-dev and --deploy-dev-net8 at the same time."
exit 1
fi
outputConfiguration=`printf '%s' "$configuration" | awk '{ print tolower($0) }'`
if [[ -n "$arg_Internal" && -n "$TF_BUILD" ]]; then
@ -318,7 +302,7 @@ fi
findMono
if [[ -n "$arg_DeployDev" || -n "$arg_DeployDevNet8" || -n "$arg_Minimal" ]]; then
if [[ -n "$arg_DeployDev" || -n "$arg_Minimal" ]]; then
setMinimal
fi
@ -402,8 +386,6 @@ compileWithBxl ${arg_Positional[@]} ${arg_UserProvidedBxlArguments[@]}
if [[ -n "$arg_DeployDev" ]]; then
deployBxl "$MY_DIR/Out/Bin/${outputConfiguration}/${DeploymentFolder}" "$MY_DIR/Out/Selfhost/Dev"
elif [[ -n "$arg_DeployDevNet8" ]]; then
deployBxl "$MY_DIR/Out/Bin/${outputConfiguration}/net8.0/${DeploymentFolder}" "$MY_DIR/Out/Selfhost/Dev"
fi
popd

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

@ -484,7 +484,7 @@ config({
qualifiers: {
defaultQualifier: {
configuration: "debug",
targetFramework: "net7.0",
targetFramework: "net8.0",
targetRuntime:
Context.getCurrentHost().os === "win" ? "win-x64" :
Context.getCurrentHost().os === "macOS" ? "osx-x64" : "linux-x64",
@ -492,7 +492,7 @@ config({
namedQualifiers: {
Debug: {
configuration: "debug",
targetFramework: "net7.0",
targetFramework: "net8.0",
targetRuntime: "win-x64",
},
DebugNet472: {
@ -517,7 +517,7 @@ config({
},
DebugDotNetCoreMac: {
configuration: "debug",
targetFramework: "net7.0",
targetFramework: "net8.0",
targetRuntime: "osx-x64",
},
DebugDotNetCoreMacNet8: {
@ -527,7 +527,7 @@ config({
},
DebugLinux: {
configuration: "debug",
targetFramework: "net7.0",
targetFramework: "net8.0",
targetRuntime: "linux-x64",
},
DebugLinuxNet8: {
@ -538,7 +538,7 @@ config({
// Release
Release: {
configuration: "release",
targetFramework: "net7.0",
targetFramework: "net8.0",
targetRuntime: "win-x64",
},
ReleaseNet472: {
@ -563,7 +563,7 @@ config({
},
ReleaseDotNetCoreMac: {
configuration: "release",
targetFramework: "net7.0",
targetFramework: "net8.0",
targetRuntime: "osx-x64",
},
ReleaseDotNetCoreMacNet8: {
@ -573,7 +573,7 @@ config({
},
ReleaseLinux: {
configuration: "release",
targetFramework: "net7.0",
targetFramework: "net8.0",
targetRuntime: "linux-x64",
},
ReleaseLinuxNet8: {