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 - name: BxlScriptArgs
value: -UseAdoBuildRunner -SharedCacheMode ConsumeAndPublish -Use Dev -DevRoot $(Domino.DogfoodPackagePath)\release\win-x64 value: -UseAdoBuildRunner -SharedCacheMode ConsumeAndPublish -Use Dev -DevRoot $(Domino.DogfoodPackagePath)\release\win-x64
- name: BuildXLArgs - 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 - name: Codeql.Enabled
value: false value: false
pool: pool:

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

@ -16,4 +16,4 @@ jobs:
continueOnError: true continueOnError: true
displayName: Upload built engine for validations to consume 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: >- buildXLArguments: >-
--use-dev --use-dev
/q:ReleaseLinux /q:ReleaseLinux
/q:ReleaseLinuxNet8
${{ parameters.BxlCommonArgs }} ${{ parameters.BxlCommonArgs }}
"/f:tag='test'" "/f:tag='test'"
/logToKusto /logToKusto

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

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

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

@ -154,7 +154,7 @@ jobs:
inputs: inputs:
targetType: filePath targetType: filePath
filePath: ./RunBxlWithPat.ps1 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 - task: PublishPipelineArtifact@1
displayName: Upload -Deploy Dev logs displayName: Upload -Deploy Dev logs
@ -188,7 +188,7 @@ jobs:
- task: CmdLine@2 - task: CmdLine@2
displayName: BuildXL -Use Dev (microsoftInternal=0) displayName: BuildXL -Use Dev (microsoftInternal=0)
inputs: 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 - task: PublishPipelineArtifact@1
displayName: Upload -Use Dev logs displayName: Upload -Use Dev logs

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

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

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

@ -61,7 +61,7 @@ jobs:
inputs: inputs:
filename: bxl.cmd filename: bxl.cmd
arguments: >- 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 /q:Release
/p:[BuildXL.Branding]SemanticVersion=$(BuildXL.SemanticVersion) /p:[BuildXL.Branding]SemanticVersion=$(BuildXL.SemanticVersion)
/p:[BuildXL.Branding]PrereleaseTag=$(BuildXL.PreReleaseTag) /p:[BuildXL.Branding]PrereleaseTag=$(BuildXL.PreReleaseTag)

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

