1d0dc08a64
- 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 |
||
---|---|---|
.config | ||
.vscode | ||
Documentation | ||
Examples | ||
Private | ||
Public | ||
Shared | ||
cg | ||
secrets/CodeSign | ||
third_party | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
BuildCache.cmd | ||
BuildCacheDefault.json | ||
BuildCacheDefaultNetCore.json | ||
BuildCacheOverride.json | ||
CODEOWNERS | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
CreatePr.cmd | ||
LICENSE | ||
README.md | ||
RunCheckInTests-Test.cmd | ||
RunCheckInTests.cmd | ||
RunCheckInTestsWithPAT.ps1 | ||
SECURITY.md | ||
SlimBuildForMacTests.cmd | ||
buddy.cmd | ||
bxl.cmd | ||
bxl.sh | ||
bxlanalyzer.cmd | ||
bxlremote.cmd | ||
clean.bat | ||
config.dsc | ||
config.microsoftInternal.dsc | ||
config.nuget.aspNetCore.dsc | ||
config.nuget.dotnetcore.dsc | ||
config.nuget.grpc.dsc | ||
config.nuget.vssdk.dsc | ||
domino.cmd | ||
drop.cmd | ||
dropout.cmd | ||
killbxl.cmd | ||
macos.mounts.dsc | ||
yarn.lock |
README.md
BuildXL (Microsoft Build Accelerator)
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.