From d670f819767c3c1d7f32509422d580d7a29b07c0 Mon Sep 17 00:00:00 2001 From: dseefeld Date: Wed, 23 Jun 2021 19:52:38 +0000 Subject: [PATCH] Changes made for tarball build --- CODE-OF-CONDUCT.md | 6 - DarcVersion.txt | 1 - Directory.Build.props | 6 - LICENSE.txt | 23 -- NuGet.config | 10 - ProdConFeed.txt | 1 - README.md | 51 ----- arm-ci.sh | 17 -- armdeps.sh | 5 - build-source-tarball.sh | 159 ------------- build.cmd | 4 - build.proj | 4 - build.sh | 133 ----------- check-submodules.ps1 | 179 --------------- check-submodules.sh | 164 -------------- clean.sh | 12 - docker/README.md | 63 ------ eng/Version.Details.xml | 140 ------------ eng/Versions.props | 2 +- extract-patches.sh | 32 --- global.json | 4 +- support/tarball/prep.sh => prep.sh | 17 +- repos/Directory.Build.props | 2 +- repos/Directory.Build.targets | 107 ++++++++- repos/arcade.proj | 8 +- repos/known-good.proj | 40 +--- repos/linker.proj | 29 ++- repos/runtime.common.props | 1 - repos/source-build-reference-packages.proj | 30 +++ repos/sourcelink.proj | 4 +- src/Directory.Build.props | 8 - src/Directory.Build.targets | 8 - src/netcorecli-fsc/.gitattributes | 2 - src/netcorecli-fsc/FSharp.NET.Sdk.csproj | 9 - src/netcorecli-fsc/FSharp.NET.Sdk.nuspec | 21 -- src/netcorecli-fsc/Sdk/Sdk.OnRestore.targets | 16 -- src/netcorecli-fsc/Sdk/Sdk.props | 13 -- src/netcorecli-fsc/Sdk/Sdk.targets | 39 ---- support/tarball/PackageVersions.props | 5 - support/tarball/build.sh | 30 +-- support/tarball/smoke-testNuGet.Config | 10 - .../tarball/tool-bootstrapping/bootstrap.sh | 208 ------------------ test/exclusions/corefx/linux.docker.rsp | 61 ----- tools-local/init-build.proj | 58 ++--- 44 files changed, 189 insertions(+), 1553 deletions(-) delete mode 100644 CODE-OF-CONDUCT.md delete mode 100644 DarcVersion.txt delete mode 100644 LICENSE.txt delete mode 100644 NuGet.config delete mode 100644 ProdConFeed.txt delete mode 100644 README.md delete mode 100755 arm-ci.sh delete mode 100755 armdeps.sh delete mode 100755 build-source-tarball.sh delete mode 100644 build.cmd delete mode 100755 build.sh delete mode 100644 check-submodules.ps1 delete mode 100755 check-submodules.sh delete mode 100755 clean.sh delete mode 100644 docker/README.md delete mode 100644 eng/Version.Details.xml delete mode 100755 extract-patches.sh rename support/tarball/prep.sh => prep.sh (75%) create mode 100644 repos/source-build-reference-packages.proj delete mode 100644 src/Directory.Build.props delete mode 100644 src/Directory.Build.targets delete mode 100644 src/netcorecli-fsc/.gitattributes delete mode 100644 src/netcorecli-fsc/FSharp.NET.Sdk.csproj delete mode 100644 src/netcorecli-fsc/FSharp.NET.Sdk.nuspec delete mode 100644 src/netcorecli-fsc/Sdk/Sdk.OnRestore.targets delete mode 100644 src/netcorecli-fsc/Sdk/Sdk.props delete mode 100644 src/netcorecli-fsc/Sdk/Sdk.targets delete mode 100644 support/tarball/PackageVersions.props delete mode 100644 support/tarball/smoke-testNuGet.Config delete mode 100755 support/tarball/tool-bootstrapping/bootstrap.sh delete mode 100755 test/exclusions/corefx/linux.docker.rsp diff --git a/CODE-OF-CONDUCT.md b/CODE-OF-CONDUCT.md deleted file mode 100644 index 775f221c98..0000000000 --- a/CODE-OF-CONDUCT.md +++ /dev/null @@ -1,6 +0,0 @@ -# Code of Conduct - -This project has adopted the code of conduct defined by the Contributor Covenant -to clarify expected behavior in our community. - -For more information, see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct). diff --git a/DarcVersion.txt b/DarcVersion.txt deleted file mode 100644 index 3574ff786b..0000000000 --- a/DarcVersion.txt +++ /dev/null @@ -1 +0,0 @@ -1.1.0-beta.19568.2 diff --git a/Directory.Build.props b/Directory.Build.props index d1b268bf87..9c556df3f9 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -98,9 +98,6 @@ $(ToolsDir)source-built/ $(ProjectDir)tools-local/ $(ToolsLocalDir)tasks/ - $(DotNetCliToolDir)tools/ - $([System.IO.File]::ReadAllText('$(ProjectDir)DarcVersion.txt').Trim()) - $(DotNetCliToolDir)tools/.store/microsoft.dotnet.darc/$(DarcVersion)/microsoft.dotnet.darc/$(DarcVersion)/tools/netcoreapp3.0/any/Microsoft.DotNet.Darc.dll $(TaskDirectory)Microsoft.DotNet.SourceBuild.Tasks.XPlat/bin/$(Configuration)/ $(XPlatTasksBinDir)Microsoft.DotNet.SourceBuild.Tasks.XPlat.dll @@ -166,11 +163,8 @@ $(ProjectDir)packages/reference/ $(ProjectDir)packages/text-only/ $(ReferencePackagesBaseDir)packages/ - $(CustomReferencePackagesPath)/ Private.SourceBuilt.Artifacts https://dotnetcli.azureedge.net/source-built-artifacts/assets/ - Private.SourceBuild.ReferencePackages - https://dotnetfeed.blob.core.windows.net/dotnet-core/assets/ archiveArtifacts.txt $(ExternalTarballsDir)$(ArchiveArtifactsTextFileName) $(ToolsLocalDir)prebuilt-baseline- diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index 984713a496..0000000000 --- a/LICENSE.txt +++ /dev/null @@ -1,23 +0,0 @@ -The MIT License (MIT) - -Copyright (c) .NET Foundation and Contributors - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/NuGet.config b/NuGet.config deleted file mode 100644 index 402115ec28..0000000000 --- a/NuGet.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/ProdConFeed.txt b/ProdConFeed.txt deleted file mode 100644 index 576ead5f56..0000000000 --- a/ProdConFeed.txt +++ /dev/null @@ -1 +0,0 @@ -https://pkgs.dev.azure.com/dnceng/public/_packaging/3.1.103-servicing-014936/nuget/v3/index.json \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index fec42fa8a7..0000000000 --- a/README.md +++ /dev/null @@ -1,51 +0,0 @@ -# .NET Core Source-Build - -[![Build Status](https://dev.azure.com/dnceng/internal/_apis/build/status/dotnet/source-build/source-build-rolling-CI?branchName=release%2F3.1)](https://dev.azure.com/dnceng/internal/_build/latest?definitionId=114&branchName=release%2F3.1) -[![Join the chat at https://gitter.im/dotnet/source-build](https://badges.gitter.im/dotnet/source-build.svg)](https://gitter.im/dotnet/source-build?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) - -This repository contains infrastructure for building the .NET Core Runtime and SDK from source. The scripts allow .NET Core package maintainers to comply with common Linux distribution guidelines. - -## Using this repository - -The scripts are written for Bash and supported on macOS and Linux. See [Documentation](Documentation) for complete instructions. - -> The source-build repository doesn't currently support Windows. See [source-build#1190](https://github.com/dotnet/source-build/issues/1190). - -### Build on Linux or macOS - -```console -./build.sh -``` - -Once the build is successful, the built SDK tarball is placed at: - -``` -artifacts/${ARCHITECTURE}/Release/dotnet-sdk-${SDK_VERSION}-${RUNTIME_ID}.tar.gz -``` - -- `${ARCHITECTURE}` is your platform architecture (probably `x64`) -- `${SDK_VERSION}` is the SDK version you are building -- `${RUNTIME_ID}` is your OS name and architecture (something like `debian.9-x64` or `fedora.33-x64`) - -For example, building a 3.1.105 SDK on an x64 (aka x86\_64) platform running Fedora 32 will produce `artifacts/x64/Release/dotnet-sdk-3.1.105-fedora.32-x64.tar.gz`. - -## Goals - -The key goal of this repository is to satisfy the official packaging rules of commonly used Linux distributions, such as [Fedora](https://fedoraproject.org/wiki/Packaging:Guidelines) and [Debian](https://www.debian.org/doc/manuals/maint-guide/build.en.html). Many Linux distributions have similar rules. These rules tend to have two main principles: consistent reproducibility, and source code for everything. - -A secondary goal of source-build is to allow .NET Core contributors to build a .NET Core SDK with coordinated changes in multiple repositories. However, the developer experience is significantly better in individual repositories and, if possible, contributors should make and test changes in the target repo, not source-build. - -## What does the source-build infrastructure do? - -Source-build solves common challenges that most developers encounter when trying to build the whole .NET Core SDK from source. - -* .NET Core is composed of many repositories that need to be built at a specific combination of commits. -* Each repository's build output needs to flow into the next repository's build. -* By default, most .NET Core repositories download prebuilt binary dependencies from online sources. These are forbidden by typical Linux distribution rules, and interfere with build output flow. -* Nearly all .NET Core repositories require the .NET Core SDK to build. This is a circular dependency, which presents a bootstrapping problem. - -The source-build repository contains scripts and build logic to help Linux distribution maintainers address these challenges. - -## License - -This repo is licensed under the [MIT](LICENSE.txt) license. diff --git a/arm-ci.sh b/arm-ci.sh deleted file mode 100755 index 4b37bfad42..0000000000 --- a/arm-ci.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash -__currentWorkingDirectory=`pwd` -__buildArch=$1 -shift; - -# Check build configuration and choose Docker image -__dockerEnvironmentVariables="" -if [ "$__buildArch" == "arm" ]; then - __dockerImage=" microsoft/dotnet-buildtools-prereqs:ubuntu-14.04-cross-0cd4667-20172211042239" - __dockerEnvironmentVariables+=" -e ROOTFS_DIR=/crossrootfs/arm" -elif [ "$__buildArch" == "armel" ]; then - __dockerImage=" hqueue/dotnetcore:ubuntu1404_cross_prereqs_v4-tizen_rootfs" - __dockerEnvironmentVariables+=" -e ROOTFS_DIR=/crossrootfs/armel.tizen.build" -fi -__dockerCmd="sudo docker run ${__dockerEnvironmentVariables} --privileged --cap-add=ALL -v /lib/modules:/lib/modules -i --rm -v $__currentWorkingDirectory:/opt/code -w /opt/code $__dockerImage" -echo "Running docker: $__dockerCmd" -$__dockerCmd "$@" diff --git a/armdeps.sh b/armdeps.sh deleted file mode 100755 index c6cc6df316..0000000000 --- a/armdeps.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -apt-get install qemu qemu-user-static binfmt-support debootstrap libxml2-utils docker binutils-arm-linux-gnueabihf - -./cross/build-rootfs.sh armel tizen diff --git a/build-source-tarball.sh b/build-source-tarball.sh deleted file mode 100755 index 2e3399f4c6..0000000000 --- a/build-source-tarball.sh +++ /dev/null @@ -1,159 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail -IFS=$'\n\t' - -usage() { - echo "usage: $0 [options]" - echo "options:" - echo " --skip-build assume we have already built (requires you have built with the /p:ArchiveDownloadedPackages=true flag)" - echo " --enable-leak-detection build leaked-binary detection tasts for later use while building from this tarball" - echo " --skip-prebuilt-check do not confirm that all prebuilt packages used are either reference packages, previously-built, or known extras" - echo " --with-ref-packages use the specified directory of available reference packages to determine what prebuilts to delete, instead of downloading the most recent version" - echo " --with-packages use the specified directory of available previously-built packages to determine what prebuilts to delete, instead of downloading the most recent version" - echo " --with-sdk use the specified SDK to check out source code. do not copy it to the tarball. an external SDK will be required to build from the tarball." - echo " --base-tarball creates a tarball without sdk, previously-build packages and reference packages" - echo "use -- to send the remaining arguments to build.sh" -} - -if [ -z "${1:-}" ]; then - usage - exit 1 -fi - -TARBALL_ROOT=$1 -shift - -SKIP_BUILD=0 -BASE_TARBALL=0 -CUSTOM_SDK_DIR='' -MINIMIZE_DISK_USAGE=0 -CUSTOM_REF_PACKAGES_DIR='' -CUSTOM_PREVIOUSLY_BUILT_PACKAGES_DIR='' -MAIN_BUILD_ARGS=("/p:ArchiveDownloadedPackages=true") - -while :; do - if [ $# -le 0 ]; then - break - fi - - lowerI="$(echo $1 | awk '{print tolower($0)}')" - case $lowerI in - --skip-build) - SKIP_BUILD=1 - ;; - --enable-leak-detection) - MAIN_BUILD_ARGS+=( "/p:IncludeLeakDetection=true" ) - ;; - --minimize-disk-usage) - MINIMIZE_DISK_USAGE=1 - MAIN_BUILD_ARGS+=( "/p:DestructiveIntermediateClean=true" ) - ;; - --skip-prebuilt-check) - MAIN_BUILD_ARGS+=( "/p:SkipPrebuiltEnforcement=true" ) - ;; - --with-sdk) - CUSTOM_SDK_DIR="$2" - if [ ! -d "$CUSTOM_SDK_DIR" ]; then - echo "Custom SDK directory '$CUSTOM_SDK_DIR' does not exist" - fi - if [ ! -x "$CUSTOM_SDK_DIR/dotnet" ]; then - echo "Custom SDK '$CUSTOM_SDK_DIR/dotnet' not found or not executable" - fi - shift - ;; - --with-ref-packages) - CUSTOM_REF_PACKAGES_DIR="$2" - if [ ! -d "$CUSTOM_REF_PACKAGES_DIR" ]; then - echo "Custom reference packages directory '$CUSTOM_REF_PACKAGES_DIR' does not exist" - exit 1 - fi - MAIN_BUILD_ARGS+=( "/p:SkipDownloadingReferencePackages=true" ) - MAIN_BUILD_ARGS+=( "/p:CustomRefPackagesDir=$CUSTOM_REF_PACKAGES_DIR" ) - shift - ;; - --with-packages) - CUSTOM_PREVIOUSLY_BUILT_PACKAGES_DIR="$2" - if [ ! -d "$CUSTOM_PREVIOUSLY_BUILT_PACKAGES_DIR" ]; then - echo "Custom reference packages directory '$CUSTOM_PREVIOUSLY_BUILT_PACKAGES_DIR' does not exist" - exit 1 - fi - MAIN_BUILD_ARGS+=( "/p:SkipDownloadingPreviouslySourceBuiltPackages=true" ) - MAIN_BUILD_ARGS+=( "/p:CustomPreviouslySourceBuiltPackagesDir=$CUSTOM_PREVIOUSLY_BUILT_PACKAGES_DIR" ) - shift - ;; - --base-tarball) - BASE_TARBALL=1 - MAIN_BUILD_ARGS+=( "/p:PackBaseTarball=true" ) - ;; - --) - shift - echo "Detected '--': passing remaining parameters '$@' as build.sh arguments." - break - ;; - -?|-h|--help) - usage - exit 0 - ;; - *) - echo "Unrecognized argument '$1'" - usage - exit 1 - ;; - esac - - shift -done - -if [[ $BASE_TARBALL -eq 1 && ( "$CUSTOM_SDK_DIR" != "" || "$CUSTOM_REF_PACKAGES_DIR" != "" || "$CUSTOM_PREVIOUSLY_BUILT_PACKAGES_DIR" != "" ) ]]; then - echo "ERROR: Cannot specify --base-tarball with other --with* parameters (--with-sdk --with-ref-packages --with-packages)" - exit 1 -fi - -if [ $MINIMIZE_DISK_USAGE -eq 1 ]; then - echo "WARNING" - echo "WARNING" - echo "WARNING: --minimize-disk-usage intentionally trashes your local repo and any local work. It will not be recoverable. It is intended for CI use only." - echo "WARNING" - echo "WARNING" - echo "WARNING: You have 10 seconds to cancel." - sleep 10 -fi - -export FULL_TARBALL_ROOT=$(readlink -f $TARBALL_ROOT) - -if [ -e "$TARBALL_ROOT" ]; then - echo "info: '$TARBALL_ROOT' already exists" -fi - -export SCRIPT_ROOT="$(cd -P "$( dirname "$0" )" && pwd)" -if [ -d "$CUSTOM_SDK_DIR" ]; then - export SDK_VERSION=`"$CUSTOM_SDK_DIR/dotnet" --version` - echo "Using custom bootstrap SDK from '$CUSTOM_SDK_DIR', version $SDK_VERSION" -else - sdkLine=`grep -m 1 'dotnet' "$SCRIPT_ROOT/global.json"` - sdkPattern="\"dotnet\" *: *\"(.*)\"" - if [[ $sdkLine =~ $sdkPattern ]]; then - export SDK_VERSION=${BASH_REMATCH[1]} - fi - echo "Found bootstrap SDK $SDK_VERSION" -fi - -if [ $SKIP_BUILD -ne 1 ]; then - - if [ -e "$SCRIPT_ROOT/artifacts" ]; then - rm -rf "$SCRIPT_ROOT/artifacts" - fi - - $SCRIPT_ROOT/clean.sh -else - MAIN_BUILD_ARGS+=( "/p:SkipProductionBuild=true" ) -fi - -mkdir -p "$FULL_TARBALL_ROOT" - -MAIN_BUILD_ARGS+=( "/p:TarballRoot=$FULL_TARBALL_ROOT" ) -MAIN_BUILD_ARGS+=( "/p:PackSourceBuildTarball=true" ) - -$SCRIPT_ROOT/build.sh ${MAIN_BUILD_ARGS[@]} /bl:$SCRIPT_ROOT/artifacts/log/Debug/BuildTarball_$(date +"%m%d%H%M%S").binlog "$@" - -echo "Done. Tarball created: $TARBALL_ROOT" diff --git a/build.cmd b/build.cmd deleted file mode 100644 index 4607126d08..0000000000 --- a/build.cmd +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -powershell -NoProfile -NoLogo -Command "& \"%~dp0build.ps1\" %*; exit $LastExitCode;" -if %errorlevel% neq 0 exit /b %errorlevel% - diff --git a/build.proj b/build.proj index b678891bbe..c8f1995cef 100644 --- a/build.proj +++ b/build.proj @@ -43,10 +43,6 @@ - - - - diff --git a/build.sh b/build.sh deleted file mode 100755 index e606c6b15d..0000000000 --- a/build.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail -IFS=$'\n\t' - -usage() { - echo "usage: $0 [options]" - echo "options:" - echo " -test run supported individal repo unit tests" - echo " --run-smoke-test run smoke tests" - echo " --publish-prebuilt-report publish prebuilt report data to Azure Storage" - echo " --generate-prebuilt-data generate prebuilt burndown data" - echo " --with-sdk use the SDK in the specified directory for bootstrapping" - echo "extra arguments will be passed to MSBuild" - echo "" -} - -# resolve $SOURCE until the file is no longer a symlink -source="${BASH_SOURCE[0]}" -scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" -while [[ -h $source ]]; do - scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" - source="$(readlink "$source")" - - # if $source was a relative symlink, we need to resolve it relative to the path where the - # symlink file was located - [[ $source != /* ]] && source="$scriptroot/$source" -done - -if [ -z "${HOME:-}" ]; then - export HOME="$scriptroot/.home" - mkdir "$HOME" -fi - -if grep -q '\(/docker/\|/docker-\)' "/proc/1/cgroup"; then - export DotNetRunningInDocker=1 -fi - -alternateTarget=false -CUSTOM_SDK_DIR='' - -for arg do - shift - opt="$(echo "$arg" | awk '{print tolower($0)}')" - case $opt in - (-test) set -- "$@" "/t:RunTests" - alternateTarget=true - ;; - (--run-smoke-test) set -- "$@" "/t:RunSmokeTest" - alternateTarget=true - ;; - (--publish-prebuilt-report) set -- "$@" "/t:PublishPrebuiltReportData" - alternateTarget=true - ;; - (--generate-prebuilt-data) set -- "$@" "/t:GeneratePrebuiltBurndownData" - alternateTarget=true - ;; - (--with-sdk) - CUSTOM_SDK_DIR="$(cd -P "$1" && pwd)" - if [ ! -d "$CUSTOM_SDK_DIR" ]; then - echo "Custom SDK directory '$CUSTOM_SDK_DIR' does not exist" - exit 1 - fi - if [ ! -x "$CUSTOM_SDK_DIR/dotnet" ]; then - echo "Custom SDK '$CUSTOM_SDK_DIR/dotnet' does not exist or is not executable" - exit 1 - fi - shift - ;; - (*) set -- "$@" "$arg" ;; - esac -done - -arcadeLine=`grep -m 1 'Microsoft\.DotNet\.Arcade\.Sdk' "$scriptroot/global.json"` -sdkLine=`grep -m 1 'dotnet' "$scriptroot/global.json"` -arcadePattern="\"Microsoft\.DotNet\.Arcade\.Sdk\" *: *\"(.*)\"" -sdkPattern="\"dotnet\" *: *\"(.*)\"" -if [[ $arcadeLine =~ $arcadePattern ]]; then - export ARCADE_BOOTSTRAP_VERSION=${BASH_REMATCH[1]} -fi -if [ -d "$CUSTOM_SDK_DIR" ]; then - export SDK_VERSION=`"$CUSTOM_SDK_DIR/dotnet" --version` - echo "Using custom bootstrap SDK from '$CUSTOM_SDK_DIR', version $SDK_VERSION" - CLIPATH="$CUSTOM_SDK_DIR" - SDKPATH="$CLIPATH/sdk/$SDK_VERSION" - export _InitializeDotNetCli="$CLIPATH" - export CustomDotNetSdkDir="$CLIPATH" - else - if [[ $sdkLine =~ $sdkPattern ]]; then - export SDK_VERSION=${BASH_REMATCH[1]} - CLIPATH="$scriptroot/.dotnet" - SDKPATH="$CLIPATH/sdk/$SDK_VERSION" - fi -fi -echo "Found bootstrap SDK $SDK_VERSION, bootstrap Arcade $ARCADE_BOOTSTRAP_VERSION" - -if [ "$alternateTarget" == "false" ] && [[ "${SOURCE_BUILD_SKIP_SUBMODULE_CHECK:-default}" == "default" || $SOURCE_BUILD_SKIP_SUBMODULE_CHECK == "0" || $SOURCE_BUILD_SKIP_SUBMODULE_CHECK == "false" ]]; then - source "$scriptroot/check-submodules.sh" -fi - -export DOTNET_CLI_TELEMETRY_OPTOUT=1 -export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 -export DOTNET_MULTILEVEL_LOOKUP=0 -export NUGET_PACKAGES="$scriptroot/packages/restored/" - -if [ "${internalPackageFeedPat:-}" ]; then - echo "Setting up NuGet credential provider using PAT from env var 'internalPackageFeedPat'..." - . "$scriptroot/eng/install-nuget-credprovider.sh" - # TODO: Read these from nuget.config - # The internal transport isn't added by Darc, though, so it will still need special-casing. - export VSS_NUGET_EXTERNAL_FEED_ENDPOINTS='{"endpointCredentials": [ - {"endpoint":"https://pkgs.dev.azure.com/dnceng/_packaging/darc-int-dotnet-aspnetcore-b7a2ec8c/nuget/v3/index.json", "username":"optional", "password":"'$internalPackageFeedPat'"}, - {"endpoint":"https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-roslyn-analyzers-ce71b27b/nuget/v3/index.json", "username":"optional", "password":"'$internalPackageFeedPat'"}, - {"endpoint":"https://pkgs.dev.azure.com/dnceng/_packaging/darc-int-dotnet-runtime-2f740adc-5/nuget/v3/index.json", "username":"optional", "password":"'$internalPackageFeedPat'"}, - {"endpoint":"https://pkgs.dev.azure.com/dnceng/_packaging/darc-int-dotnet-runtime-2f740adc-4/nuget/v3/index.json", "username":"optional", "password":"'$internalPackageFeedPat'"}, - {"endpoint":"https://pkgs.dev.azure.com/dnceng/_packaging/darc-int-dotnet-runtime-2f740adc-3/nuget/v3/index.json", "username":"optional", "password":"'$internalPackageFeedPat'"}, - {"endpoint":"https://pkgs.dev.azure.com/dnceng/_packaging/darc-int-dotnet-runtime-2f740adc/nuget/v3/index.json", "username":"optional", "password":"'$internalPackageFeedPat'"}, - {"endpoint":"https://pkgs.dev.azure.com/dnceng/_packaging/darc-int-dotnet-aspnetcore-f3eeec88/nuget/v3/index.json", "username":"optional", "password":"'$internalPackageFeedPat'"}, - {"endpoint":"https://pkgs.dev.azure.com/dnceng/internal/_packaging/dotnet5-internal-transport/nuget/v3/index.json", "username":"optional", "password":"'$internalPackageFeedPat'"}, - {"endpoint":"https://pkgs.dev.azure.com/dnceng/_packaging/5.0.203-servicing.21222.11-shipping/nuget/v3/index.json", "username":"optional", "password":"'$internalPackageFeedPat'"} - ]}' -fi - -set -x -scriptroot="$( cd -P "$( dirname "$source" )" && pwd )" - -# runtime 3.1.1 required for darc -"$scriptroot/eng/common/dotnet-install.sh" -runtime dotnet -version 3.1.1 - -if [ "$alternateTarget" == "true" ]; then - "$CLIPATH/dotnet" $SDKPATH/MSBuild.dll "$scriptroot/build.proj" /bl:source-build-test.binlog /flp:v=diag /clp:v=m "$@" -else - "$scriptroot/eng/common/build.sh" --restore --build -c Release --warnaserror false /bl:$scriptroot/artifacts/log/Debug/Build_$(date +"%m%d%H%M%S").binlog /flp:v=diag "$@" -fi diff --git a/check-submodules.ps1 b/check-submodules.ps1 deleted file mode 100644 index a08f827d5c..0000000000 --- a/check-submodules.ps1 +++ /dev/null @@ -1,179 +0,0 @@ -$answeredAll = $false # has the user answered "yes to all" to init'ing submodules? -$ProjectRoot = $PSScriptRoot -$CleanAllSentinel = "$ProjectRoot\.cleansourcebuildsubmodules" -# How long to wait between polling for input on ReadKey. -# This affects apparent responsiveness so setting it fairly low. -$InputPollingTime = 100 # ms -$InputCountTimeout = (30 * 1000) / $InputPollingTime # ms - -function WaitForInput() { - $counter = 0 - while (-Not [Console]::KeyAvailable -and ($counter++ -lt $InputCountTimeout)) { - Start-Sleep -Milliseconds $InputPollingTime - } - if ([Console]::KeyAvailable) { - $k = [Console]::ReadKey() - return $k - } - return $null -} - -# ask for confirmation and initialize a submodule if approved. -function init_submodule($Path) { - $done = $false - while (-Not $done) { - Write-Warning "submodule $Path does not appear to be initialized." - Write-Host "Should I initialize it for you [Y]es / [n]o / [a]ll / [q]uit" - $answer = WaitForInput - if ($answer -eq $null -or $answer.KeyChar -ieq "a") { - $script:answeredAll = $true - $done = $true - git submodule update --init --recursive $Path - } - elseif ($answer.KeyChar -ieq "q") { - exit 1 - } - elseif ($answer.KeyChar -ieq "y" -or $answer.Key -eq [System.ConsoleKey]::Spacebar -or $answer.Key -eq [System.ConsoleKey]::Enter) { - $done = $true - git submodule update --init --recursive $Path - } - elseif ($answer.KeyChar -ieq "n") { - $done = $true - } - else { - Write-Host "Didn't understand that ($($answer.KeyChar))" - } - } -} - -# update a submodule to an expected commit. We give different messages -# for being ahead vs being behind or diverged from the expected commit, -# so this function is parameterized. -function fix_submodule($Path, $ExpectedSha, $ActualSha, $Message, $Prompt) { - $done = $false - while (-Not $done) { - Write-Warning $Message - Write-Host $Prompt - $answer = WaitForInput - if ($answer -eq $null -or $answer.KeyChar -ieq "n" -or $answer.Key -eq [System.ConsoleKey]::Spacebar -or $answer.Key -eq [System.ConsoleKey]::Enter) { - $done = $true - } - elseif ($answer.KeyChar -ieq "q") { - exit 1 - } - elseif ($answer.KeyChar -ieq "y") { - # check if we have this commit locally and can skip the fetch - git cat-file -e $expectedSha^`{commit`} 2>&1 | Out-Null - if ($LastExitCode -ne 0) { - git fetch - } - # double-check, we should have the commit now unless something - # weird is going on. - git cat-file -e $expectedSha^`{commit`} 2>&1 | Out-Null - if ($LastExitCode -ne 0) { - Write-Error "commit $expectedSha was not found in $path" - Write-Host "The remote may have changed in source-build; run 'git submodule sync' and retry." - Write-Host "Are you using a custom remote for this submodule? You may need to pick up changes from upstream." - Write-Host "Canceling remainder of checks." - exit 1 - } - git checkout $expectedSha - $done = $true - } - else { - Write-Host "Didn't understand that ($($answer.KeyChar))" - } - } -} - -# clean a submodule if the user approves. -function clean_submodule($Path, $Message, $Prompt) { - $done = $false - while (-Not $done) { - Write-Warning $Message - Write-Host $Prompt - $answer = WaitForInput - if ($answer -eq $null -or $answer.KeyChar -ieq "n" -or $answer.Key -eq [System.ConsoleKey]::Spacebar -or $answer.Key -eq [System.ConsoleKey]::Enter) { - $done = $true - } - elseif ($answer.KeyChar -ieq "a") { - git clean -fxd - git reset --hard HEAD - New-Item -ItemType File $CleanAllSentinel | Out-Null - $done = $true - } - elseif ($answer.KeyChar -ieq "q") { - exit 1 - } - elseif ($answer.KeyChar -ieq "y") { - git clean -fxd - git reset --hard HEAD - $done = $true - } - else { - Write-Host "Didn't understand that ($($answer.KeyChar))" - } - } -} - -# We use the same script for checking the super-repo and the submodules. -# Having the first argument be "in-submodule" triggers this submodule behavior. -if ($args[0] -ieq "in-submodule") { - $path = $args[1] - $expectedSha = $args[2] - $subcommit = git rev-parse HEAD - if ($subcommit -ne $expectedSha) { - # merge-base fails if the commit is missing, so check for that first. - git cat-file -e $expectedSha^`{commit`} 2>&1 | Out-Null - if ($LastExitCode -ne 0) { - $mergeBase = "missing commit" - } - else { - $mergeBase = git merge-base HEAD $expectedSha - } - if ($mergeBase -ne $expectedSha) { - fix_submodule -Path $path -ExpectedSha $expectedSha -ActualSha $subcommit -Message "submodule $path, currently at $subcommit, has diverged from checked-in version $expectedSha" -Prompt "If you are changing a submodule branch or moving a submodule backwards, this is expected.`r`nShould I checkout $path to the expected commit $expectedSha [N]o / [y]es / [q]uit" - } - else { - fix_submodule -Path $path -ExpectedSha $expectedSha -ActualSha $subcommit -Message "submodule $path, currently at $subcommit, is ahead of checked-in version $expectedSha" -Prompt "If you are updating a submodule, this is expected.`r`nShould I checkout $path to the expected commit $expectedSha [N]o / [y]es / [q]uit" - } - } - $dirty = $false - # check for staged changes and unstaged modifications - git diff-index --quiet HEAD -- - $dirty = $dirty -or $LastExitCode - # check for untracked new files - $untracked = git ls-files --others --exclude-standard - $dirty = $dirty -or (-Not [string]::IsNullOrWhitespace($untracked)) - if ($dirty) { - if (Test-Path $CleanAllSentinel) { - git clean -fxd - git reset --hard HEAD - } - else { - clean_submodule -Path $path -Message "submodule $path has uncommitted changes" -Prompt "Should I clean and reset $path (this will lose ALL uncommitted changes)? [N]o / [y]es / [a]ll / [q]uit" - } - } -} -# Main branch for super-repo behavior -else { - # submodule foreach doesn't work until submodules are init'd, read the modules manually - $modules = git config --file $ProjectRoot\.gitmodules --get-regexp path - foreach ($m in $modules) { - $m = $m.Split(' ')[1] - $mWin = $m.Replace('/', '\') - if (-Not (Test-Path "$ProjectRoot\$mWin\.git")) { - if ($script:answeredAll) { - git submodule update --init --recursive $m - } - else { - init_submodule -Path $m - } - } - } - $ProjectRoot = $ProjectRoot.Replace('\', '/') - # kick off the submodule behavior for each repo - Remove-Item -Force -ErrorAction SilentlyContinue $CleanAllSentinel - git submodule foreach --quiet --recursive "powershell $ProjectRoot/check-submodules.ps1 in-submodule `$path `$sha1" - Remove-Item -Force -ErrorAction SilentlyContinue $CleanAllSentinel -} diff --git a/check-submodules.sh b/check-submodules.sh deleted file mode 100755 index 08832e3afe..0000000000 --- a/check-submodules.sh +++ /dev/null @@ -1,164 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail -IFS=$'\n\t' - -SCRIPT_ROOT="$(cd -P "$( dirname "$0" )" && pwd)" -SUBMODULES="$SCRIPT_ROOT/.gitmodules" -CLEAN_ALL_SENTINEL="$SCRIPT_ROOT/.cleansourcebuildsubmodules" -PROMPT_TIMEOUT=30 - -# has the user answered "yes to all" to init'ing submodules? -answered_all=0 - -# ask for confirmation and initialize a submodule if approved. -init_submodule () { - module=$1 - done=0 - while [ $done == 0 ]; do - noreply=0 - echo "warning: submodules $module does not appear to be initialized." - read -p "Should I initialize it for you? [Y]es / [n]o / [a]ll / [q]uit] " -n 1 -r -t $PROMPT_TIMEOUT || noreply=1 - echo - if [[ $noreply == 1 || $REPLY =~ ^[Aa]$ ]]; then - answered_all=1 - done=1 - git submodule update --init --recursive "$module" - elif [[ $REPLY =~ ^[Qq]$ ]]; then - exit 0 - elif [[ $REPLY =~ ^[Nn]$ ]]; then - done=1 - elif [[ $REPLY == "" || $REPLY == " " || $REPLY =~ ^[Yy]$ ]]; then - done=1 - git submodule update --init --recursive "$module" - else - echo "didn't understand that ($REPLY)" - fi - done -} - -# update a submodule to an expected commit. We give different messages -# for being ahead vs being behind or diverged from the expected commit, -# so this function is parameterized. -fix_submodule () { - path="$1" - expected=$2 - actual=$3 - msg="$4" - prompt="$5" - done=0 - while [ $done == 0 ]; do - noreply=0 - echo -e "$msg" - read -p "$prompt " -n 1 -r -t $PROMPT_TIMEOUT || noreply=1 - echo - if [[ $noreply == 1 || $REPLY == "" || $REPLY == " " || $REPLY =~ ^[Nn]$ ]]; then - done=1 - elif [[ $REPLY =~ ^[Qq]$ ]]; then - exit 1 - elif [[ $REPLY =~ ^[Yy]$ ]]; then - # check if we have this commit locally and can skip the fetch - git cat-file -e $expected^{commit} 2>/dev/null || exitCode=$? - if [ $exitCode != 0 ]; then - git fetch - fi - exitCode=0 - # double-check, we should have the commit now unless something - # weird is going on. - git cat-file -e $expected^{commit} 2>/dev/null || exitCode=$? - if [ $exitCode != 0 ]; then - echo "error: commit $expected was not found in $path" - echo "The remote may have changed in source-build; run 'git submodule sync' and retry." - echo "Are you using a custom remote for this submodule? You may need to pick up changes from upstream." - echo "Canceling remainder of checks." - exit 1 - fi - git checkout $expected - done=1 - else - echo "didn't understand that ($REPLY)" - fi - done -} - -# clean a submodule if the user approves. -clean_submodule() { - path="$1" - msg="$2" - prompt="$3" - done=0 - while [ $done == 0 ]; do - noreply=0 - echo -e "$msg" - read -p "$prompt " -n 1 -r -t $PROMPT_TIMEOUT || noreply=1 - echo - if [[ $noreply == 1 || $REPLY == "" || $REPLY == " " || $REPLY =~ ^[Nn]$ ]]; then - done=1 - elif [[ $REPLY =~ ^[Aa]$ ]]; then - git clean -fxd - git reset --hard HEAD - touch "$CLEAN_ALL_SENTINEL" - done=1 - elif [[ $REPLY =~ ^[Qq]$ ]]; then - exit 1 - elif [[ $REPLY =~ ^[Yy]$ ]]; then - git clean -fxd - git reset --hard HEAD - done=1 - else - echo "didn't understand that ($REPLY)" - fi - done -} - -# We use the same script for checking the super-repo and the submodules. -# Having the first argument be "in-submodule" triggers this submodule behavior. -if [ ${1:-default} == "in-submodule" ]; then - path="$2" - expected_sha=$3 - subcommit=`git rev-parse HEAD` - if [ "$subcommit" != "$expected_sha" ]; then - exitCode=0 - # merge-base fails if the commit is missing, so check for that first. - git cat-file -e $expected_sha^{commit} 2>/dev/null || exitCode=$? - if [ $exitCode != 0 ]; then - mergeBase="missing commit" - else - mergeBase=$(git merge-base HEAD $expected_sha) - fi - if [ "$mergeBase" != "$expected_sha" ]; then - fix_submodule $path $expected_sha $subcommit "warning: submodule $path, currently at $subcommit, has diverged from checked-in version $expected_sha\nif you are changing a submodule branch or moving a submodule backwards, this is expected.\nShould I checkout $path to the expected commit $expected_sha?" "[N]o / [y]es / [q]uit" - else - fix_submodule $path $expected_sha $subcommit "warning: submodule $path, currently at $subcommit, is ahead of checked-in version $expected_sha\nif you are updating a submodule, this is expected.\nShould I checkout $path to the expected commit $expected_sha?" "[N]o / [y]es / [q]uit" - fi - fi - # check for staged changes and unstaged modifications - git diff-index --quiet HEAD -- || exit_code=$? - # check for untracked new files - untracked="$(git ls-files --others --exclude-standard)" - if [[ ${exit_code:-0} != 0 || ! -z "$untracked" ]]; then - if [ -e "$CLEAN_ALL_SENTINEL" ]; then - git clean -fxd - git reset --hard HEAD - else - clean_submodule $path "warning: submodule $path has uncommitted changes\nShould I clean and reset $path (this will lose ALL uncommitted changes)?" "[N]o / [y]es / [a]ll / [q]uit" - fi - fi -# Main branch for super-repo behavior -else - # submodule foreach doesn't work until submodules are init'd, read the modules manually - for module in `git config --file "$SUBMODULES" --get-regexp path | awk '{ print $2 }'` - do - if [ ! -e "$SCRIPT_ROOT/$module/.git" ]; then - if [ $answered_all == 1 ]; then - git submodule update --init --recursive "$module" - else - init_submodule "$module" - fi - fi - done - # kick off the submodule behavior for each repo - rm -f "$CLEAN_ALL_SENTINEL" - git submodule foreach --quiet --recursive "$SCRIPT_ROOT/check-submodules.sh in-submodule \"\$path\" \"\$sha1\"" - rm -f "$CLEAN_ALL_SENTINEL" -fi - diff --git a/clean.sh b/clean.sh deleted file mode 100755 index 53051cf945..0000000000 --- a/clean.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash -set -e - -git submodule foreach --recursive git clean -xdf -git submodule foreach --recursive git reset --hard - -if [ "$*" == "-a" ] -then - echo "Removing all untracked files in the working tree" - git clean -xdf - exit $? -fi diff --git a/docker/README.md b/docker/README.md deleted file mode 100644 index 438e0e8adf..0000000000 --- a/docker/README.md +++ /dev/null @@ -1,63 +0,0 @@ -# Docker Images # - -The following docker images have been verified to successfully build the source-build repo by: - -1. Building source-build -2. Building the resulting tarball -3. Running smoke tests - -| OS | Image Name | Image Source | Verified Source-build Commit / Date | -| :--- | :--- | :--- | :---: | -| CentOS 7.1 | microsoft/dotnet-buildtools-prereqs:centos-7-b46d863-20180719033416 | [Dockerfile](https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blob/b46d86339939ada16dfb8be30ebe62fbd51d3999/src/centos/7/Dockerfile) | [4f3eacd](https://github.com/dotnet/source-build/commit/4f3eacdd0551677444ab917d4e332653672e0bd5) / 2018.09.05 | -| Fedora 28 | microsoft/dotnet-buildtools-prereqs:fedora-28-c103199-20180628122443 | [Dockerfile](https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blob/c103199065cb74842c2983f0422ea4a1f0b0fe25/src/fedora/28/Dockerfile) | [4f3eacd](https://github.com/dotnet/source-build/commit/4f3eacdd0551677444ab917d4e332653672e0bd5) / 2018.09.05 | -| Ubuntu 16.04 | microsoft/dotnet-buildtools-prereqs:ubuntu-16.04-c103199-20180628134544 |[Dockerfile](https://github.com/dotnet/dotnet-buildtools-prereqs-docker/blob/c103199065cb74842c2983f0422ea4a1f0b0fe25/src/ubuntu/16.04/Dockerfile) | [4f3eacd](https://github.com/dotnet/source-build/commit/4f3eacdd0551677444ab917d4e332653672e0bd5) / 2018.09.05 | - -## Building source-build with Docker ## - -### Running an interactive docker container ### -``` -### Run a bash shell inside a docker container. All later steps run in the interactive shell. -docker run -it --rm /bin/bash - -### Clone source-build repo -git clone https://github.com/dotnet/source-build -cd source-build - -### Build source-build to create a tarball -./build-source-tarball.sh ../tarball - -### Build the tarball -cd ../tarball -./build.sh - -### Run smoke tests -./smoke-test.sh - -### Clean up the container when you're done working with the build results -exit -``` - -### Running with a docker volume ### -Running build commands in a docker container with a docker volume for a working directory. A docker volume allows you to persist data across docker container instances. -``` -### Create a volume on which to build source-build -docker volume create source-build-volume - -### Clone source-build repo -docker run --rm --mount source=source-build-volume,target=/src -w /src /bin/bash -c "git clone https://github.com/dotnet/source-build" - -### Build source-build to create a tarball -docker run --rm --mount source=source-build-volume,target=/src -w /src/source-build /bin/bash -c "./build-source-tarball.sh ../tarball" - -### Build the tarball -docker run --rm --mount source=source-build-volume,target=/src -w /src/tarball /bin/bash -c "./build.sh" - -### Run smoke tests -docker run --rm --mount source=source-build-volume,target=/src -w /src/tarball /bin/bash -c "./smoke-test.sh" - -### Run an interactive container with the docker volume -docker run -it --rm --mount source-build-volume,target=/src -w /src /bin/bash - -### Remove a volume when finished with it -docker volume rm source-build-volume -``` \ No newline at end of file diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml deleted file mode 100644 index 0b7309c6e9..0000000000 --- a/eng/Version.Details.xml +++ /dev/null @@ -1,140 +0,0 @@ - - - - - https://github.com/dotnet/arcade - 6eec4404c2df5bfa46e5da52383c881c5cca3a9f - - - https://github.com/dotnet/source-build-reference-packages - e1bdd33da5caadf0c1bc12d2da5212cee50c6c06 - - - - - https://github.com/dotnet/sourcelink - f175b06862f889474b689a57527e489101c774cc - - - - - https://github.com/aspnet/xdt - c01a538851a8ab1a1fbeb2e6243f391fff7587b4 - aspnet-xdt - - - https://github.com/mono/linker - 6a15056a9d71169bf04d007301edfd558afcfa6a - linker - - - https://github.com/dotnet/runtime - 478b2f8c0e480665f6c52c95cd57830784dc9560 - runtime - runtime-portable - - - https://github.com/dotnet/templating - 50e1aa014b0b35cb9aa2c5157d054ee654949dff - - - https://github.com/dotnet/test-templates - a2b05d8171915c69ad97ab5d49bbb07d2c780a67 - - - - https://github.com/dotnet/command-line-api - 6ddde11ed45e3f4b9d80c97670f347dbfda15c3f - - - https://github.com/dotnet/roslyn - 59eedc33d35754759994155ea2f4e1012a9951e3 - - - https://github.com/dotnet/msbuild - 5e4b48a27efce55a613664b58d353ab4c8d1f6c1 - - - https://github.com/dotnet/roslyn-analyzers - 755ceda71eaa7f2356fa0f310fea13bb529266f5 - - - https://github.com/nuget/nuget.client - d525b0e670f3b6cbd5c73a35f04730a9f658c852 - nuget-client - - - https://github.com/dotnet/sdk - b8025906f7463b6e477893c81238dc7003b353a3 - sdk - - - https://github.com/dotnet/CliCommandLineParser - 0e89c2116ad28e404ba56c14d1c3f938caa25a01 - clicommandlineparser - - - https://github.com/Microsoft/ApplicationInsights-dotnet - 53b80940842204f78708a538628288ff5d741a1d - application-insights - - - - https://github.com/dotnet/xliff-tasks - d2bec3a64076f8463de4756913712badfce0a01d - - - https://github.com/dotnet/aspnetcore - f3eeec88e64270e9e783d713fea8503f28b1a932 - aspnetcore - - - https://github.com/dotnet/fsharp - 7ce7132f1459095e635194d09d6f73265352029a - - - https://github.com/microsoft/vstest - 99b911a57a02fc5d2eeef23e9ab8cbea4505678b - - - https://github.com/dotnet/installer - b5f47e6c6aa198df48121dc3076c9626f50b116e - installer - - - https://github.com/dotnet/diagnostics - 47296ca69bb66180c132f3b16667f904dfc7c6c7 - - - - https://github.com/adaggarwal/Newtonsoft.Json - cac0690ad133c5e166ce5642dc71175791404fad - newtonsoft-json - - - https://github.com/dotnet/symreader - f8a3ba85aed339fb8d08ca26f3876b28c32d58ee - symreader - - - - https://github.com/adaggarwal/Newtonsoft.Json - e43dae94c26f0c30e9095327a3a9eac87193923d - newtonsoft-json901 - - - - https://github.com/aspnet/common - 6e37cdfe96ac8b06a923242120169fafacd720e6 - - - https://github.com/dotnet/cssparser - d6d86bcd8c162b1ae22ef00955ff748d028dd0ee - - - https://github.com/Humanizr/Humanizer - b30550eed103a6970d8465fe7c5c16300b70be81 - humanizer - - - diff --git a/eng/Versions.props b/eng/Versions.props index dc2fd3ba21..79761e7bd2 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -24,6 +24,6 @@ 1.0.0-beta.20623.1 - 0.1.0-5.0.202-1088763-20210414.1 + 0.1.0-6.0.100-bootstrap.3 diff --git a/extract-patches.sh b/extract-patches.sh deleted file mode 100755 index 1cecd5e11f..0000000000 --- a/extract-patches.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail -IFS=$'\n\t' - -getIndexedSubmoduleSha() { - ( - cd ".." - git ls-tree HEAD "$REPO_NAME" | awk '{print $3}' - ) -} - -SOURCE="${BASH_SOURCE[0]}" -while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink - DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - SOURCE="$(readlink "$SOURCE")" - [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located -done -DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" - -REPO_NAME=$(basename $(pwd)) -PATCHES_DIR=$DIR/patches/$REPO_NAME -BASE_SHA=${1:-$(getIndexedSubmoduleSha)} - -if [ ! -d $PATCHES_DIR ]; then - mkdir -p $PATCHES_DIR -fi - -$(rm $PATCHES_DIR/*.patch || true) - -git format-patch -N -o $PATCHES_DIR $BASE_SHA - -git reset --hard $BASE_SHA diff --git a/global.json b/global.json index 1139f0d04c..f48709aa63 100644 --- a/global.json +++ b/global.json @@ -1,12 +1,12 @@ { "tools": { - "dotnet": "5.0.202" + "dotnet": "6.0.100-preview.5.21225.11" }, "msbuild-sdks": { "Microsoft.Build.CentralPackageVersions": "2.0.1", "Microsoft.Build.Traversal": "2.0.2", "Microsoft.NET.Sdk.IL": "3.0.0-preview-27107-01", - "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.20426.4", + "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21304.1", "Yarn.MSBuild": "1.15.2" } } diff --git a/support/tarball/prep.sh b/prep.sh similarity index 75% rename from support/tarball/prep.sh rename to prep.sh index 1b1278995f..58cf90e403 100755 --- a/support/tarball/prep.sh +++ b/prep.sh @@ -7,8 +7,8 @@ SCRIPT_ROOT="$(cd -P "$( dirname "$0" )" && pwd)" usage() { echo "usage: $0" echo "" - echo " Prepares a tarball to be built by downloading Private.SourceBuild.ReferencePackages.*.tar.gz and" - echo " Private.SourceBuilt.Artifacts.*.tar.gz and installing the version of dotnet referenced in global.json" + echo " Prepares a tarball to be built by downloading Private.SourceBuilt.Artifacts.*.tar.gz and" + echo " installing the version of dotnet referenced in global.json" echo "" } @@ -37,7 +37,6 @@ if [ ! -f $SCRIPT_ROOT/packages/archive/archiveArtifacts.txt ]; then exit -1 fi -downloadRefPkgs=true downloadArtifacts=true installDotnet=true @@ -48,12 +47,6 @@ then exit -1 fi -# Check if the reference packages archive exists -if [ -f $SCRIPT_ROOT/packages/archive/Private.SourceBuild.ReferencePackages.*.tar.gz ]; then - echo " Private.SourceBuild.ReferencePackages.*.tar.gz exists...it will not be downloaded" - downloadRefPkgs=false -fi - # Check if Private.SourceBuilt artifacts archive exists if [ -f $SCRIPT_ROOT/packages/archive/Private.SourceBuilt.Artifacts.*.tar.gz ]; then echo " Private.SourceBuilt.Artifacts.*.tar.gz exists...it will not be downloaded" @@ -68,12 +61,6 @@ fi # Read the archive text file to get the archives to download and download them while read -r line; do - if [[ $line == *"Private.SourceBuild.ReferencePackages"* ]]; then - if [ "$downloadRefPkgs" == "true" ]; then - echo " Downloading ref pkgs..." - (cd $SCRIPT_ROOT/packages/archive/ && curl -O $line) - fi - fi if [[ $line == *"Private.SourceBuilt.Artifacts"* ]]; then if [ "$downloadArtifacts" == "true" ]; then echo " Downloading source-built artifacts..." diff --git a/repos/Directory.Build.props b/repos/Directory.Build.props index 386dabf5da..8518553928 100644 --- a/repos/Directory.Build.props +++ b/repos/Directory.Build.props @@ -62,6 +62,7 @@ + + + + + + + + + logger_path="%24toolset_dir"/%24%28cd "$toolset_dir" && find . -name Microsoft.DotNet.Arcade.Sdk.dll \( -regex '.*netcoreapp2.1.*' -or -regex '.*net5.0.*' \) ) + + + + logger_path="%24toolset_dir"/%24%28cd "$toolset_dir" && find . -name Microsoft.DotNet.ArcadeLogging.dll \( -regex '.*netcoreapp2.1.*' -or -regex '.*net5.0.*' \) ) + + + + $(ArcadeLoggingReplacementText) + if [[ ! -f $logger_path ]]; then + $(ArcadeSdkReplacementText) + fi + + + + + NewText="$(LoggerPathReplacementText)" /> + + + + + @@ -113,10 +165,13 @@ - + + + + <_BuiltIntermediatePackages Condition="'$(PackagesOutput)' != ''" Include="$(PackagesOutput)/Microsoft.SourceBuild.Intermediate.*.nupkg" Exclude="$(PackagesOutput)/*.symbols.nupkg"/> + <_BuiltIntermediatePackages Condition="'@(PackagesOutputList)' != ''" Include="%(PackagesOutputList.Identity)/Microsoft.SourceBuild.Intermediate.*.nupkg" Exclude="%(PackagesOutputList.Identity)/*.symbols.nupkg"/> + + + + + <_DestinationPath>$(SourceBuiltPackagesPath) + + <_DestinationPath Condition="$([System.String]::Copy(%(_BuiltIntermediatePackages.Identity)).Contains('source-build-reference-packages'))">$(ReferencePackagesDir) + + + + + + + + + + + + + + + + + + + diff --git a/repos/arcade.proj b/repos/arcade.proj index d6a9836a5e..719b3e50db 100644 --- a/repos/arcade.proj +++ b/repos/arcade.proj @@ -13,6 +13,8 @@ $(BuildCommandArgs) -bl $(BuildCommandArgs) -ci $(BuildCommandArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg) + $(BuildCommandArgs) /p:ArcadeBuildFromSource=true + $(BuildCommandArgs) /p:CopyWipIntoInnerSourceBuildRepo=true $(ProjectDirectory)\build$(ShellExtension) $(BuildCommandArgs) @@ -37,7 +39,6 @@ - @@ -49,8 +50,11 @@ + diff --git a/repos/known-good.proj b/repos/known-good.proj index d1d2c63204..6d7f420941 100644 --- a/repos/known-good.proj +++ b/repos/known-good.proj @@ -26,48 +26,10 @@ + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/repos/linker.proj b/repos/linker.proj index 61a524c16e..823dde0836 100644 --- a/repos/linker.proj +++ b/repos/linker.proj @@ -5,22 +5,20 @@ Microsoft.NET.ILLink.Tasks - restore /bl:restore.binlog - $(BuildCommandArgs) $(ProjectDirectory)illink.sln + $(BuildCommandArgs) $(FlagParameterPrefix)ci + $(BuildCommandArgs) $(FlagParameterPrefix)configuration $(Configuration) + $(BuildCommandArgs) $(FlagParameterPrefix)restore + $(BuildCommandArgs) $(FlagParameterPrefix)build + $(BuildCommandArgs) $(FlagParameterPrefix)pack + $(BuildCommandArgs) $(FlagParameterPrefix)publish + $(BuildCommandArgs) -bl - - $(BuildCommandArgs) /p:ILLinkBuild=true - $(BuildCommandArgs) /p:NetStandard=true + $(BuildCommandArgs) /p:ArcadeBuildFromSource=true + $(BuildCommandArgs) /p:CopyWipIntoInnerSourceBuildRepo=true - $(DotNetCliToolDir)dotnet $(BuildCommandArgs) + $(ProjectDirectory)\build$(ShellExtension) $(BuildCommandArgs) - pack /bl:pack.binlog - $(BuildPackagesCommandArgs) /p:Configuration=illink_$(Configuration) - $(BuildPackagesCommandArgs) /p:Version=$(OutputPackageVersion) - $(BuildPackagesCommandArgs) $(ProjectDirectory)src/ILLink.Tasks/ILLink.Tasks.csproj - $(DotNetCliToolDir)dotnet $(BuildPackagesCommandArgs) - - $(ProjectDirectory)artifacts/packages/illink_$(Configuration)/NonShipping/ + $(ProjectDirectory)artifacts/packages/$(Configuration)/NonShipping/ false $(ProjectDirectory)/NuGet.config @@ -32,7 +30,8 @@ - + diff --git a/repos/runtime.common.props b/repos/runtime.common.props index 97ceb231ee..16e04fcd55 100644 --- a/repos/runtime.common.props +++ b/repos/runtime.common.props @@ -132,7 +132,6 @@ - diff --git a/repos/source-build-reference-packages.proj b/repos/source-build-reference-packages.proj new file mode 100644 index 0000000000..0bfe4116c3 --- /dev/null +++ b/repos/source-build-reference-packages.proj @@ -0,0 +1,30 @@ + + + + + $(BuildCommandArgs) $(FlagParameterPrefix)ci + $(BuildCommandArgs) $(FlagParameterPrefix)configuration $(Configuration) + $(BuildCommandArgs) $(FlagParameterPrefix)restore + $(BuildCommandArgs) $(FlagParameterPrefix)build + $(BuildCommandArgs) $(FlagParameterPrefix)pack + $(BuildCommandArgs) $(FlagParameterPrefix)publish + $(BuildCommandArgs) -bl + + $(BuildCommandArgs) /p:ArcadeBuildFromSource=true + $(BuildCommandArgs) /p:CopyWipIntoInnerSourceBuildRepo=true + + $(ProjectDirectory)\build$(ShellExtension) $(BuildCommandArgs) + + false + $(ProjectDirectory)artifacts/packages/$(Configuration)/NonShipping/ + + + true + + + + + + + + diff --git a/repos/sourcelink.proj b/repos/sourcelink.proj index 8a042f1459..e0b4cca885 100644 --- a/repos/sourcelink.proj +++ b/repos/sourcelink.proj @@ -8,13 +8,15 @@ $(BuildCommandArgs) $(FlagParameterPrefix)binaryLog $(BuildCommandArgs) $(FlagParameterPrefix)ci $(BuildCommandArgs) $(FlagParameterPrefix)warnAsError $(ArcadeFalseBoolBuildArg) + $(BuildCommandArgs) /p:ArcadeBuildFromSource=true + $(BuildCommandArgs) /p:CopyWipIntoInnerSourceBuildRepo=true $(ProjectDirectory)build$(ShellExtension) $(BuildCommandArgs) $(ProjectDirectory)global.json $(ProjectDirectory)NuGet.config true false - $(ProjectDirectory)artifacts/packages/$(Configuration)/Shipping/ + $(ProjectDirectory)artifacts/packages/$(Configuration)/NonShipping/ true diff --git a/src/Directory.Build.props b/src/Directory.Build.props deleted file mode 100644 index 28240c4283..0000000000 --- a/src/Directory.Build.props +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets deleted file mode 100644 index 28240c4283..0000000000 --- a/src/Directory.Build.targets +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/src/netcorecli-fsc/.gitattributes b/src/netcorecli-fsc/.gitattributes deleted file mode 100644 index 9c8a83feda..0000000000 --- a/src/netcorecli-fsc/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -Sdk/** text=unset - diff --git a/src/netcorecli-fsc/FSharp.NET.Sdk.csproj b/src/netcorecli-fsc/FSharp.NET.Sdk.csproj deleted file mode 100644 index af83f3675d..0000000000 --- a/src/netcorecli-fsc/FSharp.NET.Sdk.csproj +++ /dev/null @@ -1,9 +0,0 @@ - - - - netcoreapp2.0 - true - false - - - diff --git a/src/netcorecli-fsc/FSharp.NET.Sdk.nuspec b/src/netcorecli-fsc/FSharp.NET.Sdk.nuspec deleted file mode 100644 index fec0dcbfc7..0000000000 --- a/src/netcorecli-fsc/FSharp.NET.Sdk.nuspec +++ /dev/null @@ -1,21 +0,0 @@ - - - - FSharp.NET.Sdk - 1.0.4-bundled-0100 - Enrico Sada - Enrico Sada - false - https://github.com/dotnet/netcorecli-fsc - SDK for F# bundled inside .NET Core SDK - Compatible with .NET Core Sdk 1.0.1 - f# sdk fsharp msbuild - - - - - - - - - diff --git a/src/netcorecli-fsc/Sdk/Sdk.OnRestore.targets b/src/netcorecli-fsc/Sdk/Sdk.OnRestore.targets deleted file mode 100644 index cd46c99f93..0000000000 --- a/src/netcorecli-fsc/Sdk/Sdk.OnRestore.targets +++ /dev/null @@ -1,16 +0,0 @@ - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - - $(MSBuildExtensionsPath)\Microsoft\VisualStudio\Managed\Microsoft.FSharp.DesignTime.targets - - - - - - diff --git a/src/netcorecli-fsc/Sdk/Sdk.props b/src/netcorecli-fsc/Sdk/Sdk.props deleted file mode 100644 index 452a9fb8f4..0000000000 --- a/src/netcorecli-fsc/Sdk/Sdk.props +++ /dev/null @@ -1,13 +0,0 @@ - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - false - - - {6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705} - - - diff --git a/src/netcorecli-fsc/Sdk/Sdk.targets b/src/netcorecli-fsc/Sdk/Sdk.targets deleted file mode 100644 index f5ed381f1e..0000000000 --- a/src/netcorecli-fsc/Sdk/Sdk.targets +++ /dev/null @@ -1,39 +0,0 @@ - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - - - - - - - - - - - - $(MSBuildThisFileDirectory)Sdk.OnRestore.targets - - - $(FSharpLanguageTargets) - - - diff --git a/support/tarball/PackageVersions.props b/support/tarball/PackageVersions.props deleted file mode 100644 index 08ad028a37..0000000000 --- a/support/tarball/PackageVersions.props +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/support/tarball/build.sh b/support/tarball/build.sh index 361d9950a0..13f8ccc7b0 100755 --- a/support/tarball/build.sh +++ b/support/tarball/build.sh @@ -31,15 +31,6 @@ while :; do alternateTarget=true MSBUILD_ARGUMENTS+=( "/t:RunSmokeTest" ) ;; - --with-ref-packages) - CUSTOM_REF_PACKAGES_DIR="$(cd -P "$2" && pwd)" - if [ ! -d "$CUSTOM_REF_PACKAGES_DIR" ]; then - echo "Custom reference packages directory '$CUSTOM_REF_PACKAGES_DIR' does not exist" - exit 1 - fi - MSBUILD_ARGUMENTS+=( "/p:CustomReferencePackagesPath=$CUSTOM_REF_PACKAGES_DIR" ) - shift - ;; --with-packages) CUSTOM_PREVIOUSLY_BUILT_PACKAGES_DIR="$(cd -P "$2" && pwd)" if [ ! -d "$CUSTOM_PREVIOUSLY_BUILT_PACKAGES_DIR" ]; then @@ -89,17 +80,12 @@ if [ -f "$SCRIPT_ROOT/packages/archive/archiveArtifacts.txt" ]; then echo "ERROR: Private.SourceBuilt.Artifacts artifact not found at $SCRIPT_ROOT/packages/archive/ - Either run prep.sh or pass --with-packages parameter" ARCHIVE_ERROR=1 fi - if [ ! -f $SCRIPT_ROOT/packages/archive/Private.SourceBuild.ReferencePackages*.tar.gz ] && [ "$CUSTOM_REF_PACKAGES_DIR" == "" ]; then - echo "ERROR: Private.SourceBuild.ReferencePackages artifact not found at $SCRIPT_ROOT/packages/archive/ - Either run prep.sh or pass --with-ref-packages parameter" - ARCHIVE_ERROR=1 - fi if [ $ARCHIVE_ERROR == 1 ]; then echo "" - echo " Errors detected in tarball. To prep the tarball, run prep.sh while online to install an SDK," - echo " a Private.SourceBuilt.Artifacts tarball and a Private.SourceBuild.ReferencePackages tarball." - echo " After prepping the tarball, the tarball can be built offline. As an alternative to prepping" - echo " the tarball, these assets can be provided using the --with-sdk, --with-packages and" - echo " --with-ref-packages parameters." + echo " Errors detected in tarball. To prep the tarball, run prep.sh while online to install an SDK" + echo " and Private.SourceBuilt.Artifacts tarball. After prepping the tarball, the tarball can be" + echo " built offline. As an alternative to prepping the tarball, these assets can be provided using" + echo " the --with-sdk and --with-packages parameters" exit 1 fi fi @@ -160,13 +146,7 @@ if [[ $sourceLinkLine =~ $versionPattern ]]; then export SOURCE_LINK_BOOTSTRAP_VERSION=${BASH_REMATCH[1]} fi -dotNetHostLine=`grep -m 1 'MicrosoftNETCoreDotNetHostVersion' "$packageVersionsPath"` -versionPattern="(.*)" -if [[ $dotNetHostLine =~ $versionPattern ]]; then - export DOTNET_HOST_BOOTSTRAP_VERSION=${BASH_REMATCH[1]} -fi - -echo "Found bootstrap SDK $SDK_VERSION, bootstrap Arcade $ARCADE_BOOTSTRAP_VERSION, bootstrap SourceLink $SOURCE_LINK_BOOTSTRAP_VERSION, bootstrap DotNetHost $DOTNET_HOST_BOOTSTRAP_VERSION" +echo "Found bootstrap SDK $SDK_VERSION, bootstrap Arcade $ARCADE_BOOTSTRAP_VERSION, bootstrap SourceLink $SOURCE_LINK_BOOTSTRAP_VERSION" export DOTNET_CLI_TELEMETRY_OPTOUT=1 export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 diff --git a/support/tarball/smoke-testNuGet.Config b/support/tarball/smoke-testNuGet.Config deleted file mode 100644 index d17b96948d..0000000000 --- a/support/tarball/smoke-testNuGet.Config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/support/tarball/tool-bootstrapping/bootstrap.sh b/support/tarball/tool-bootstrapping/bootstrap.sh deleted file mode 100755 index 2510edc9df..0000000000 --- a/support/tarball/tool-bootstrapping/bootstrap.sh +++ /dev/null @@ -1,208 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail -IFS=$'\n\t' - -SCRIPT_ROOT="$(cd -P "$( dirname "$0" )" && pwd)" - -usage() { - echo "usage: $0 [ ]" - echo "" - echo " Creates a new directory and runs the bootstrap scripts using the tarball and reference package source paths given" - echo "" - echo " Steps:" - echo " 1. Build stage1 sdk and arcade from tarball using stage0 sdk and ref-pkgs in the tarball" - echo " 2. Build final ref-pkgs using stage1 sdk and arcade" - echo " 3. Build final sdk using final ref-pkgs and stage1 sdk and arcade" - echo "" -} - -function LogMessage { - local message=$1 - local dt=`date '+%d/%m/%Y %H:%M:%S'` - local outFile="$bootstrapDir/status.log" - - echo "===================================================================================================" - echo "= $message " - echo "===================================================================================================" - - echo "[$dt] : $message" >> "$outFile" -} - -function BuildStage1Sdk { - LogMessage "Starting Step1 - Build stage1 sdk" - - if [ -d "$stage1Dir" ]; then - echo "$stage1Dir already exists" - echo "exiting..." - exit 1 - fi - - if [ ! -d "$tarballSourceDir" ]; then - echo "$tarballSourceDir doesn't exist" - echo "exiting..." - exit 1 - fi - - # Copy tarball-source to stage1 directory - LogMessage "Copy $tarballSourceDir to $stage1Dir" - cp -r $tarballSourceDir $stage1Dir - - # Build stage1 source - LogMessage "Building stage1" - pushd $stage1Dir - ./build.sh - popd - - LogMessage "Completing Step1 - Build stage1 sdk" -} - -function BuildRefPkgs { - LogMessage "Starting Step2 - Build Reference Packages" - - if [ ! -d "$refPkgSourceDir" ]; then - echo "$refPkgSourceDir doesn't exist" - echo "exiting..." - exit 1 - fi - - if [ -d "$refPkgsDir" ]; then - echo "$refPkgsDir already exists" - echo "exiting..." - exit 1 - fi - - if [ ! -d "$stage1Dir" ]; then - echo "$stage1Dir doesn't exist" - echo "exiting..." - exit 1 - fi - - LogMessage "Copy $refPkgSourceDir to $refPkgsDir" - cp -r $refPkgSourceDir $refPkgsDir - - LogMessage "Un-tar sdk into $stage1SdkInstallDir" - if [ -d "$stage1SdkInstallDir" ]; then - rm -rf $stage1SdkInstallDir - fi - mkdir $stage1SdkInstallDir - tar -xzf $stage1Dir/artifacts/x64/Release/dotnet-sdk-5*.tar.gz --directory $stage1SdkInstallDir - - LogMessage "Build stage1 ref-pkgs" - pushd $refPkgsDir - ./build.sh --with-packages $stage1Dir/artifacts/x64/Release/Private.SourceBuilt.Artifacts.*.tar.gz --with-sdk $stage1SdkInstallDir - popd - - LogMessage "Completing Step2 - Build Reference Packages" -} - -function buildFinalSdk { - LogMessage "Starting Step3 - Build final sdk" - - if [ -d "$finalSdkDir" ] && [ "${1-default}" != "test" ]; then - echo "$finalSdkDir already exists" - echo "exiting..." - exit 1 - fi - - if [ ! -d "$stage1Dir" ]; then - echo "$stage1Dir doesn't exist" - echo "exiting..." - exit 1 - fi - - if [ ! -d "$refPkgsDir" ]; then - echo "$refPkgsDir doesn't exist" - echo "exiting..." - exit 1 - fi - - if [ ! -d "$tarballSourceDir" ]; then - echo "$tarballSourceDir doesn't exist" - echo "exiting..." - exit 1 - fi - - if [ "${1-default}" != "test" ]; then - LogMessage "Copy $tarballSourceDir to $finalSdkDir" - cp -r $tarballSourceDir $finalSdkDir - fi - - LogMessage "Remove archive packages, source-built packages and SDK from final-sdk dir" - rm -rf $finalSdkDir/packages/archive - rm -rf $finalSdkDir/packages/source-built/* - rm -rf $finalSdkDir/.dotnet - - LogMessage "Install previously source-built archive from $stage1Dir/artifacts/x64/Release/Private.SourceBuilt.Artifacts*.tar.gz to $stage1SourceBuiltArtifactsInstallDir" - mkdir -p $stage1SourceBuiltArtifactsInstallDir - tar -xzf $stage1Dir/artifacts/x64/Release/Private.SourceBuilt.Artifacts*.tar.gz --directory $stage1SourceBuiltArtifactsInstallDir - - LogMessage "Build final sdk" - pushd $finalSdkDir - ./build.sh --with-ref-packages $refPkgsDir/artifacts/reference-packages --with-packages $stage1SourceBuiltArtifactsInstallDir --with-sdk $stage1SdkInstallDir - popd - - LogMessage "Completing Step3 - Build final sdk" -} - -function abspath() { - # $1 : relative filename - parentdir=$(dirname "$1") - - if [ -d "$1" ]; then - echo "$(cd "$1" && pwd)" - elif [ -d "${parentdir}" ]; then - echo "$(cd "${parentdir}" && pwd)/$(basename "$1")" - fi -} - -if [ -z "${3:-}" ]; then - usage - exit 1 -fi - -bootstrapDir="$(abspath $1)" -tarballSourceDir="$(abspath $2)" -refPkgSourceDir="$(abspath $3)" -startStep="${4:-}" - -stage1Dir="$bootstrapDir/stage1-sdk" -stage1SdkInstallDir="$bootstrapDir/stage1-sdk-install" -stage1SourceBuiltArtifactsInstallDir="$bootstrapDir/stage1-source-built-artifacts-install" -refPkgsDir="$bootstrapDir/reference-packages" -finalSdkDir="$bootstrapDir/final-sdk" - -if [[ -d "$bootstrapDir" && "$startStep" == "" ]]; then - echo "$bootstrapDir already exists" - echo "exiting..." - exit 1 -fi - -if [ ! -d "$bootstrapDir" ]; then - mkdir "$bootstrapDir" -fi - -# Check network access -if command -v wget 2>/dev/null; then - if wget -q --spider http://www.microsoft.com 2>/dev/null; then - echo "Network can be off for bootstrapping..." - read -n1 -r -p "Press space to continue..." key - echo "" - fi - if wget -q --spider http://www.microsoft.com 2>/dev/null; then - LogMessage "Network is ON" - else - LogMessage "Network is OFF" - fi -else - LogMessage "Unknown network status" -fi - -if [[ "$startStep" == "" || "$startStep" == "1" ]]; then - BuildStage1Sdk -fi -if [[ "$startStep" == "" || "$startStep" == "2" ]]; then - BuildRefPkgs -fi -if [[ "$startStep" == "" || "$startStep" == "3" ]]; then - buildFinalSdk -fi diff --git a/test/exclusions/corefx/linux.docker.rsp b/test/exclusions/corefx/linux.docker.rsp deleted file mode 100755 index f64efa9641..0000000000 --- a/test/exclusions/corefx/linux.docker.rsp +++ /dev/null @@ -1,61 +0,0 @@ -# Ignore the tests that are to be circumvented for CI --notrait category=IgnoreForCI - -# Ignore any other failing tests for SB coreFX tests --notrait category=failing - -# System.Diagnostics.Tests.ProcessTests --nomethod System.Diagnostics.Tests.ProcessTests.TestBasePriorityOnUnix --nomethod System.Diagnostics.Tests.ProcessTests.TestPriorityClassUnix - -# System.Net.Http.Functional.Tests --nomethod System.Net.Http.Functional.Tests.PlatformHandler_HttpClientHandlerTest.GetAsync_SecureAndNonSecureIPBasedUri_CorrectlyFormatted --nomethod System.Net.Http.Functional.Tests.PlatformHandler_HttpClientHandlerTest.GetAsync_IPBasedUri_Success --nomethod System.Net.Http.Functional.Tests.SocketsHttpHandler_HttpClientHandlerTest.GetAsync_IPBasedUri_Success --nomethod System.Net.Http.Functional.Tests.SocketsHttpHandler_HttpClientHandlerTest.GetAsync_SecureAndNonSecureIPBasedUri_CorrectlyFormatted --nomethod System.Net.Http.Functional.Tests.SocketsHttpHandlerTest_HttpClientHandlerTest_Http2.GetAsync_IPBasedUri_Success --nomethod System.Net.Http.Functional.Tests.SocketsHttpHandlerTest_HttpClientHandlerTest_Http2.GetAsync_SecureAndNonSecureIPBasedUri_CorrectlyFormatted - -# System.Net.NetworkInformation.Tests --nomethod System.Net.NetworkInformation.Tests.NetworkInterfaceBasicTest.NetworkInterface_LoopbackInterfaceIndex_MatchesReceivedPackets --nomethod System.Net.NetworkInformation.Tests.IPGlobalPropertiesTest.IPGlobalProperties_TcpActiveConnections_Succeed --nomethod System.Net.NetworkInformation.Tests.IPGlobalPropertiesTest.IPGlobalProperties_TcpListeners_Succeed --nomethod System.Net.NetworkInformation.Tests.UnixPingUtilityTests.PacketSizeIsRespected - -# System.Net.Ping.Functional.Tests - most are failing, disable all --noclass System.Net.NetworkInformation.Tests.PingTest - -# System.Net.Security.Tests --noclass System.Net.Security.Tests.ServerNoEncryptionTest --noclass System.Net.Security.Tests.ClientAsyncAuthenticateTest --noclass System.Net.Security.Tests.ServerAsyncAuthenticateTest --nomethod System.Net.Security.Tests.CertificateValidationClientServer.CertificateValidationClientServer_EndToEnd_Ok - -# System.Net.Sockets.Tests --noclass System.Net.Sockets.Tests.DualModeAccept --noclass System.Net.Sockets.Tests.DualModeAcceptAsync --noclass System.Net.Sockets.Tests.DualModeConnectToIPAddress --nomethod System.Net.Sockets.Tests.DualModeConnectToIPEndPoint.ConnectV6IPEndPointToV6Host_Success --nomethod System.Net.Sockets.Tests.DualModeConnectToIPEndPoint.ConnectV6IPEndPointToDualHost_Success --nomethod System.Net.Sockets.Tests.DualModeConnectToIPAddressArray.DualModeConnect_IPAddressListToHost_Success --noclass System.Net.Sockets.Tests.DualModeBeginAccept --noclass System.Net.Sockets.Tests.DualModeBeginConnectToIPAddress --noclass System.Net.Sockets.Tests.DualModeConnectToDnsEndPoint --noclass System.Net.Sockets.Tests.SendPacketsAsync --noclass System.Net.Sockets.Tests.DualModeBeginConnectToIPEndPoint --nomethod System.Net.Sockets.Tests.DualModeBind.BindV6IPEndPoint_Success --noclass System.Net.Sockets.Tests.DualModeConnectAsync --nomethod System.Net.Sockets.Tests.TcpClientTest.Connect_Dual_Success --nomethod System.Net.Sockets.Tests.ArgumentValidation.Socket_Connect_IPv6AddressAsStringHost_Supported --nomethod System.Net.Sockets.Tests.ArgumentValidation.Socket_ConnectAsync_IPv6AddressAsStringHost_Supported --nomethod System.Net.Sockets.Tests.DualModeConnectToHostString.DualModeConnect_LoopbackDnsToHost_Helper - -# System.Runtime.Loader.Tests --nomethod System.Runtime.Loader.Tests.DefaultLoadContextTests.LoadInDefaultContext - -# System.Security.Cryptography.X509Certificates.Tests --nomethod System.Security.Cryptography.X509Certificates.Tests.X509StoreTests.X509Store_MachineStoreLoadSkipsInvalidFiles - -# System.Console.Tests --nomethod Color.NonRedirectedOutputDoesUseAnsiSequences - diff --git a/tools-local/init-build.proj b/tools-local/init-build.proj index b793ac796f..a79124f44a 100644 --- a/tools-local/init-build.proj +++ b/tools-local/init-build.proj @@ -9,12 +9,16 @@ + - + + $(ReferencePackagesDir)%3B$(PrebuiltPackagesPath) @@ -22,12 +26,8 @@ @@ -45,10 +45,12 @@ Condition="'$(OfflineBuild)' == 'true'" Inputs="$(MSBuildProjectFullPath)" Outputs="$(CompletedSemaphorePath)UnpackTarballs.complete" > - - + + + + + + + + @@ -139,33 +150,4 @@ - - - - - - - - - - - - - - - - -