Microsoft Build Accelerator
Перейти к файлу
Marcelo Lynch 🧉 1d0dc08a64 Merged PR 643482: Fix runtime failures in DropDaemon's GetSbomPackages
- Remove the `__ENABLE_SBOM_PACKAGE_CONVERSION` env variable. This was meant to guard against using this feature while the library had a bug that is already resolved, so not necessary anymore
- Microsoft.SBOM.Adapters and some other packages reference Newtonsoft.Json 13.0.1, while we were using 12.0.3 throughout. This was causing a failure when the runtime tried to load the assembly after calling the library. Version 13.0.1 is incompatible with earlier ones so a downgrading binding redirect is not possible. Instead, we deploy the drop daemon with Newtonsoft.Json version 13.0.1 and use "forward" binding redirects.
- Add some extra logging

With these changes, an end-to-end build where CG is run in the build runner and the packages are retrieved and added to the SPDX SBOM was successful: https://cbtest.microsoft.com/build/1d85303e-322e-4ddf-af1f-585ecce96079
2022-01-06 01:28:25 +00:00
.config Flaky Test Management Service: Tests scheduled for deletion: 1 2022-01-04 17:54:51 +00:00
.vscode Merged PR 636149: Update recommended extension for VS Code 2021-11-08 11:41:47 +00:00
Documentation Merged PR 641917: [macOS] Modernize extension, xpc, and endpoint security code 2021-12-16 15:56:08 +00:00
Examples Merged PR 641917: [macOS] Modernize extension, xpc, and endpoint security code 2021-12-16 15:56:08 +00:00
Private Merged PR 643161: Remove SBOMUtilities.ComponentDetectionConverter in favor of the Microsoft.SBOM.Adapters library 2022-01-04 21:30:09 +00:00
Public Merged PR 643482: Fix runtime failures in DropDaemon's GetSbomPackages 2022-01-06 01:28:25 +00:00
Shared Merged PR 643454: Update AnnotatedSessions sorting to account for JS Prep Builds 2022-01-05 20:38:47 +00:00
cg Merged PR 643482: Fix runtime failures in DropDaemon's GetSbomPackages 2022-01-06 01:28:25 +00:00
secrets/CodeSign Merged PR 630596: Use CloudBuild's ESRP Sign Tool to sign BuildXL's Binaries 2021-10-06 16:20:13 +00:00
third_party Merged PR 529759: Update XNU security headers 2020-01-20 14:24:46 +00:00
.editorconfig Merged PR 612132: Add initial support for distributed "content metadata store" 2021-05-07 02:24:18 +00:00
.gitattributes Initial commit for the sandbox client and server 2018-11-06 15:01:51 -08:00
.gitignore Merged PR 543794: Initial sandbox implementation for Linux 2020-04-02 02:48:45 +00:00
BuildCache.cmd Initial sync 2019-03-28 15:35:49 -07:00
BuildCacheDefault.json Initial sync 2019-03-28 15:35:49 -07:00
BuildCacheDefaultNetCore.json Initial sync 2019-03-28 15:35:49 -07:00
BuildCacheOverride.json Initial sync 2019-03-28 15:35:49 -07:00
CODEOWNERS Adding Code owners (#133) 2019-04-11 19:23:06 -07:00
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md document (#765) 2019-08-19 16:56:06 -07:00
CONTRIBUTING.md Merged PR 635447: Update open source contribution model 2021-10-27 22:42:43 +00:00
CreatePr.cmd Merged PR 521990: Update CreatePr Script to work with Azure DevOps again 2019-12-02 20:02:16 +00:00
LICENSE Restoring licence file 2019-04-09 16:12:01 -07:00
README.md Merged PR 636547: Use BuildXL as main brand name 2021-11-03 00:58:27 +00:00
RunCheckInTests-Test.cmd Initial sync 2019-03-28 15:35:49 -07:00
RunCheckInTests.cmd Merged PR 633580: Add .net6.0 support 2021-11-18 21:47:42 +00:00
RunCheckInTestsWithPAT.ps1 Merged PR 600034: Undo removal of buildxl credential provider 2021-02-26 20:14:00 +00:00
SECURITY.md Add Security.md document (#763) 2019-08-19 15:47:52 -07:00
SlimBuildForMacTests.cmd Initial sync 2019-03-28 15:35:49 -07:00
buddy.cmd Merged PR 538749: Add a preliminary Rush frontend to BuildXL 2020-03-12 06:24:11 +00:00
bxl.cmd Initial sync 2019-03-28 15:35:49 -07:00
bxl.sh [linux] changes needed for selfhost build 2020-04-21 18:21:00 +00:00
bxlanalyzer.cmd Merged PR 534479: Add helper to run analyzers quickly 2020-02-11 18:21:50 +00:00
bxlremote.cmd Merged PR 634769: Add script for enabling process remoting in dev machine builds 2021-12-15 23:16:46 +00:00
clean.bat Initial sync 2019-03-28 15:35:49 -07:00
config.dsc Merged PR 639385: Replace deprecated Redis-x64 package with a drop-in replacement (MemuraiDeveloper) 2021-12-06 19:11:17 +00:00
config.microsoftInternal.dsc Merged PR 643482: Fix runtime failures in DropDaemon's GetSbomPackages 2022-01-06 01:28:25 +00:00
config.nuget.aspNetCore.dsc Merged PR 633580: Add .net6.0 support 2021-11-18 21:47:42 +00:00
config.nuget.dotnetcore.dsc Merged PR 643482: Fix runtime failures in DropDaemon's GetSbomPackages 2022-01-06 01:28:25 +00:00
config.nuget.grpc.dsc Merged PR 621783: Support for encryption and authentication in distributed builds 2021-07-24 02:56:39 +00:00
config.nuget.vssdk.dsc Merged PR 636601: Update DScript VSCode plugin to the latest and greatest 2021-11-03 16:39:52 +00:00
domino.cmd Initial sync 2019-03-28 15:35:49 -07:00
drop.cmd Merged PR 565168: Update drop.cmd bootstrap script 2020-07-21 21:16:01 +00:00
dropout.cmd Merged PR 642638: Debugging Detours pipes 2021-12-28 03:15:21 +00:00
killbxl.cmd Merged PR 629827: Add helper script to repo root for killing existing BuildXL instances 2021-09-17 01:32:10 +00:00
macos.mounts.dsc Initial sync 2019-03-28 15:35:49 -07:00
yarn.lock Merged PR 583139: Add npm package that wraps bxl and bxlanalayzer from nuget 2020-11-04 17:09:16 +00:00

README.md

BuildXL (Microsoft Build Accelerator)

BuildXL Icon

Introduction

BuildXL (Microsoft Build Accelerator), is a build engine originally developed for large internal teams at Microsoft. Internally at Microsoft, BuildXL runs 150,000+ builds per day on monorepo codebases up to a half-terabyte in size with a half-million process executions per build. It leverages distribution to thousands of data center machines and petabytes of source code, package, and build output caching. Thousands of developers use BuildXL on their desktops for faster builds.

BuildXL accelerates multiple build languages, including:

  • JavaScript
  • MSBuild (experimental: using new features under development in MSBuild 16 which will ship in future versions of Visual Studio 2019 and the .NET Core SDK)
  • CMake / Ninja (beta)
  • Its own internal scripting language, DScript, an experimental TypeScript based format used as an intermediate language by a small number of teams inside Microsoft

BuildXL has a command-line interface. There are currently no plans to integrate it into Visual Studio. The project is open source in the spirit of transparency of our engineering system. You may find our technology useful if you face similar issues of scale. Note that BuildXL is not intended as a replacement for MSBuild or to indicate any future direction of build languages from Microsoft.

Examples

See the Examples/ folder for basic project examples.

Documentation

The BuildXL documentation landing page is here.

Build Status - Azure DevOps Pipelines

Build status