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.
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.)
- build.cmd invokes "run.ps1 default-build".
- run.ps1 downloads and extracts KoreBuild as a zip file
- run.ps1 imports the KoreBuild.psm1 file which contains a few functions for invoking commands. It then invokes
Invoke-KoreBuildCommand 'default-build'
- KoreBuild.psm1 defines the
Invoke-KoreBuildCommand
function. This function will- Ensure dotnet is installed
- Build
$RepoRoot/build/tasks/RepoTasks.csproj
if it exists - Starts MSBuild by calling
dotnet msbuild KoreBuild.proj
- 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.