59b8cc0979
- Reintroduces !785928 - Removes dependency on IOHandler/AccessHandler from macOS code. - Clean up file operations from native sandbox to remove macos specific ones. - Remove duplicate operations in ReportedFileOperation. - Report exec calls separately from forks (using the ProcessExec report type), and update exe and command line on tracked process objects on the managed code. - Update report format, and allow for different report types on the Linux sandbox. - Report parent process pid on sandbox reports. - Rename MacLookup to AbsentProbe - Updates SandboxEvent type to contain everything required for an access report including the access check result. - Adds a report builder class that is responsible for building the report string to be returned to the managed side. - Removes old ES_EVENT_* constants and replaces them with buildxl::linux::EventType Related work items: #2111125 |
||
---|---|---|
.azdo | ||
.config | ||
.gdn | ||
.vscode | ||
Documentation | ||
Examples | ||
Private | ||
Public | ||
Shared | ||
cg | ||
secrets/CodeSign | ||
third_party | ||
.ci-npmrc | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.npmrc | ||
.sscignore | ||
AnyBuild.json | ||
AnyBuildTest.json | ||
BuildCache.cmd | ||
BuildCacheDefault.json | ||
BuildCacheDefaultNetCore.json | ||
BuildCacheOverride.json | ||
CODEOWNERS | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
CreatePr.cmd | ||
LICENSE | ||
NOTICE.txt | ||
README.md | ||
RunBxlWithPAT.ps1 | ||
RunCheckInTests-Test.cmd | ||
RunCheckInTests.cmd | ||
RunCheckInTestsWithPAT.ps1 | ||
SECURITY.md | ||
SlimBuildForMacTests.cmd | ||
buddy.cmd | ||
bxl.cmd | ||
bxl.sh | ||
bxlanalyzer.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 | ||
unix.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
- Ninja (CMake)
- 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.
OS compatibility:
- Windows 10+
- Ubuntu 20.04
Examples
See the Examples/
folder for basic project examples.
Documentation
The BuildXL documentation landing page is here and look at the developer guide in order to understand how to build and use BuildXL.