966bba02bb
Former-commit-id: bb0468d0f257ff100aa895eb5fe583fb5dfbf900
66 lines
1.9 KiB
Bash
Executable File
66 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
scriptRoot="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
if [ "$BUILDVARS_DONE" != 1 ]; then
|
|
. $scriptRoot/buildvars-setup.sh $*
|
|
fi
|
|
|
|
# Prepare the system for building
|
|
|
|
prepare_managed_build()
|
|
{
|
|
# Run Init-Tools to restore BuildTools and ToolRuntime
|
|
$__ProjectRoot/init-tools.sh
|
|
|
|
# Tell nuget to always use repo-local nuget package cache. The "dotnet restore" invocations use the --packages
|
|
# argument, but there are a few commands in publish and tests that do not.
|
|
export NUGET_PACKAGES=$__packageroot
|
|
|
|
echo "Using CLI tools version:"
|
|
ls "$__dotnetclipath/sdk"
|
|
}
|
|
|
|
|
|
build_managed_corert()
|
|
{
|
|
__buildproj=$__ProjectRoot/build.proj
|
|
__buildlog=$__ProjectRoot/msbuild.$__BuildArch.log
|
|
|
|
if [ -z "${ToolchainMilestone}" ]; then
|
|
ToolchainMilestone=testing
|
|
fi
|
|
|
|
__buildarch="$__BuildArch"
|
|
if [ "$__buildarch" = "armel" ]; then
|
|
__buildarch=arm
|
|
__ExtraMsBuildArgs="$__ExtraMsBuildArgs /p:BinDirPlatform=armel"
|
|
fi
|
|
|
|
$__ProjectRoot/Tools/msbuild.sh "$__buildproj" /m /nologo /verbosity:minimal "/fileloggerparameters:Verbosity=normal;LogFile=$__buildlog" /t:Build /p:RepoPath=$__ProjectRoot /p:RepoLocalBuild="true" /p:RelativeProductBinDir=$__RelativeProductBinDir /p:CleanedTheBuild=$__CleanBuild /p:NuPkgRid=$__NugetRuntimeId /p:TestNugetRuntimeId=$__NugetRuntimeId /p:OSGroup=$__BuildOS /p:Configuration=$__BuildType /p:Platform=$__buildarch /p:COMPUTERNAME=$(hostname) /p:USERNAME=$(id -un) /p:ToolchainMilestone=${ToolchainMilestone} $__UnprocessedBuildArgs $__ExtraMsBuildArgs
|
|
export BUILDERRORLEVEL=$?
|
|
|
|
echo
|
|
|
|
# Pull the build summary from the log file
|
|
tail -n 4 "$__buildlog"
|
|
echo Build Exit Code = $BUILDERRORLEVEL
|
|
if [ $BUILDERRORLEVEL != 0 ]; then
|
|
exit $BUILDERRORLEVEL
|
|
fi
|
|
}
|
|
|
|
|
|
if $__buildmanaged; then
|
|
|
|
# Prepare the system
|
|
|
|
prepare_managed_build
|
|
|
|
# Build the corert native components.
|
|
|
|
build_managed_corert
|
|
|
|
# Build complete
|
|
fi
|