# A pattern matching all packages in the set that the versions repository should be set to.
[Parameter(Mandatory=$true)][string]$nupkgPath)
+& "$PSScriptRoot\init-tools.cmd"
& "$PSScriptRoot\dotnet.cmd" msbuild /nologo /verbosity:minimal /clp:Summary /nodeReuse:false `
/l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll`;LogFile=binclash.log `
/p:RestoreDefaultOptimizationDataPackage=false `
# init the target distro name
initTargetDistroRid
-# Override tool directory
+# Restore Build Tools
+source $__ProjectRoot/init-tools.sh
if [[ (-z "$__GenerateLayoutOnly") && (-z "$__GenerateTestHostOnly") && (-z "$__BuildTestWrappersOnly") ]]; then
build_Tests
:: __BinDir -- default: %__RootBinDir%\%__BuildOS%.%__BuildArch.%__BuildType%\
:: __IntermediatesDir
:: __PackagesBinDir -- default: %__BinDir%\.nuget
-:: __TestWorkingDir -- default: %__RootBinDir%\tests\%__BuildOS%.%__BuildArch.%__BuildType%\
::
:: Thus, these variables are not simply internal to this script!
REM ===
REM =========================================================================================
+set OptDataProjectFilePath=%__ProjectDir%\src\.nuget\optdata\optdata.csproj
if %__RestoreOptData% EQU 1 (
echo %__MsgPrefix%Restoring the OptimizationData Package
- call %__ProjectDir%\dotnet.cmd msbuild /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^
- /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^
- /p:UsePartialNGENOptimization=false /maxcpucount^
- ./build.proj /t:RestoreOptData^
+ call %__ProjectDir%\dotnet.cmd restore /nologo /verbosity:minimal^
+ /nodeReuse:false /maxcpucount^
+ %OptDataProjectFilePath%^
%__CommonMSBuildArgs% %__UnprocessedBuildArgs%
if not !errorlevel! == 0 (
echo %__MsgPrefix%Error: Failed to restore the optimization data package.
)
REM Parse the optdata package versions out of msbuild so that we can pass them on to CMake
-set OptDataProjectFilePath=%__ProjectDir%\src\.nuget\optdata\optdata.csproj
for /f "tokens=*" %%s in ('call "%__ProjectDir%\dotnet.cmd" msbuild "%OptDataProjectFilePath%" /t:DumpPgoDataPackageVersion /nologo') do (
set __PgoOptDataVersion=%%s
)
set __Logging=!_MsbuildLog! !__MsbuildWrn! !__MsbuildErr!
call %__ProjectDir%\cmake_msbuild.cmd /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^
- /l:BinClashLogger,Tools/net46/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log^
- /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^
- /p:UsePartialNGENOptimization=false /maxcpucount^
+ /p:PortableBuild=true /maxcpucount^
%__CrossCompIntermediatesDir%\install.vcxproj^
!__Logging! /p:Configuration=%__BuildType% /p:Platform=%__CrossArch% %__CommonMSBuildArgs% %__UnprocessedBuildArgs%
set __Logging=!__MsbuildLog! !__MsbuildWrn! !__MsbuildErr!
call %__ProjectDir%\cmake_msbuild.cmd /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^
- /l:BinClashLogger,Tools/net46/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log^
- /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^
- /p:UsePartialNGENOptimization=false /maxcpucount %__IntermediatesDir%\install.vcxproj^
+ /p:PortableBuild=true /maxcpucount %__IntermediatesDir%\install.vcxproj^
!__Logging! /p:Configuration=%__BuildType% /p:Platform=%__BuildArch% %__CommonMSBuildArgs% %__UnprocessedBuildArgs%
if not !errorlevel! == 0 (
set __Logging=!__MsbuildLog! !__MsbuildWrn! !__MsbuildErr!
call %__ProjectDir%\dotnet.cmd restore /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^
- /l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log^
- /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^
- /p:UsePartialNGENOptimization=false /maxcpucount /p:IncludeRestoreOnlyProjects=true /p:ArcadeBuild=true^
+ /p:PortableBuild=true /maxcpucount /p:IncludeRestoreOnlyProjects=true /p:ArcadeBuild=true^
%__ProjectDir%\src\build.proj^
!__Logging! %__CommonMSBuildArgs% !__ExtraBuildArgs! %__UnprocessedBuildArgs%
if not !errorlevel! == 0 (
)
call %__ProjectDir%\dotnet.cmd msbuild /nologo /verbosity:minimal /clp:Summary /nodeReuse:false^
- /l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll;LogFile=binclash.log^
- /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^
- /p:UsePartialNGENOptimization=false /maxcpucount /p:ArcadeBuild=true^
+ /p:PortableBuild=true /maxcpucount /p:ArcadeBuild=true^
%__ProjectDir%\src\build.proj^
!__Logging! %__CommonMSBuildArgs% !__ExtraBuildArgs! %__UnprocessedBuildArgs%
if not !errorlevel! == 0 (
powershell -NoProfile -ExecutionPolicy ByPass -NoLogo -File "%__ProjectDir%\eng\common\build.ps1"^
-r -b -projects %__SourceDir%\.nuget\packages.builds^
-verbosity minimal /nodeReuse:false /bl:!__BuildLog!^
- /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true^
- /p:UsePartialNGENOptimization=false /p:ArcadeBuild=true^
+ /p:PortableBuild=true /p:ArcadeBuild=true^
/p:Platform=%__BuildArch% %__CommonMSBuildArgs% %__UnprocessedBuildArgs%
if not !errorlevel! == 0 (
echo %__MsgPrefix%Error: Nuget package generation failed. Refer to the build log file for details:
+++ /dev/null
-<Project Sdk="Microsoft.Build.NoTargets">
- <!-- [ARCADE_REMOVE] The entire file can be removed -->
- <Import Project="dir.props" />
-
- <Import Project="dir.targets" />
-
- <Import Project="dir.traversal.targets" />
-
- <Target Name="RestoreOptData" Condition="'$(RestoreDuringBuild)'=='true' and '$(BuildType)'=='Release'">
- <Exec Command="$(DotnetRestoreCommand) $(SourceDir).nuget/optdata/optdata.csproj" StandardOutputImportance="Low" />
- </Target>
-
- <Import Project="$(ToolsDir)clean.targets" />
-</Project>
\ No newline at end of file
# we only need optdata on a Release build
if [[ "$__BuildType" != "Release" ]]; then __SkipRestoreOptData=1; fi
+ local OptDataProjectFilePath="$__ProjectRoot/src/.nuget/optdata/optdata.csproj"
if [[ ( $__SkipRestoreOptData == 0 ) && ( $__isMSBuildOnNETCoreSupported == 1 ) ]]; then
echo "Restoring the OptimizationData package"
- "$__ProjectRoot/dotnet.sh" msbuild /nologo /verbosity:minimal /clp:Summary \
- /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true \
- /p:UsePartialNGENOptimization=false /maxcpucount \
- /t:RestoreOptData ./build.proj \
+ "$__ProjectRoot/dotnet.sh" restore /nologo /verbosity:minimal /clp:Summary /m \
+ $OptDataProjectFilePath \
$__CommonMSBuildArgs $__UnprocessedBuildArgs
if [ $? != 0 ]; then
echo "Failed to restore the optimization data package."
# Parse the optdata package versions out of msbuild so that we can pass them on to CMake
local DotNetCli="$__ProjectRoot/.dotnet/dotnet"
if [ ! -f $DotNetCli ]; then
- source "$__ProjectRoot/init-tools.sh"
+ source "$__ProjectRoot/init-dotnet.sh"
if [ $? != 0 ]; then
- echo "Failed to restore buildtools."
+ echo "Failed to install dotnet."
exit 1
fi
fi
- local OptDataProjectFilePath="$__ProjectRoot/src/.nuget/optdata/optdata.csproj"
__PgoOptDataVersion=$(DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 $DotNetCli msbuild $OptDataProjectFilePath /t:DumpPgoDataPackageVersion /nologo)
if [ $? != 0 ]; then
echo "Failed to get PGO data package version."
fi
$__ProjectRoot/dotnet.sh restore /nologo /verbosity:minimal /clp:Summary \
- /l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll\;LogFile=binclash.log \
- /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true \
- /p:UsePartialNGENOptimization=false /maxcpucount /p:IncludeRestoreOnlyProjects=true /p:ArcadeBuild=true\
+ /p:PortableBuild=true /maxcpucount /p:IncludeRestoreOnlyProjects=true /p:ArcadeBuild=true\
$__ProjectDir/src/build.proj \
/flp:Verbosity=normal\;LogFile=$__LogsDir/System.Private.CoreLib_$__BuildOS__$__BuildArch__$__BuildType.log \
/p:__IntermediatesDir=$__IntermediatesDir /p:__RootBinDir=$__RootBinDir \
fi
$__ProjectRoot/dotnet.sh msbuild /nologo /verbosity:minimal /clp:Summary \
- /l:BinClashLogger,Tools/Microsoft.DotNet.Build.Tasks.dll\;LogFile=binclash.log \
- /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true \
- /p:UsePartialNGENOptimization=false /maxcpucount /p:ArcadeBuild=true\
+ /p:PortableBuild=true /maxcpucount /p:ArcadeBuild=true\
$__ProjectDir/src/build.proj \
/flp:Verbosity=normal\;LogFile=$__LogsDir/System.Private.CoreLib_$__BuildOS__$__BuildArch__$__BuildType.log \
/p:__IntermediatesDir=$__IntermediatesDir /p:__RootBinDir=$__RootBinDir \
# Package build uses the Arcade system and scripts, relying on it to restore required toolsets as part of build
$__ProjectRoot/eng/common/build.sh -r -b -projects $__SourceDir/.nuget/packages.builds \
-verbosity minimal -bl:$__LogsDir/Nuget_$__BuildOS__$__BuildArch__$__BuildType.binlog \
- /p:RestoreDefaultOptimizationDataPackage=false /p:PortableBuild=true \
- /p:UsePartialNGENOptimization=false /p:ArcadeBuild=true \
+ /p:PortableBuild=true /p:ArcadeBuild=true \
/p:__IntermediatesDir=$__IntermediatesDir /p:__RootBinDir=$__RootBinDir /p:__DoCrossArchBuild=$__CrossBuild \
$__CommonMSBuildArgs $__UnprocessedBuildArgs
# Set the remaining variables based upon the determined build configuration
__BinDir="$__RootBinDir/Product/$__BuildOS.$__BuildArch.$__BuildType"
__PackagesBinDir="$__BinDir/.nuget"
-__ToolsDir="$__RootBinDir/tools"
-__TestWorkingDir="$__RootBinDir/tests/$__BuildOS.$__BuildArch.$__BuildType"
export __IntermediatesDir="$__RootBinDir/obj/$__BuildOS.$__BuildArch.$__BuildType"
-__TestIntermediatesDir="$__RootBinDir/tests/obj/$__BuildOS.$__BuildArch.$__BuildType"
__isMSBuildOnNETCoreSupported=0
__CrossComponentBinDir="$__BinDir"
<Project>
<Import Project="dir.common.props" />
+ <!-- [ARCADE REMOVE] This entire file can be removed. Properties set by this file should be moved into
+ dir.common.props and Directory.Build.props as appropriate and projects should stop importing this. -->
+
<PropertyGroup>
<LangVersion>8.0</LangVersion>
<UseSharedCompilation>true</UseSharedCompilation>
<DebugType Condition="'$(DebugType)' == ''">Portable</DebugType>
</PropertyGroup>
- <!--
- Switching to the .NET Core version of the BuildTools tasks seems to break numerous scenarios, such as VS intellisense and resource designer
- as well as running the build on mono. Until we can get these sorted out we will continue using the .NET 4.5 version of the tasks.
- -->
- <PropertyGroup>
- <RunningOnCore>false</RunningOnCore>
- <RunningOnCore Condition="'$(MSBuildRuntimeType)' == 'core'">true</RunningOnCore>
- <BuildToolsTargetsDesktop>false</BuildToolsTargetsDesktop>
- <BuildToolsTargetsDesktop Condition="'$(RunningOnCore)' != 'true'">true</BuildToolsTargetsDesktop>
- <BuildToolsTargets45>$(BuildToolsTargetsDesktop)</BuildToolsTargets45>
- </PropertyGroup>
-
<!-- Common properties -->
<PropertyGroup>
<!-- This name is used to create a GIT repository URL https://github.com/dotnet/$(GitHubRepositoryName) used to find source code for debugging -->
<GitHubRepositoryName Condition="'$(GitHubRepositoryName)' == ''">coreclr</GitHubRepositoryName>
- <ToolsDir Condition="'$(ToolsDir)'==''">$(ProjectDir)Tools\</ToolsDir>
- <DotnetCliPath Condition="'$(DotnetCliPath)'==''">$(ProjectDir).dotnet\</DotnetCliPath>
- <OverrideToolHost>$(DotnetCliPath)dotnet</OverrideToolHost>
- <BuildToolsSemaphore Condition="'$(BuildToolsSemaphore)' == ''">$(ToolsDir)Microsoft.DotNet.Build.Tasks.dll</BuildToolsSemaphore>
-
- <TestWorkingDir>$(__TestWorkingDir)\</TestWorkingDir>
- <TestWorkingDir Condition="'$(__TestWorkingDir)'==''">$(RootBinDir)tests\$(PlatformConfigPathPart)\</TestWorkingDir>
-
<Platform Condition="'$(Platform)' == ''">$(BuildArch)</Platform>
<Platform Condition="'$(Platform)' == 'amd64'">x64</Platform>
<OutputPath Condition="'$(OutputPath)' == ''">$(BinDir)</OutputPath>
</PropertyGroup>
- <!-- Import Build tools common props file where repo-independent properties are found -->
- <Import Condition="Exists('$(ToolsDir)Build.Common.props')" Project="$(ToolsDir)Build.Common.props" />
-
<!-- Provides properties for dependency versions and configures dependency verification/auto-upgrade. -->
<Import Project="$(ProjectDir)dependencies.props" />
-
- <!-- Use Roslyn Compilers to build -->
- <Import Project="$(RoslynPropsFile)" Condition="Exists('$(RoslynPropsFile)')" />
</Project>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" InitialTargets="CheckForBuildTools" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-
- <Target Name="CheckForBuildTools">
- <Error Condition="!Exists('$(ToolsDir)')"
- Text="The tools directory [$(ToolsDir)] does not exist. Please run init-tools.cmd in your enlistment to ensure the tools are installed before attempting to build an individual project." />
- </Target>
-
- <!-- Provide default targets which can be hooked onto or overridden as necessary -->
- <Target Name="BuildAndTest" DependsOnTargets="Build;Test" />
- <Target Name="RebuildAndTest" DependsOnTargets="Rebuild;Test" />
- <Target Name="Test" />
-
- <PropertyGroup>
- <ExcludePackagingImport>true</ExcludePackagingImport>
- <ExcludePackageLibsImport>true</ExcludePackageLibsImport>
- <ExcludeVersioningImport>true</ExcludeVersioningImport>
- </PropertyGroup>
-
- <Import Project="$(ToolsDir)/Build.Common.targets" Condition="'$(UseLiveBuildTools)' != 'true'" />
-
-</Project>
-
:: Disable first run since we do not need all ASP.NET packages restored.
set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
-:: Restore the Tools directory
-call %~dp0init-tools.cmd
+:: Install dotnet
+call %~dp0\init-dotnet.cmd
if NOT [%ERRORLEVEL%]==[0] (
- exit /b 1
+ exit /b %ERRORLEVEL%
)
pushd %~dp0
# Disable first run since we want to control all package sources
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
-echo "Running init-tools.sh"
-source $working_tree_root/init-tools.sh
+echo "Running init-dotnet.sh"
+source $working_tree_root/init-dotnet.sh
dotnet=$working_tree_root/.dotnet/dotnet
--- /dev/null
+@if not defined _echo @echo off
+setlocal
+
+echo Installing dotnet using Arcade...
+set PS_DOTNET_INSTALL_SCRIPT=". %~dp0eng\configure-toolset.ps1; . %~dp0eng\common\tools.ps1; InitializeBuildTool"
+echo running: powershell -NoProfile -ExecutionPolicy unrestricted -Command %PS_DOTNET_INSTALL_SCRIPT%
+powershell -NoProfile -ExecutionPolicy unrestricted -Command %PS_DOTNET_INSTALL_SCRIPT%
+if NOT [%ERRORLEVEL%] == [0] (
+ echo Failed to install dotnet using Arcade.
+ exit /b %ERRORLEVEL%
+)
+
+exit /b 0
\ No newline at end of file
--- /dev/null
+#!/usr/bin/env bash
+
+__scriptpath=$(cd "$(dirname "$0")"; pwd -P)
+
+echo "Installing dotnet using Arcade..."
+
+source $__scriptpath/eng/configure-toolset.sh
+source $__scriptpath/eng/common/tools.sh
+
+InitializeBuildTool
+
+if [ $? != 0 ]; then
+ echo "Failed to install dotnet using Arcade"
+ exit $?
+fi
:ArchSet
-echo Installing dotnet cli...
-set PS_DOTNET_INSTALL_SCRIPT=". %~dp0eng\configure-toolset.ps1; . %~dp0eng\common\tools.ps1; InitializeBuildTool"
if NOT exist "%DOTNET_CMD%" (
- echo running: powershell -NoProfile -ExecutionPolicy unrestricted -Command %PS_DOTNET_INSTALL_SCRIPT%
- powershell -NoProfile -ExecutionPolicy unrestricted -Command %PS_DOTNET_INSTALL_SCRIPT%
+ call %~dp0init-dotnet.cmd
if NOT exist "%DOTNET_CMD%" (
echo ERROR: Could not install dotnet cli correctly. 1>&2
goto :error
__PKG_RID=$__PKG_RID-$__PKG_ARCH
if [ ! -e "$__DOTNET_CMD" ]; then
- source $__scriptpath/eng/configure-toolset.sh
- source $__scriptpath/eng/common/tools.sh
-
- InitializeBuildTool
-
+ source $__scriptpath/init-dotnet.sh
if [ ! -e "$__DOTNET_CMD" ]; then
echo "ERROR: Ensure arcade dotnet install did not install dotnet at $__DOTNET_CMD"
exit 1
+++ /dev/null
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <PrepareResourcesDependsOn>GenerateSplitStringResources;$(PrepareResourcesDependsOn)</PrepareResourcesDependsOn>
- </PropertyGroup>
-
- <PropertyGroup>
- <PreprocessFileTaskAsssemblyPath Condition="'$(PreprocessFileTaskAsssemblyPath)' == ''">$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll</PreprocessFileTaskAsssemblyPath>
- </PropertyGroup>
-
- <UsingTask TaskName="PreprocessFile" AssemblyFile="$(PreprocessFileTaskAsssemblyPath)" />
-
- <Target Name="GenerateSplitStringResources"
- Inputs="@(SplitTextStringResource)"
- Outputs="@(SplitTextStringResource->'$(IntermediateOutputPath)%(Filename).txt')">
-
- <ItemGroup>
- <Internal_ResGenDefines Remove="@(Internal_ResGenDefines)" />
- <Internal_ResGenDefines Include="INCLUDE_DEBUG" />
- <Internal_ResGenDefines Include="INCLUDE_RUNTIME" />
- <Internal_ResGenDefines Include="%(SplitTextStringResource.ResGenDefines)" />
- </ItemGroup>
-
- <PreprocessFile SourceFile="%(SplitTextStringResource.Identity)" OutputFile="$(IntermediateOutputPath)%(SplitTextStringResource.Filename).txt" Defines="@(Internal_ResGenDefines)" />
-
- <GenerateResource Sources="$(IntermediateOutputPath)%(SplitTextStringResource.Filename).txt"
- OutputResources="$(IntermediateOutputPath)%(SplitTextStringResource.Filename).resources"
- ExecuteAsTool="false" />
-
- <ItemGroup>
- <EmbeddedResource Include="@(SplitTextStringResource->'$(IntermediateOutputPath)%(Filename).resources')">
- <WithCulture>false</WithCulture>
- <ManifestResourceName>%(Filename)</ManifestResourceName>
- </EmbeddedResource>
- <Clean Include="$(IntermediateOutputPath)%(SplitTextStringResource.Filename).txt" />
- <Clean Include="$(IntermediateOutputPath)%(SplitTextStringResource.Filename).resources" />
- </ItemGroup>
-
- <ItemGroup>
- <Internal_ResGenDefines Remove="@(Internal_ResGenDefines)" />
- </ItemGroup>
- </Target>
-</Project>