| 123456789101112131415161718192021222324252627282930313233343536373839 |
- #!/usr/bin/env bash
- #
- # This script is meant for testing source build by imitating some of the input parameters and conditions.
- #
- set -euo pipefail
- scriptroot="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
- reporoot="$(dirname "$(dirname "$scriptroot")")"
- # For local development, make a backup copy of this file first
- if [ ! -f "$reporoot/global.bak.json" ]; then
- mv "$reporoot/global.json" "$reporoot/global.bak.json"
- fi
- # Detect the current version of .NET Core installed
- export SDK_VERSION=$(dotnet --version)
- echo "The ambient version of .NET Core SDK version = $SDK_VERSION"
- # Update the global.json file to match the current .NET environment
- cat "$reporoot/global.bak.json" | \
- jq '.sdk.version=env.SDK_VERSION' | \
- jq '.tools.dotnet=env.SDK_VERSION' | \
- jq 'del(.tools.runtimes)' \
- > "$reporoot/global.json"
- # Restore the original global.json file
- trap "{
- mv "$reporoot/global.bak.json" "$reporoot/global.json"
- }" EXIT
- export DotNetBuildFromSource='true'
- # Build repo tasks
- "$reporoot/eng/common/build.sh" --restore --build --ci --configuration Release /p:ProjectToBuild=$reporoot/eng/tools/RepoTasks/RepoTasks.csproj
- # Build projects
- "$reporoot/eng/common/build.sh" --restore --build --pack "$@"
|