@ -5,7 +5,7 @@
```bash ```bash
# install packages # install packages
sudo apt-get update 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 # link libdl.so
sudo ln -vs /lib/x86_64-linux-gnu/libdl.so.2 /usr/lib/x86_64-linux-gnu/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 { namespace TargetFrameworks {
@@public @@public
export const DefaultTargetFramework = "net7.0"; export const DefaultTargetFramework = "net8.0";
@@public @@public
export type DesktopTargetFrameworks = "net472"; export type DesktopTargetFrameworks = "net472";
@ -129,21 +129,21 @@ namespace TargetFrameworks {
@@public @@public
export interface Current extends Qualifier { export interface Current extends Qualifier {
configuration: "debug" | "release"; configuration: "debug" | "release";
targetFramework: "net7.0", targetFramework: "net8.0",
targetRuntime: "win-x64" | "osx-x64" | "linux-x64", targetRuntime: "win-x64" | "osx-x64" | "linux-x64",
} }
@@public @@public
export interface CurrentWithStandard extends Qualifier { export interface CurrentWithStandard extends Qualifier {
configuration: "debug" | "release"; configuration: "debug" | "release";
targetFramework: "net7.0" | "netstandard2.0", targetFramework: "net8.0" | "netstandard2.0",
targetRuntime: "win-x64" | "osx-x64" | "linux-x64", targetRuntime: "win-x64" | "osx-x64" | "linux-x64",
} }
@@public @@public
export const current : Current = { export const current : Current = {
configuration: qualifier.configuration, configuration: qualifier.configuration,
targetFramework: "net7.0", targetFramework: "net8.0",
targetRuntime: targetRuntime:
Context.getCurrentHost().os === "win" ? "win-x64" : Context.getCurrentHost().os === "win" ? "win-x64" :
Context.getCurrentHost().os === "macOS" ? "osx-x64" : Context.getCurrentHost().os === "macOS" ? "osx-x64" :

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

@ -267,14 +267,19 @@ export function compile(inputArgs: Arguments) : Result {
*/ */
export function getDotNetCoreVersion(cscArguments: Arguments): Shared.DotNetCoreVersion { export function getDotNetCoreVersion(cscArguments: Arguments): Shared.DotNetCoreVersion {
if (!cscArguments.defines) { if (!cscArguments.defines) {
return "net7.0"; return "net8.0";
} }
if (cscArguments.defines.some(e => e === "NET8_0")) { if (cscArguments.defines.some(e => e === "NET8_0")) {
return "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 // 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 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`)))); const srmDirectories = credScanToolDirectories.mapMany(d => credScanTfms.map(tfm => Directory.fromPath(d.path.combine(r`lib/${tfm}/SRM`))));
for (let i = 0; i < numCredScanCalls; i++) { for (let i = 0; i < numCredScanCalls; i++) {

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

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

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

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

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

@ -18,12 +18,12 @@ namespace StandardSdk.Workflow {
autoFixLkgs: false 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 // 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. // task. The absolute path is sensitive to the qualifier used to run the test.
const shouldRunNuGetTest = Context.getCurrentHost().os === "win" const shouldRunNuGetTest = Context.getCurrentHost().os === "win"
&& qualifier.targetRuntime === "win-x64" && qualifier.targetRuntime === "win-x64"
&& qualifier.targetFramework === "net7.0" && qualifier.targetFramework === "net8.0"
&& qualifier.configuration === "debug"; && qualifier.configuration === "debug";
export const nugetTest = shouldRunNuGetTest && BuildXLSdk.sdkTest({ export const nugetTest = shouldRunNuGetTest && BuildXLSdk.sdkTest({

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

@ -44,8 +44,8 @@ Transformer.writeFile(
" </packageRestore>", " </packageRestore>",
" <packageSources>", " <packageSources>",
" <clear />", " <clear />",
" <add key=\"PackageA\" value=\"B:\\Out\\Objects\\0\\m\\ehkmnnbjp8jg881dopm0cvkc\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\src\\distrib\\PackageA\" />", " <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\\m\\ehkmnnbjp8jg881dopm0cvkc\\t_2\\Test_Workflow_NuGet\\runNuGetRestoreTask\\src\\distrib\\PackageB\" />", " <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\" />", " <add key=\"MyFeed\" value=\"https://myfeed.pkgs.visualstudio.com/DefaultCollection/_packaging/MyFeed/nuget/v3/index.json\" />",
" </packageSources>", " </packageSources>",
" <packageSourceMapping>", " <packageSourceMapping>",
@ -77,10 +77,10 @@ Transformer.writeFile(
separator: "\r\n", separator: "\r\n",
items: [ items: [
"@ECHO OFF", "@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", "\"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\\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\\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\\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\\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\\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\"", "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 (", "IF %ERRORLEVEL% NEQ 0 (",
" EXIT /b %ERRORLEVEL%", " EXIT /b %ERRORLEVEL%",
")", ")",

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

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

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

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

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

@ -41,7 +41,7 @@ namespace BuildXL {
@@public @@public
export const deployed = BuildXLSdk.DeploymentHelpers.deploy({ export const deployed = BuildXLSdk.DeploymentHelpers.deploy({
definition: deployment, 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.targetRuntime}`
: r`${qualifier.configuration}/${qualifier.targetFramework}/${qualifier.targetRuntime}`, : r`${qualifier.configuration}/${qualifier.targetFramework}/${qualifier.targetRuntime}`,
}); });

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

@ -86,7 +86,7 @@ namespace Tools {
const deployed = BuildXLSdk.DeploymentHelpers.deploy({ const deployed = BuildXLSdk.DeploymentHelpers.deploy({
definition: deployment, 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.configuration}/tools/DistributedBuildRunner/${frameworkSpecificPart}`
: r`${qualifier.targetFramework}/${qualifier.configuration}/tools/DistributedBuildRunner/${qualifier.targetRuntime}` : r`${qualifier.targetFramework}/${qualifier.configuration}/tools/DistributedBuildRunner/${qualifier.targetRuntime}`
}); });

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

@ -47,15 +47,17 @@ namespace MsBuild {
}, },
{ {
subfolder: r`tools/vbcslogger/dotnetcore`, 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 contents: [importFrom("BuildXL.Tools").VBCSCompilerLogger
.withQualifier({ targetFramework: Managed.TargetFrameworks.DefaultTargetFramework }).dll] .withQualifier({ targetFramework: "net7.0" }).dll]
}, },
{ {
subfolder: r`tools`, subfolder: r`tools`,
// For the dotnet case, we are only deploying the tool for net7 // For the dotnet case, we are only deploying the tool for net7
// TODO: Remove condition when we stop building for net6.0 // TODO: Remove condition when we stop building for net6.0
contents: [qualifier.targetFramework === "net6.0" || qualifier.targetFramework === "net8.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], : importFrom("BuildXL.Tools").MsBuildGraphBuilder.deployment],
} }
] ]

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

@ -49,7 +49,8 @@ namespace Test.MsBuild {
runtimeContent: [ runtimeContent: [
// We need both the full framework and dotnet core versions of MSBuild, plus dotnet.exe for the dotnet core case // 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: "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", subfolder: "dotnet",
contents: Frameworks.Helpers.getDotNetToolTemplate('net7.0').dependencies 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 // For the dotnet case, we are only deploying the tool for net7
// TODO: Remove condition when we stop building for net6.0 // TODO: Remove condition when we stop building for net6.0
contents: [qualifier.targetFramework === "net6.0" || qualifier.targetFramework === "net8.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] : importFrom("BuildXL.Tools").MsBuildGraphBuilder.deployment]
}, },
{ {

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

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

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

@ -26,7 +26,7 @@ namespace TestProcess {
subfolder: r`TestProcess/Win`, subfolder: r`TestProcess/Win`,
contents: [ contents: [
$.withQualifier({ $.withQualifier({
targetFramework: "net7.0", targetFramework: "net8.0",
targetRuntime: "win-x64" targetRuntime: "win-x64"
}).testProcessExe }).testProcessExe
] ]
@ -37,7 +37,7 @@ namespace TestProcess {
subfolder: r`TestProcess/MacOs`, subfolder: r`TestProcess/MacOs`,
contents: [ contents: [
$.withQualifier({ $.withQualifier({
targetFramework: "net7.0", targetFramework: "net8.0",
targetRuntime: "osx-x64" targetRuntime: "osx-x64"
}).testProcessExe, }).testProcessExe,
@ -52,12 +52,12 @@ namespace TestProcess {
subfolder: r`TestProcess/Unix`, subfolder: r`TestProcess/Unix`,
contents: [ contents: [
$.withQualifier({ $.withQualifier({
targetFramework: "net7.0", targetFramework: "net8.0",
targetRuntime: "linux-x64" targetRuntime: "linux-x64"
}).testProcessExe, }).testProcessExe,
// CODESYNC: Public\Src\Utilities\UnitTests\Executables\TestProcess\Operation.cs // CODESYNC: Public\Src\Utilities\UnitTests\Executables\TestProcess\Operation.cs
VFork.withQualifier({ VFork.withQualifier({
targetFramework: "net7.0", targetFramework: "net8.0",
targetRuntime: "linux-x64" targetRuntime: "linux-x64"
}).exe }).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 if [[ "$DISTRIB_RELEASE" == "22.04" ]]; then
debugprint "Attempting to symlink libdl.so" 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 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 fi
if [[ "$DISTRIB_RELEASE" == "20.04" ]]; then 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 # stores user-specified args that are not used by this script; added to the end of command line
declare arg_UserProvidedBxlArguments=() declare arg_UserProvidedBxlArguments=()
declare arg_DeployDev="" declare arg_DeployDev=""
# a temporary option to deploy net8 bits
declare arg_DeployDevNet8=""
declare arg_UseDev="" declare arg_UseDev=""
declare arg_Minimal="" declare arg_Minimal=""
declare arg_Internal="" declare arg_Internal=""
@ -70,12 +68,7 @@ function getLkg() {
} }
function setMinimal() { function setMinimal() {
if [[ -n "$arg_DeployDevNet8" ]]; then arg_Positional+=("/q:${configuration}${HostQualifier} /f:output='$MY_DIR/Out/Bin/${outputConfiguration}/${DeploymentFolder}/*'")
# 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
} }
function setInternal() { function setInternal() {
@ -113,7 +106,7 @@ function compileWithBxl() {
} }
function printHelp() { 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() { function parseArgs() {
@ -131,10 +124,6 @@ function parseArgs() {
arg_DeployDev="1" arg_DeployDev="1"
shift shift
;; ;;
--deploy-dev-net8)
arg_DeployDevNet8="1"
shift
;;
--use-dev) --use-dev)
arg_UseDev="1" arg_UseDev="1"
shift shift
@ -305,11 +294,6 @@ pushd "$MY_DIR"
parseArgs "$@" 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) }'` outputConfiguration=`printf '%s' "$configuration" | awk '{ print tolower($0) }'`
if [[ -n "$arg_Internal" && -n "$TF_BUILD" ]]; then if [[ -n "$arg_Internal" && -n "$TF_BUILD" ]]; then
@ -318,7 +302,7 @@ fi
findMono findMono
if [[ -n "$arg_DeployDev" || -n "$arg_DeployDevNet8" || -n "$arg_Minimal" ]]; then if [[ -n "$arg_DeployDev" || -n "$arg_Minimal" ]]; then
setMinimal setMinimal
fi fi
@ -402,8 +386,6 @@ compileWithBxl ${arg_Positional[@]} ${arg_UserProvidedBxlArguments[@]}
if [[ -n "$arg_DeployDev" ]]; then if [[ -n "$arg_DeployDev" ]]; then
deployBxl "$MY_DIR/Out/Bin/${outputConfiguration}/${DeploymentFolder}" "$MY_DIR/Out/Selfhost/Dev" 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 fi
popd popd

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

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