Microsoft Build Accelerator
Перейти к файлу
Michael Pysson 676a8ed325 Fix access control check with scrubbing in NetCore builds. (#1079) 2019-10-22 10:32:21 -07:00
.vscode Recommend the BuildXL extension when people look for extensions (#782) 2019-08-21 14:41:03 -07:00
Documentation Update documentation for logging, analysis, and scheduler (#916) 2019-10-16 18:37:54 -07:00
Examples [kext] handle check_vnode_clone (#1065) 2019-10-18 15:19:38 -07:00
Private [kext] handle check_vnode_clone (#1065) 2019-10-18 15:19:38 -07:00
Public Fix access control check with scrubbing in NetCore builds. (#1079) 2019-10-22 10:32:21 -07:00
Shared New LKG 0.1.0-20191018.8 2019-10-19 04:49:22 +00:00
cg Update QTest version (#1068) 2019-10-19 11:44:02 -07:00
third_party Initial sync 2019-03-28 15:35:49 -07:00
.editorconfig Local function naming style + force using readonly modifiers for fields. (#866) 2019-09-16 09:57:57 -07:00
.gitattributes Initial commit for the sandbox client and server 2018-11-06 15:01:51 -08:00
.gitignore VS solution generator: support for multiple target frameworks (#853) 2019-09-10 13:10:51 -07: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 Add CODE_OF_CONDUCT.md document (#765) 2019-08-19 16:56:06 -07:00
CreatePr.cmd Update CreatePr helper for github (#58) 2019-03-29 15:33:57 -07:00
LICENSE Restoring licence file 2019-04-09 16:12:01 -07:00
README.md Add DeveloperGuide and fix some documentation links (#899) 2019-09-19 09:18:29 -07:00
RunCheckInTests-Test.cmd Initial sync 2019-03-28 15:35:49 -07:00
RunCheckInTests.cmd Atomic update of the LKG and the generated nuget/cgmanifest.json (#980) 2019-10-02 10:13:24 -07: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 Initial sync 2019-03-28 15:35:49 -07:00
bxl.cmd Initial sync 2019-03-28 15:35:49 -07:00
bxl.sh Atomic update of the LKG and the generated nuget/cgmanifest.json (#980) 2019-10-02 10:13:24 -07:00
clean.bat Initial sync 2019-03-28 15:35:49 -07:00
config.dsc Update msbuild (#1055) 2019-10-18 14:27:11 -07:00
config.microsoftInternal.dsc Update QTest version (#1068) 2019-10-19 11:44:02 -07:00
config.nuget.aspNetCore.dsc Upgraded ASP .NET IIS nuget to remove cg vulnerability (#985) 2019-10-02 15:48:17 -07:00
config.nuget.vssdk.dsc Initial sync 2019-03-28 15:35:49 -07:00
domino.cmd Initial sync 2019-03-28 15:35:49 -07:00
drop.cmd Optimizations for office mularchy builds: (#957) 2019-10-01 07:29:08 -07:00
dropout.cmd Initial sync 2019-03-28 15:35:49 -07:00
macos.mounts.dsc Initial sync 2019-03-28 15:35:49 -07: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 datacenter 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.