Merge remote-tracking branch 'upstream/release/6.0.1xx-rc2' into rc2-to-ga
This commit is contained in:
commit
8c6b87a808
10 changed files with 243 additions and 535 deletions
|
@ -160,7 +160,7 @@
|
|||
<MicrosoftBuildFrameworkVersion>15.7.179</MicrosoftBuildFrameworkVersion>
|
||||
<MicrosoftBuildUtilitiesCoreVersion>15.7.179</MicrosoftBuildUtilitiesCoreVersion>
|
||||
<PrivateSourceBuiltArtifactsPackageVersion>0.1.0-6.0.100-bootstrap.19</PrivateSourceBuiltArtifactsPackageVersion>
|
||||
<PrivateSourceBuiltPrebuiltsPackageVersion>0.1.0-6.0.100-23</PrivateSourceBuiltPrebuiltsPackageVersion>
|
||||
<PrivateSourceBuiltPrebuiltsPackageVersion>0.1.0-6.0.100-25</PrivateSourceBuiltPrebuiltsPackageVersion>
|
||||
</PropertyGroup>
|
||||
<!-- Workload manifest package versions -->
|
||||
<PropertyGroup>
|
||||
|
|
|
@ -23,6 +23,6 @@
|
|||
<PropertyGroup>
|
||||
<PrivateSourceBuiltArtifactsPackageVersion>0.1.0-6.0.100-bootstrap.19</PrivateSourceBuiltArtifactsPackageVersion>
|
||||
<PrivateSourceBuiltPrebuiltsPackageVersionPrefix>0.1.0-6.0.100-</PrivateSourceBuiltPrebuiltsPackageVersionPrefix>
|
||||
<PrivateSourceBuiltPrebuiltsPackageVersionSuffix>23</PrivateSourceBuiltPrebuiltsPackageVersionSuffix>
|
||||
<PrivateSourceBuiltPrebuiltsPackageVersionSuffix>25</PrivateSourceBuiltPrebuiltsPackageVersionSuffix>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
From 93de82c03ff71f897599db2824b959d020b877bd Mon Sep 17 00:00:00 2001
|
||||
From: Chris Rummel <crummel@microsoft.com>
|
||||
Date: Thu, 30 Sep 2021 16:08:28 -0500
|
||||
Subject: [PATCH 1/2] Fix Omnisharp: Add needed extra TFMs.
|
||||
|
||||
Omnisharp requires the net46 TFMs of this files explictly and we don't build them by default. This patch adds net46 to the relevant projects. The original issue for this was https://github.com/OmniSharp/omnisharp-vscode/issues/4610 and the long-term fix of switching to net>4 TFM is tracked in https://github.com/OmniSharp/omnisharp-vscode/issues/4360.
|
||||
|
||||
---
|
||||
src/libraries/Directory.Build.props | 2 +-
|
||||
.../ref/System.Resources.Extensions.csproj | 4 ++--
|
||||
.../src/System.Resources.Extensions.csproj | 2 +-
|
||||
3 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/libraries/Directory.Build.props b/src/libraries/Directory.Build.props
|
||||
index 4d39fad397e..649c669517e 100644
|
||||
--- a/src/libraries/Directory.Build.props
|
||||
+++ b/src/libraries/Directory.Build.props
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Build all .NET Framework configurations when net48 is passed in. This is for convenience. -->
|
||||
- <AdditionalBuildTargetFrameworks Condition="'$(BuildTargetFramework)' == 'net48'">net461;net462;net47;net471;net472</AdditionalBuildTargetFrameworks>
|
||||
+ <AdditionalBuildTargetFrameworks Condition="'$(BuildTargetFramework)' == 'net48'">net46;net461;net462;net47;net471;net472</AdditionalBuildTargetFrameworks>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Define test projects and companions -->
|
||||
diff --git a/src/libraries/System.Resources.Extensions/ref/System.Resources.Extensions.csproj b/src/libraries/System.Resources.Extensions/ref/System.Resources.Extensions.csproj
|
||||
index 99037ae459c..848be41690c 100644
|
||||
--- a/src/libraries/System.Resources.Extensions/ref/System.Resources.Extensions.csproj
|
||||
+++ b/src/libraries/System.Resources.Extensions/ref/System.Resources.Extensions.csproj
|
||||
@@ -1,6 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
- <TargetFrameworks>$(NetCoreAppCurrent);netstandard2.0;net461</TargetFrameworks>
|
||||
+ <TargetFrameworks>$(NetCoreAppCurrent);netstandard2.0;net46;net461</TargetFrameworks>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -11,4 +11,4 @@
|
||||
<ItemGroup Condition="'$(TargetFramework)' == '$(NetCoreAppCurrent)'">
|
||||
<ProjectReference Include="$(LibrariesProjectRoot)System.Resources.Writer\ref\System.Resources.Writer.csproj" />
|
||||
</ItemGroup>
|
||||
-</Project>
|
||||
\ No newline at end of file
|
||||
+</Project>
|
||||
diff --git a/src/libraries/System.Resources.Extensions/src/System.Resources.Extensions.csproj b/src/libraries/System.Resources.Extensions/src/System.Resources.Extensions.csproj
|
||||
index adacc9b977e..38d4c145352 100644
|
||||
--- a/src/libraries/System.Resources.Extensions/src/System.Resources.Extensions.csproj
|
||||
+++ b/src/libraries/System.Resources.Extensions/src/System.Resources.Extensions.csproj
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
- <TargetFrameworks>$(NetCoreAppCurrent);netstandard2.0;net461</TargetFrameworks>
|
||||
+ <TargetFrameworks>$(NetCoreAppCurrent);netstandard2.0;net46;net461</TargetFrameworks>
|
||||
<DefineConstants>$(DefineConstants);RESOURCES_EXTENSIONS</DefineConstants>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -5,13 +5,18 @@ IFS=$'\n\t'
|
|||
SCRIPT_ROOT="$(cd -P "$( dirname "$0" )" && pwd)"
|
||||
|
||||
usage() {
|
||||
echo "usage: $0"
|
||||
echo "usage: $0 [options]"
|
||||
echo ""
|
||||
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 "options:"
|
||||
echo " --bootstrap Build a bootstrap version of previously source-built packages archive."
|
||||
echo " This modifies the downloaded version, replacing portable packages"
|
||||
echo " with official ms-built packages restored from package feeds."
|
||||
echo ""
|
||||
}
|
||||
|
||||
buildBootstrap=false
|
||||
positional_args=()
|
||||
while :; do
|
||||
if [ $# -le 0 ]; then
|
||||
|
@ -23,6 +28,9 @@ while :; do
|
|||
usage
|
||||
exit 0
|
||||
;;
|
||||
--bootstrap)
|
||||
buildBootstrap=true
|
||||
;;
|
||||
*)
|
||||
positional_args+=("$1")
|
||||
;;
|
||||
|
@ -87,3 +95,31 @@ if [ "$installDotnet" == "true" ]; then
|
|||
echo " Installing dotnet..."
|
||||
(source ./eng/common/tools.sh && InitializeDotNetCli true)
|
||||
fi
|
||||
|
||||
# Build bootstrap, if specified
|
||||
if [ "$buildBootstrap" == "true" ]; then
|
||||
DOTNET_SDK_PATH="$SCRIPT_ROOT/.dotnet"
|
||||
|
||||
# Create working directory for running bootstrap project
|
||||
workingDir=$(mktemp -d)
|
||||
echo " Building bootstrap previously source-built in $workingDir"
|
||||
|
||||
# Copy bootstrap project to working dir
|
||||
cp $SCRIPT_ROOT/scripts/bootstrap/buildBootstrapPreviouslySB.csproj $workingDir
|
||||
|
||||
# Copy NuGet.config from the installer repo to have the right feeds
|
||||
cp $SCRIPT_ROOT/src/installer.*/NuGet.config $workingDir
|
||||
|
||||
# Get PackageVersions.props from existing prev-sb archive
|
||||
echo " Retrieving PackageVersions.props from existing archive"
|
||||
sourceBuiltArchive=`find $SCRIPT_ROOT/packages/archive -maxdepth 1 -name 'Private.SourceBuilt.Artifacts*.tar.gz'`
|
||||
if [ -f "$sourceBuiltArchive" ]; then
|
||||
tar -xzf "$sourceBuiltArchive" -C $workingDir PackageVersions.props
|
||||
fi
|
||||
|
||||
# Run restore on project to initiate download of bootstrap packages
|
||||
$DOTNET_SDK_PATH/dotnet restore $workingDir/buildBootstrapPreviouslySB.csproj /bl /p:ArchiveDir="$SCRIPT_ROOT/packages/archive/"
|
||||
|
||||
# Remove working directory
|
||||
rm -rf $workingDir
|
||||
fi
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<Import Project="$(MSBuildProjectDirectory)/PackageVersions.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<BaseOutputPath>$(MSBuildProjectDirectory)/artifacts/</BaseOutputPath>
|
||||
<RestorePackagesPath>$(MSBuildProjectDirectory)/artifacts/restoredPkgs/</RestorePackagesPath>
|
||||
<UnpackedTarPath>$(MSBuildProjectDirectory)/artifacts/unpacked/</UnpackedTarPath>
|
||||
<NewTarballName>$(ArchiveDir)Private.SourceBuilt.Artifacts.Bootstrap.tar.gz</NewTarballName>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- These packages will be replaced with ms-built packages downloaded from official package feeds-->
|
||||
<PackageReference Include="Microsoft.NET.HostModel" Version="$(MicrosoftNETHostModelVersion)" />
|
||||
<PackageReference Include="Microsoft.ILVerification" Version="$(MicrosoftILVerificationVersion)" />
|
||||
<PackageReference Include="Microsoft.NET.Sdk.IL" Version="$(MicrosoftNETSdkILVersion)" />
|
||||
<PackageReference Include="Microsoft.NETCore.ILAsm" Version="$(MicrosoftNETCoreILAsmVersion)" />
|
||||
<PackageReference Include="Microsoft.NETCore.ILDAsm" Version="$(MicrosoftNETCoreILDAsmVersion)" />
|
||||
<PackageReference Include="Microsoft.NETCore.TestHost" Version="$(MicrosoftNETCoreTestHostVersion)" />
|
||||
<PackageReference Include="runtime.linux-x64.Microsoft.NETCore.ILAsm" Version="$(RuntimeLinuxX64MicrosoftNETCoreILAsmVersion)" />
|
||||
<PackageReference Include="runtime.linux-x64.Microsoft.NETCore.ILDAsm" Version="$(RuntimeLinuxX64MicrosoftNETCoreILDAsmVersion)" />
|
||||
<PackageReference Include="runtime.linux-x64.Microsoft.NETCore.TestHost" Version="$(RuntimeLinuxX64MicrosoftNETCoreTestHostVersion)" />
|
||||
<PackageReference Include="runtime.linux-x64.runtime.native.System.IO.Ports" Version="$(RuntimeLinuxX64RuntimeNativeSystemIOPortsVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="BuildBoostrapPreviouslySourceBuilt" AfterTargets="Restore">
|
||||
<ItemGroup>
|
||||
<RestoredNupkgs Include="$(RestorePackagesPath)**/*.nupkg" />
|
||||
<PrevSBArchive Include="$(ArchiveDir)Private.SourceBuilt.Artifacts.*.tar.gz" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Copy restored nupkg files to root of restored packages dir so they're all in one place-->
|
||||
<Copy SourceFiles="@(RestoredNupkgs)" DestinationFolder="$(RestorePackagesPath)" />
|
||||
|
||||
<!-- Check to ensure there is only one previously source-built archive -->
|
||||
<Error Text="Multiple Private.SourceBuilt.Artifacts.*.tar.gz tarballs exists at $(ArchiveDir). Expecting only one."
|
||||
Condition="'@(PrevSBArchive->Count())' != '1'" />
|
||||
|
||||
<!-- Unpack existing archive -->
|
||||
<Message Text=" Unpacking existing tarball from %(PrevSBArchive.Identity)" Importance="High" />
|
||||
<MakeDir Directories="$(UnpackedTarPath)" />
|
||||
<Exec Command="tar -xzf %(PrevSBArchive.Identity) -C $(UnpackedTarPath)" />
|
||||
|
||||
<!-- Delete existing archive -->
|
||||
<Message Text=" Deleting existing tarball: %(PrevSBArchive.Identity)" Importance="High" />
|
||||
<Delete Files="%(PrevSBArchive.Identity)" />
|
||||
|
||||
<!-- Copy files specified in package references above from restored package dir to unpacked archive dir -->
|
||||
<Message Text=" Replacing restored files in $(UnpackedTarPath)" Importance="High" />
|
||||
<Copy
|
||||
SourceFiles="$(RestorePackagesPath)$([System.String]::copy('%(PackageReference.Identity)').ToLower()).%(PackageReference.Version).nupkg"
|
||||
DestinationFiles="$(UnpackedTarPath)%(PackageReference.Identity).%(PackageReference.Version).nupkg" />
|
||||
|
||||
<!-- Repack tarball with new bootstrap name -->
|
||||
<Message Text=" Repacking tarball to $(NewTarballName)" Importance="High" />
|
||||
<Exec Command="tar --numeric-owner -czf $(NewTarballName) *.nupkg *.props SourceBuildReferencePackages/" WorkingDirectory="$(UnpackedTarPath)" />
|
||||
|
||||
</Target>
|
||||
</Project>
|
|
@ -1,411 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
set -u
|
||||
set -o pipefail
|
||||
|
||||
usage()
|
||||
{
|
||||
echo "Builds a bootstrap CLI from sources"
|
||||
echo "Usage: $0 [BuildType] -rid <Rid> -seedcli <SeedCli> [-os <OS>] [-clang <Major.Minor>] [-corelib <CoreLib>]"
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " BuildType Type of build (-debug, -release), default: -release"
|
||||
echo " -clang <Major.Minor> Override of the version of clang compiler to use"
|
||||
echo " -corelib <CoreLib> Path to System.Private.CoreLib.dll, default: use the System.Private.CoreLib.dll from the seed CLI"
|
||||
echo " -os <OS> Operating system (used for corefx build), default: Linux"
|
||||
echo " -rid <Rid> Runtime identifier including the architecture part (e.g. rhel.6-x64)"
|
||||
echo " -seedcli <SeedCli> Seed CLI used to generate the target CLI"
|
||||
echo " -outputpath <path> Optional output directory to contain the generated cli and cloned repos, default: <Rid>"
|
||||
}
|
||||
|
||||
disable_pax_mprotect()
|
||||
{
|
||||
if [[ $(command -v paxctl) ]]; then
|
||||
paxctl -c -m $1
|
||||
fi
|
||||
}
|
||||
|
||||
get_max_version()
|
||||
{
|
||||
local maxversionhi=0
|
||||
local maxversionmid=0
|
||||
local maxversionlo=0
|
||||
local maxversiontag
|
||||
local versionrest
|
||||
local versionhi
|
||||
local versionmid
|
||||
local versionlo
|
||||
local versiontag
|
||||
local foundmax
|
||||
|
||||
for d in $1/*; do
|
||||
|
||||
if [[ -d $d ]]; then
|
||||
versionrest=$(basename $d)
|
||||
versionhi=${versionrest%%.*}
|
||||
versionrest=${versionrest#*.}
|
||||
versionmid=${versionrest%%.*}
|
||||
versionrest=${versionrest#*.}
|
||||
versionlo=${versionrest%%-*}
|
||||
versiontag=${versionrest#*-}
|
||||
if [[ $versiontag == $versionrest ]]; then
|
||||
versiontag=""
|
||||
fi
|
||||
|
||||
foundmax=0
|
||||
|
||||
if [[ $versionhi -gt $maxversionhi ]]; then
|
||||
foundmax=1
|
||||
elif [[ $versionhi -eq $maxversionhi ]]; then
|
||||
if [[ $versionmid -gt $maxversionmid ]]; then
|
||||
foundmax=1
|
||||
elif [[ $versionmid -eq $maxversionmid ]]; then
|
||||
if [[ $versionlo -gt $maxversionlo ]]; then
|
||||
foundmax=1
|
||||
elif [[ $versionlo -eq $maxversionlo ]]; then
|
||||
# tags are used to mark pre-release versions, so a version without a tag
|
||||
# is newer than a version with one.
|
||||
if [[ "$versiontag" == "" || $versiontag > $maxversiontag ]]; then
|
||||
foundmax=1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $foundmax != 0 ]]; then
|
||||
maxversionhi=$versionhi
|
||||
maxversionmid=$versionmid
|
||||
maxversionlo=$versionlo
|
||||
maxversiontag=$versiontag
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
echo $maxversionhi.$maxversionmid.$maxversionlo${maxversiontag:+-$maxversiontag}
|
||||
}
|
||||
|
||||
getrealpath()
|
||||
{
|
||||
if command -v realpath > /dev/null; then
|
||||
realpath $1
|
||||
else
|
||||
readlink -e $1
|
||||
fi
|
||||
}
|
||||
|
||||
__build_os=Linux
|
||||
__runtime_id=
|
||||
__corelib=
|
||||
__configuration=release
|
||||
__clangversion=
|
||||
__outputpath=
|
||||
|
||||
while [[ "${1:-}" != "" ]]; do
|
||||
lowerI="$(echo $1 | awk '{print tolower($0)}')"
|
||||
case $lowerI in
|
||||
-h|--help)
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
-rid)
|
||||
shift
|
||||
__runtime_id=$1
|
||||
;;
|
||||
-os)
|
||||
shift
|
||||
__build_os=$1
|
||||
;;
|
||||
-debug)
|
||||
__configuration=debug
|
||||
;;
|
||||
-release)
|
||||
__configuration=release
|
||||
;;
|
||||
-corelib)
|
||||
shift
|
||||
__corelib=`getrealpath $1`
|
||||
;;
|
||||
-seedcli)
|
||||
shift
|
||||
__seedclipath=`getrealpath $1`
|
||||
;;
|
||||
-clang)
|
||||
shift
|
||||
__clangversion=clang$1
|
||||
;;
|
||||
-outputpath)
|
||||
shift
|
||||
__outputpath=$1
|
||||
;;
|
||||
*)
|
||||
echo "Unknown argument to build.sh $1"; exit 1
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
|
||||
if [[ -z "$__runtime_id" ]]; then
|
||||
echo "Missing the required -rid argument"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [[ -z "$__seedclipath" ]]; then
|
||||
echo "Missing the required -seedcli argument"
|
||||
exit 3
|
||||
fi
|
||||
|
||||
__build_arch=${__runtime_id#*-}
|
||||
|
||||
if [[ -z "$__outputpath" ]]; then
|
||||
__outputpath=$__runtime_id/dotnetcli
|
||||
fi
|
||||
|
||||
if [[ -d "$__outputpath" ]]; then
|
||||
/bin/rm -r $__outputpath
|
||||
fi
|
||||
|
||||
mkdir -p $__runtime_id
|
||||
mkdir -p $__outputpath
|
||||
|
||||
__outputpath=`getrealpath $__outputpath`
|
||||
|
||||
cd $__runtime_id
|
||||
|
||||
cp -r $__seedclipath/* $__outputpath
|
||||
|
||||
__frameworkversion="2.0.0"
|
||||
__sdkversion="2.0.0"
|
||||
__fxrversion="2.0.0"
|
||||
|
||||
echo "**** DETECTING VERSIONS IN SEED CLI ****"
|
||||
|
||||
__frameworkversion=`get_max_version $__seedclipath/shared/Microsoft.NETCore.App`
|
||||
__sdkversion=`get_max_version $__seedclipath/sdk`
|
||||
__fxrversion=`get_max_version $__seedclipath/host/fxr`
|
||||
|
||||
echo "Framework version: $__frameworkversion"
|
||||
echo "SDK version: $__sdkversion"
|
||||
echo "FXR version: $__fxrversion"
|
||||
|
||||
__frameworkpath=$__outputpath/shared/Microsoft.NETCore.App/$__frameworkversion
|
||||
|
||||
echo "**** DETECTING GIT COMMIT HASHES ****"
|
||||
|
||||
# Extract the git commit hashes representig the state of the three repos that
|
||||
# the seed cli package was built from
|
||||
__coreclrhash=`strings $__seedclipath/shared/Microsoft.NETCore.App/$__frameworkversion/libcoreclr.so | grep "@(#)" | grep -o "[a-f0-9]\{40\}"`
|
||||
__corefxhash=`strings $__seedclipath/shared/Microsoft.NETCore.App/$__frameworkversion/System.Native.so | grep "@(#)" | grep -o "[a-f0-9]\{40\}"`
|
||||
__coresetuphash=`strings $__seedclipath/dotnet | grep "@(#)" | grep -o "[a-f0-9]\{40\}"`
|
||||
if [[ "$__coresetuphash" == "" ]]; then
|
||||
__coresetuphash=`strings $__seedclipath/dotnet | grep -o "[a-f0-9]\{40\}"`
|
||||
fi
|
||||
|
||||
echo "coreclr hash: $__coreclrhash"
|
||||
echo "corefx hash: $__corefxhash"
|
||||
echo "core-setup hash: $__coresetuphash"
|
||||
|
||||
# Clone the three repos if they were not cloned yet. If the folders already
|
||||
# exist, leave them alone. This allows patching the cloned sources as needed
|
||||
|
||||
if [[ ! -d coreclr ]]; then
|
||||
echo "**** CLONING CORECLR REPOSITORY ****"
|
||||
git clone https://github.com/dotnet/coreclr.git
|
||||
cd coreclr
|
||||
git checkout $__coreclrhash
|
||||
cd ..
|
||||
fi
|
||||
|
||||
if [[ ! -d corefx ]]; then
|
||||
echo "**** CLONING COREFX REPOSITORY ****"
|
||||
git clone https://github.com/dotnet/corefx.git
|
||||
cd corefx
|
||||
git checkout $__corefxhash
|
||||
cd ..
|
||||
fi
|
||||
|
||||
if [[ ! -d core-setup ]]; then
|
||||
echo "**** CLONING CORE-SETUP REPOSITORY ****"
|
||||
git clone https://github.com/dotnet/core-setup.git
|
||||
cd core-setup
|
||||
git checkout $__coresetuphash
|
||||
cd ..
|
||||
fi
|
||||
|
||||
echo "**** BUILDING CORE-SETUP NATIVE COMPONENTS ****"
|
||||
cd core-setup
|
||||
src/corehost/build.sh --configuration $__configuration --arch "$__build_arch" --hostver "2.0.0" --apphostver "2.0.0" --fxrver "2.0.0" --policyver "2.0.0" --commithash `git rev-parse HEAD`
|
||||
cd ..
|
||||
|
||||
echo "**** BUILDING CORECLR NATIVE COMPONENTS ****"
|
||||
cd coreclr
|
||||
./build.sh $__configuration $__build_arch $__clangversion -skipgenerateversion -skipmanaged -skipmscorlib -skiprestore -skiprestoreoptdata -skipnuget -nopgooptimize 2>&1 | tee coreclr.log
|
||||
export __coreclrbin=$(cat coreclr.log | sed -n -e 's/^.*Product binaries are available at //p')
|
||||
cd ..
|
||||
echo "CoreCLR binaries will be copied from $__coreclrbin"
|
||||
|
||||
echo "**** BUILDING COREFX NATIVE COMPONENTS ****"
|
||||
corefx/src/Native/build-native.sh $__build_arch $__configuration $__clangversion $__build_os 2>&1 | tee corefx.log
|
||||
export __corefxbin=$(cat corefx.log | sed -n -e 's/^.*Build files have been written to: //p')
|
||||
echo "CoreFX binaries will be copied from $__corefxbin"
|
||||
|
||||
echo "**** Copying new binaries to dotnetcli/ ****"
|
||||
|
||||
# First copy the coreclr repo binaries
|
||||
cp $__coreclrbin/*so $__frameworkpath
|
||||
cp $__coreclrbin/corerun $__frameworkpath
|
||||
cp $__coreclrbin/crossgen $__frameworkpath
|
||||
|
||||
# Mark the coreclr executables as allowed to create executable memory mappings
|
||||
disable_pax_mprotect $__frameworkpath/corerun
|
||||
disable_pax_mprotect $__frameworkpath/crossgen
|
||||
|
||||
# Now copy the core-setup repo binaries
|
||||
|
||||
if [[ $__fxrversion == 2* ]]; then
|
||||
cp core-setup/cli/exe/dotnet/dotnet $__outputpath
|
||||
cp core-setup/cli/exe/dotnet/dotnet $__frameworkpath/corehost
|
||||
|
||||
cp core-setup/cli/dll/libhostpolicy.so $__frameworkpath
|
||||
cp core-setup/cli/dll/libhostpolicy.so $__outputpath/sdk/$__sdkversion
|
||||
|
||||
cp core-setup/cli/fxr/libhostfxr.so $__frameworkpath
|
||||
cp core-setup/cli/fxr/libhostfxr.so $__outputpath/host/fxr/$__fxrversion
|
||||
cp core-setup/cli/fxr/libhostfxr.so $__outputpath/sdk/$__sdkversion
|
||||
else
|
||||
cp core-setup/bin/$__runtime_id.$__configuration/corehost/dotnet $__outputpath
|
||||
cp core-setup/bin/$__runtime_id.$__configuration/corehost/dotnet $__frameworkpath/corehost
|
||||
|
||||
cp core-setup/bin/$__runtime_id.$__configuration/corehost/libhostpolicy.so $__frameworkpath
|
||||
cp core-setup/bin/$__runtime_id.$__configuration/corehost/libhostpolicy.so $__outputpath/sdk/$__sdkversion
|
||||
|
||||
cp core-setup/bin/$__runtime_id.$__configuration/corehost/libhostfxr.so $__frameworkpath
|
||||
cp core-setup/bin/$__runtime_id.$__configuration/corehost/libhostfxr.so $__outputpath/host/fxr/$__fxrversion
|
||||
cp core-setup/bin/$__runtime_id.$__configuration/corehost/libhostfxr.so $__outputpath/sdk/$__sdkversion
|
||||
fi
|
||||
|
||||
# Mark the core-setup executables as allowed to create executable memory mappings
|
||||
disable_pax_mprotect $__outputpath/dotnet
|
||||
disable_pax_mprotect $__frameworkpath/corehost
|
||||
|
||||
# Finally copy the corefx repo binaries
|
||||
cp $__corefxbin/**/System.* $__frameworkpath
|
||||
|
||||
# Copy System.Private.CoreLib.dll override from somewhere if requested
|
||||
if [[ "$__corelib" != "" ]]; then
|
||||
cp "$__corelib" $__frameworkpath
|
||||
fi
|
||||
|
||||
# Add the new RID to Microsoft.NETCore.App.deps.json
|
||||
# Replace the linux-x64 RID in the target, runtimeTarget and runtimes by the new RID
|
||||
# and add the new RID to the list of runtimes.
|
||||
echo "**** Adding new rid to Microsoft.NETCore.App.deps.json ****"
|
||||
|
||||
#TODO: add parameter with the parent RID sequence
|
||||
|
||||
sed \
|
||||
-e 's/runtime\.linux-x64/runtime.'$__runtime_id'/g' \
|
||||
-e 's/runtimes\/linux-x64/runtimes\/'$__runtime_id'/g' \
|
||||
-e 's/Version=v\([0-9].[0-9]\)\/linux-x64/Version=v\1\/'$__runtime_id'/g' \
|
||||
$__seedclipath/shared/Microsoft.NETCore.App/$__frameworkversion/Microsoft.NETCore.App.deps.json \
|
||||
>$__frameworkpath/Microsoft.NETCore.App.deps.json
|
||||
|
||||
# add the new RID to the list of runtimes iff it does not already exist (sed inplace)
|
||||
__os_dependencies=
|
||||
if [[ $__build_os == "Linux" ]]; then
|
||||
__os_dependencies='"linux", "linux-'$__build_arch'", '
|
||||
fi
|
||||
grep -q "\"$__runtime_id\":" $__frameworkpath/Microsoft.NETCore.App.deps.json || \
|
||||
sed -i \
|
||||
-e 's/"runtimes": {/&\n "'$__runtime_id'": [\n '"$__os_dependencies"'"unix", "unix-'$__build_arch'", "any", "base"\n ],/g' \
|
||||
$__frameworkpath/Microsoft.NETCore.App.deps.json
|
||||
|
||||
__crossgentimeout=120
|
||||
|
||||
function crossgenone(){
|
||||
echo $2/crossgen /MissingDependenciesOK /Platform_Assemblies_Paths $2:$3 /in $1 /out $1.ni >$1.log 2>&1
|
||||
timeout $__crossgentimeout $2/crossgen /MissingDependenciesOK /Platform_Assemblies_Paths $2:$3 /in $1 /out $1.ni >>$1.log 2>&1
|
||||
exitCode=$?
|
||||
if [ "$exitCode" == "0" ]
|
||||
then
|
||||
rm $1.log
|
||||
mv $1.ni $1
|
||||
elif grep -q -e 'The module was expected to contain an assembly manifest' \
|
||||
-e 'An attempt was made to load a program with an incorrect format.' \
|
||||
-e 'File is PE32' $1.log
|
||||
then
|
||||
rm $1.log
|
||||
echo "$1" >> crossgenskipped
|
||||
else
|
||||
echo "$1" >> crossgenretry
|
||||
fi
|
||||
}
|
||||
|
||||
# Run an assembly through ildasm ilasm roundtrip to remove x64 crossgen
|
||||
function uncrossgenone(){
|
||||
echo >> $1.log 2>&1
|
||||
echo mv $1 $1.x64 >> $1.log 2>&1
|
||||
echo $2/ildasm -raweh -out=$1.il $1.x64 "&& \\" >> $1.log 2>&1
|
||||
echo $2/ilasm -output=$1 -QUIET -NOLOGO -DEBUG -OPTIMIZE $1.il >> $1.log 2>&1
|
||||
|
||||
mv $1 $1.x64
|
||||
$2/ildasm -raweh -out=$1.il $1.x64 && \
|
||||
$2/ilasm -output=$1 -DLL -QUIET -NOLOGO -DEBUG -OPTIMIZE $1.il
|
||||
exitCode=$?
|
||||
if [ "$exitCode" == "0" ]
|
||||
then
|
||||
rm $1.x64
|
||||
rm $1.il
|
||||
else
|
||||
echo "$1" >> uncrossgenfails
|
||||
fi
|
||||
}
|
||||
|
||||
# if $__build_arch is not x64 then any dll which was crossgened for x64 must be recrossgened for $__build_arch
|
||||
if [[ "$__build_arch" != "x64" ]]
|
||||
then
|
||||
echo "**** Beginning crossgen for $__build_arch target ****"
|
||||
export -f crossgenone
|
||||
export __crossgentimeout
|
||||
|
||||
rm -f crossgenretry crossgendlls crossgenskipped uncrossgenfails
|
||||
|
||||
# Assumes System.Private.CoreLib was already crossgened
|
||||
find $__outputpath -type f -name \*.dll -or -name \*.exe | grep -v System.Private.CoreLib > crossgendlls
|
||||
|
||||
cat crossgendlls | xargs -P 0 -n 1 -I {} bash -c 'crossgenone "$@"' _ {} "$__frameworkpath" "$__outputpath/sdk/$__sdkversion"
|
||||
|
||||
echo
|
||||
echo "**** Crossgen skipped for non-managed assembly files:"
|
||||
echo
|
||||
|
||||
touch crossgenskipped
|
||||
cat crossgenskipped
|
||||
|
||||
echo
|
||||
echo "**** Crossgen failed for the following dlls:"
|
||||
echo
|
||||
|
||||
touch crossgenretry
|
||||
cat crossgenretry
|
||||
|
||||
echo
|
||||
echo "**** Beginning uncrossgen for failed dlls ****"
|
||||
echo
|
||||
export -f uncrossgenone
|
||||
|
||||
rm -f $__coreclrbin/System.Private.CoreLib.dll
|
||||
ln -s $__corelib $__coreclrbin/System.Private.CoreLib.dll
|
||||
|
||||
cat crossgenretry | xargs -P 0 -n 1 -I {} bash -c 'uncrossgenone "$@"' _ {} "$__coreclrbin"
|
||||
|
||||
rm -f $__coreclrbin/System.Private.CoreLib.dll
|
||||
|
||||
echo
|
||||
echo "**** Uncrossgen failed for the following dlls:"
|
||||
echo
|
||||
touch uncrossgenfails
|
||||
cat uncrossgenfails
|
||||
fi
|
||||
|
||||
echo "**** Bootstrap CLI was successfully built ****"
|
||||
|
|
@ -466,8 +466,8 @@ function runXmlDocTests() {
|
|||
)
|
||||
|
||||
netcoreappIgnoreList=(
|
||||
mscorlib.xml
|
||||
Microsoft.VisualBasic.xml
|
||||
netstandard.xml
|
||||
System.AppContext.xml
|
||||
System.Buffers.xml
|
||||
System.ComponentModel.DataAnnotations.xml
|
||||
|
@ -482,12 +482,15 @@ function runXmlDocTests() {
|
|||
System.Globalization.Calendars.xml
|
||||
System.Globalization.Extensions.xml
|
||||
System.Globalization.xml
|
||||
System.IO.Compression.Brotli.xml
|
||||
System.IO.Compression.FileSystem.xml
|
||||
System.IO.FileSystem.xml
|
||||
System.IO.FileSystem.Primitives.xml
|
||||
System.IO.UnmanagedMemoryStream.xml
|
||||
System.IO.xml
|
||||
System.Net.xml
|
||||
System.Numerics.xml
|
||||
System.Numerics.Vectors.xml
|
||||
System.Reflection.Extensions.xml
|
||||
System.Reflection.xml
|
||||
System.Resources.Reader.xml
|
||||
|
@ -501,6 +504,8 @@ function runXmlDocTests() {
|
|||
System.ServiceModel.Web.xml
|
||||
System.ServiceProcess.xml
|
||||
System.Text.Encoding.xml
|
||||
System.Text.Json.SourceGeneration.resources.xml
|
||||
System.Text.Json.SourceGeneration.xml
|
||||
System.Threading.Tasks.Extensions.xml
|
||||
System.Threading.Tasks.xml
|
||||
System.Threading.Timer.xml
|
||||
|
@ -513,124 +518,8 @@ function runXmlDocTests() {
|
|||
System.Xml.Serialization.xml
|
||||
System.Xml.xml
|
||||
System.Xml.XmlDocument.xml
|
||||
Microsoft.CSharp.xml
|
||||
# Added temporarily due to https://github.com/dotnet/source-build/issues/2404
|
||||
Microsoft.VisualBasic.Core.xml
|
||||
Microsoft.Win32.Primitives.xml
|
||||
Microsoft.Win32.Registry.xml
|
||||
System.Collections.Concurrent.xml
|
||||
System.Collections.Immutable.xml
|
||||
System.Collections.NonGeneric.xml
|
||||
System.Collections.Specialized.xml
|
||||
System.Collections.xml
|
||||
System.ComponentModel.Annotations.xml
|
||||
System.ComponentModel.EventBasedAsync.xml
|
||||
System.ComponentModel.Primitives.xml
|
||||
System.ComponentModel.TypeConverter.xml
|
||||
System.ComponentModel.xml
|
||||
System.Console.xml
|
||||
System.Data.Common.xml
|
||||
System.Diagnostics.Contracts.xml
|
||||
System.Diagnostics.DiagnosticSource.xml
|
||||
System.Diagnostics.FileVersionInfo.xml
|
||||
System.Diagnostics.Process.xml
|
||||
System.Diagnostics.StackTrace.xml
|
||||
System.Diagnostics.TextWriterTraceListener.xml
|
||||
System.Diagnostics.TraceSource.xml
|
||||
System.Diagnostics.Tracing.xml
|
||||
System.Drawing.Primitives.xml
|
||||
System.Formats.Asn1.xml
|
||||
System.IO.Compression.Brotli.xml
|
||||
System.IO.Compression.ZipFile.xml
|
||||
System.IO.Compression.xml
|
||||
System.IO.FileSystem.AccessControl.xml
|
||||
System.IO.FileSystem.DriveInfo.xml
|
||||
System.IO.FileSystem.Watcher.xml
|
||||
System.IO.FileSystem.xml
|
||||
System.IO.IsolatedStorage.xml
|
||||
System.IO.MemoryMappedFiles.xml
|
||||
System.IO.Pipes.AccessControl.xml
|
||||
System.IO.Pipes.xml
|
||||
System.Linq.Expressions.xml
|
||||
System.Linq.Parallel.xml
|
||||
System.Linq.Queryable.xml
|
||||
System.Linq.xml
|
||||
System.Memory.xml
|
||||
System.Net.Http.Json.xml
|
||||
System.Net.Http.xml
|
||||
System.Net.HttpListener.xml
|
||||
System.Net.Mail.xml
|
||||
System.Net.NameResolution.xml
|
||||
System.Net.NetworkInformation.xml
|
||||
System.Net.Ping.xml
|
||||
System.Net.Primitives.xml
|
||||
System.Net.Requests.xml
|
||||
System.Net.Security.xml
|
||||
System.Net.ServicePoint.xml
|
||||
System.Net.Sockets.xml
|
||||
System.Net.WebClient.xml
|
||||
System.Net.WebHeaderCollection.xml
|
||||
System.Net.WebProxy.xml
|
||||
System.Net.WebSockets.Client.xml
|
||||
System.Net.WebSockets.xml
|
||||
System.Numerics.Vectors.xml
|
||||
System.ObjectModel.xml
|
||||
System.Reflection.DispatchProxy.xml
|
||||
System.Reflection.Emit.ILGeneration.xml
|
||||
System.Reflection.Emit.Lightweight.xml
|
||||
System.Reflection.Emit.xml
|
||||
System.Reflection.Metadata.xml
|
||||
System.Reflection.Primitives.xml
|
||||
System.Reflection.TypeExtensions.xml
|
||||
System.Resources.Writer.xml
|
||||
System.Runtime.CompilerServices.Unsafe.xml
|
||||
System.Runtime.CompilerServices.VisualC.xml
|
||||
System.Runtime.InteropServices.RuntimeInformation.xml
|
||||
System.Runtime.InteropServices.xml
|
||||
System.Runtime.Intrinsics.xml
|
||||
System.Runtime.Loader.xml
|
||||
System.Runtime.Numerics.xml
|
||||
System.Runtime.Serialization.Formatters.xml
|
||||
System.Runtime.Serialization.Json.xml
|
||||
System.Runtime.Serialization.Primitives.xml
|
||||
System.Runtime.Serialization.Xml.xml
|
||||
System.Runtime.xml
|
||||
System.Security.AccessControl.xml
|
||||
System.Security.Claims.xml
|
||||
System.Security.Cryptography.Algorithms.xml
|
||||
System.Security.Cryptography.Cng.xml
|
||||
System.Security.Cryptography.Csp.xml
|
||||
System.Security.Cryptography.Encoding.xml
|
||||
System.Security.Cryptography.OpenSsl.xml
|
||||
System.Security.Cryptography.Primitives.xml
|
||||
System.Security.Cryptography.X509Certificates.xml
|
||||
System.Security.Principal.Windows.xml
|
||||
System.Text.Encoding.CodePages.xml
|
||||
System.Text.Encoding.Extensions.xml
|
||||
System.Text.Encodings.Web.xml
|
||||
System.Text.Json.xml
|
||||
System.Text.Json.SourceGeneration.xml
|
||||
System.Text.Json.SourceGeneration.resources.xml
|
||||
System.Text.RegularExpressions.xml
|
||||
System.Threading.Channels.xml
|
||||
System.Threading.Overlapped.xml
|
||||
System.Threading.Tasks.Dataflow.xml
|
||||
System.Threading.Tasks.Parallel.xml
|
||||
System.Threading.Thread.xml
|
||||
System.Threading.ThreadPool.xml
|
||||
System.Threading.xml
|
||||
System.Transactions.Local.xml
|
||||
System.Web.HttpUtility.xml
|
||||
System.Xml.ReaderWriter.xml
|
||||
System.Xml.XDocument.xml
|
||||
System.Xml.XPath.XDocument.xml
|
||||
System.Xml.XPath.xml
|
||||
System.Xml.XmlSerializer.xml
|
||||
WindowsBase.xml
|
||||
mscorlib.xml
|
||||
)
|
||||
|
||||
# Added temporarily due to https://github.com/dotnet/source-build/issues/2404
|
||||
aspnetcoreappIgnoreList=(
|
||||
Microsoft.AspNetCore.App.Analyzers.xml
|
||||
Microsoft.Extensions.Logging.Generators.resources.xml
|
||||
|
@ -659,7 +548,6 @@ function runXmlDocTests() {
|
|||
fi
|
||||
done
|
||||
fi
|
||||
# Added temporarily due to https://github.com/dotnet/source-build/issues/2404
|
||||
if [[ "$xmlDocFile" == *"/packs/Microsoft.AspNetCore.App.Ref"* ]]; then
|
||||
xmlFileBasename=$(basename "$xmlDocFile")
|
||||
for ignoreItem in "${aspnetcoreappIgnoreList[@]}"; do
|
||||
|
@ -673,10 +561,16 @@ function runXmlDocTests() {
|
|||
error=1
|
||||
echo "error: missing $xmlDocFile"
|
||||
fi
|
||||
|
||||
if [[ $skip == 1 ]] && [[ -f "$xmlDocFile" ]]; then
|
||||
error=1
|
||||
echo "error: Ignored xml doc was found: $xmlDocFile"
|
||||
fi
|
||||
|
||||
done < <(find "$targetingPacksDir" -name '*.dll' -print0)
|
||||
|
||||
if [[ $error != 0 ]]; then
|
||||
echo "error: Missing xml documents"
|
||||
echo "error: Missing or unexpected xml documents"
|
||||
exit 1
|
||||
else
|
||||
echo "All expected xml docs are present"
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
From 4ca12d74308dceface792dad959bd4a7eda0b1b4 Mon Sep 17 00:00:00 2001
|
||||
From: MichaelSimons <msimons@microsoft.com>
|
||||
Date: Thu, 30 Sep 2021 22:37:24 +0000
|
||||
Subject: [PATCH] Enable doc generation in source-build
|
||||
|
||||
---
|
||||
Build.proj | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Build.proj b/Build.proj
|
||||
index bff94b97a7a..5f47e869fb6 100644
|
||||
--- a/Build.proj
|
||||
+++ b/Build.proj
|
||||
@@ -10,7 +10,7 @@
|
||||
<Import Project="$(RepositoryEngineeringDir)SubsetValidation.targets" />
|
||||
|
||||
<!-- Upfront restore hooks -->
|
||||
- <Import Project="$(RepositoryEngineeringDir)restore\docs.targets" Condition="'$(DotNetBuildFromSource)' != 'true'" />
|
||||
+ <Import Project="$(RepositoryEngineeringDir)restore\docs.targets" />
|
||||
<Import Project="$(RepositoryEngineeringDir)restore\optimizationData.targets" Condition="'$(DotNetBuildFromSource)' != 'true'" />
|
||||
|
||||
<Target Name="BuildLocalTasks"
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
From 7577b8cf676f7d38363052e2bc8da931af1cc279 Mon Sep 17 00:00:00 2001
|
||||
From: Jeremy Koritzinsky <jekoritz@microsoft.com>
|
||||
Date: Thu, 30 Sep 2021 16:04:21 -0700
|
||||
Subject: [PATCH] Produce symbols archives.
|
||||
|
||||
Contributes to #49026
|
||||
|
||||
https://github.com/dotnet/runtime/pull/59843 handles adding the patch to the runtime repo.
|
||||
---
|
||||
.../Microsoft.NETCore.App.Runtime.Composite.sfxproj | 2 +-
|
||||
.../Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.sfxproj | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.Composite.sfxproj b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.Composite.sfxproj
|
||||
index a3f364815d6..5fe3ba42252 100644
|
||||
--- a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.Composite.sfxproj
|
||||
+++ b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.Composite.sfxproj
|
||||
@@ -7,7 +7,7 @@
|
||||
<ArchiveName>dotnet-runtime-internal-composite</ArchiveName>
|
||||
<OverridePackageId>$(SharedFrameworkName).Composite</OverridePackageId>
|
||||
<OverridePackageId Condition="'$(PgoInstrument)' != ''">$(SharedFrameworkName).Composite.PGO</OverridePackageId>
|
||||
- <GenerateSymbolsArchive>true</GenerateSymbolsArchive>
|
||||
+ <CreateSymbolsArchive>true</CreateSymbolsArchive>
|
||||
<SymbolsArchiveName>dotnet-runtime-composite-symbols</SymbolsArchiveName>
|
||||
<UseTemplatedPlatformManifest>true</UseTemplatedPlatformManifest>
|
||||
<ForcePublishReadyToRunComposite>true</ForcePublishReadyToRunComposite>
|
||||
diff --git a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.sfxproj b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.sfxproj
|
||||
index 4fa48f4e0c9..1d43304d72b 100644
|
||||
--- a/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.sfxproj
|
||||
+++ b/src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.sfxproj
|
||||
@@ -8,7 +8,7 @@
|
||||
<InstallerName Condition="'$(TargetOS)' != 'OSX'">dotnet-runtime</InstallerName>
|
||||
<InstallerName Condition="'$(TargetOS)' == 'OSX'">dotnet-runtime-internal</InstallerName>
|
||||
<OverridePackageId Condition="'$(PgoInstrument)' != ''">$(SharedFrameworkName).PGO</OverridePackageId>
|
||||
- <GenerateSymbolsArchive>true</GenerateSymbolsArchive>
|
||||
+ <CreateSymbolsArchive>true</CreateSymbolsArchive>
|
||||
<SymbolsArchiveName>dotnet-runtime-symbols</SymbolsArchiveName>
|
||||
<VSInsertionShortComponentName>NetCore.SharedFramework</VSInsertionShortComponentName>
|
||||
<UseTemplatedPlatformManifest>true</UseTemplatedPlatformManifest>
|
||||
--
|
||||
2.29.2
|
||||
|
|
@ -44,8 +44,8 @@
|
|||
Impersonate="no"/>
|
||||
|
||||
<InstallExecuteSequence>
|
||||
<Custom Action="PropertyAssignPrimeCacheAndTelemetry" Before="QtExecPrimeCacheAndTelemetryTarget" />
|
||||
<Custom Action="QtExecPrimeCacheAndTelemetryTarget" Before="InstallFinalize" />
|
||||
<Custom Action="PropertyAssignPrimeCacheAndTelemetry" Before="QtExecPrimeCacheAndTelemetryTarget">NOT Installed</Custom>
|
||||
<Custom Action="QtExecPrimeCacheAndTelemetryTarget" Before="InstallFinalize">NOT Installed</Custom>
|
||||
</InstallExecuteSequence>
|
||||
</Product>
|
||||
<Fragment>
|
||||
|
|
Loading…
Reference in a new issue