Microsoft Build Accelerator
Перейти к файлу
Michael Pysson 🍕 90c61e3877 Merged PR 631845: Get rid of warning in RunCheckinTests in PR validations
The "PartB" validation isn't hooked up to the shared cache, so it always times out after 5 seconds and emits a warning. Disable usage of the shared cache.

I don't expect much impact on dev builds since folks aren't running this suite locally.
2021-09-29 23:26:14 +00:00
.config Flaky Test Management Service: Removed tests: 9 2021-09-01 15:47:29 +00:00
.vscode Merged PR 544336: [linux-sandbox] Pass and parse FileAccessManifest 2020-04-02 20:03:13 +00:00
Documentation Fix typo in Correctness section 2021-09-27 18:09:52 +00:00
Examples Merged PR 611691: Guardian - Add documentation + sample project 2021-05-05 19:57:09 +00:00
Private Merged PR 616796: [Github Issue] Building bxl fails with missing VisualCppTools NuGet package 2021-07-14 21:21:37 +00:00
Public Merged PR 631839: Fix PipChildProcessSurvives tests 2021-09-29 22:48:06 +00:00
Shared New LKG 0.1.0-20210924.6.3 2021-09-29 20:30:08 +00:00
cg Merged PR 631163: Qtest: allow JUnit parser to read results from custom location 2021-09-26 21:02:15 +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 Documentation updates (#1071) 2019-10-22 16:49:55 -07: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 605978: Fix broken links in documentation 2021-03-31 16:24:45 +00:00
RunCheckInTests-Test.cmd Initial sync 2019-03-28 15:35:49 -07:00
RunCheckInTests.cmd Merged PR 631845: Get rid of warning in RunCheckinTests in PR validations 2021-09-29 23:26:14 +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
clean.bat Initial sync 2019-03-28 15:35:49 -07:00
config.dsc Merged PR 628067: Update Node to 16.8.0 2021-09-01 02:33:57 +00:00
config.microsoftInternal.dsc Merged PR 631163: Qtest: allow JUnit parser to read results from custom location 2021-09-26 21:02:15 +00:00
config.nuget.aspNetCore.dsc Merged PR 585237: Add support for NET 5 2020-11-19 00:25:17 +00:00
config.nuget.dotnetcore.dsc Merged PR 590834: Add System.Threading.Tasks.Extensions to cacheBindingRedirects 2020-12-28 22:00:46 +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 628769: Add an option to force update NuGet specs 2021-09-07 21:42:03 +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 578968: Implement deployment proxy 2020-10-13 22:43:04 +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

Microsoft Build Accelerator

BuildXL Icon

Introduction

Build Accelerator, BuildXL for short, is a build engine originally developed for large internal teams at Microsoft, and owned by the Tools for Software Engineers team, part of the Microsoft One Engineering System internal engineering group. Internally at Microsoft, BuildXL runs 30,000+ builds per day on monorepo codebases up to a half-terabyte in size with a half-million process executions per build, using 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 even on mega-sized codebases.

BuildXL accelerates multiple build languages, including:

  • MSBuild (using new features under development in MSBuild 16 which will ship in future versions of Visual Studio 2019 and the .NET Core SDK)
  • CMake (under development)
  • 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.

Documentation

The BuildXL documentation main page is here.

Examples and Demos

See the Examples/ folder for basic project examples. See the Demos page for information about various technical demos like using the process sandboxing code.

Building the Code

Build Status - Azure DevOps Pipelines

Build status

Command Line Build and Test

See the Developer Guide for instructions on compiling BuildXL.

Contributing

See CONTRIBUTING.