BuildTools/docs
Ryan Brandenburg e1c2a4b797 Generate baselines by default and add replacement target 2018-03-09 17:43:52 -08:00
..
KoreBuild.md Generate baselines by default and add replacement target 2018-03-09 17:43:52 -08:00
Logging.md Use TeamCity x-plat logger (#565) 2018-01-30 10:05:51 -08:00
PackageReferenceManagement.md Add doc about package references, korebuild, and an intro doc 2017-11-22 11:49:20 -06:00
README.md Rename Intro.md to README.md 2018-01-05 09:04:54 -08:00
Signing.md Fix generate sign request to only include assemblies 2017-12-28 13:59:08 -08:00

README.md

Intro to BuildTools

This repo contains console tools, MSBuild tasks, and targets used to build ASP.NET Core. This document is a high-level overview of how these build tools work.

Step-by-step how "build.cmd" works

Most KoreBuild repositories will have an identical build.cmd script in the top-level repo directory. This script can be found in scripts/bootstrapper/build.cmd. These are the steps the script takes. (The same steps apply to build.sh for Linux builds.)

  1. build.cmd invokes "run.ps1 default-build".
  2. run.ps1 downloads and extracts KoreBuild as a zip file
  3. run.ps1 imports the KoreBuild.psm1 file which contains a few functions for invoking commands. It then invokes Invoke-KoreBuildCommand 'default-build'
  4. KoreBuild.psm1 defines the Invoke-KoreBuildCommand function. This function will
    1. Ensure dotnet is installed
    2. Build $RepoRoot/build/tasks/RepoTasks.csproj if it exists
    3. Starts MSBuild by calling dotnet msbuild KoreBuild.proj
  5. KoreBuild.proj is the entry point for building the entire repo in an MSBuild process. By default, this project will restore, compile, package, and test *.sln files. It has some extensibility points to repos can extend. See ./KoreBuild.md.