Merge changes from release/6.0.2xx
This commit is contained in:
commit
0d73a71a5a
34 changed files with 386 additions and 428 deletions
|
@ -136,10 +136,10 @@ stages:
|
|||
pool:
|
||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||
name: NetCore1ESPool-Public
|
||||
demands: ImageOverride -equals Build.Ubuntu.1604.Amd64.Open
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
|
||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
name: NetCore1ESPool-Internal
|
||||
demands: ImageOverride -equals Build.Ubuntu.1604.Amd64
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
||||
timeoutInMinutes: 180
|
||||
strategy:
|
||||
matrix:
|
||||
|
@ -301,10 +301,10 @@ stages:
|
|||
pool:
|
||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||
name: NetCore1ESPool-Public
|
||||
demands: ImageOverride -equals Build.Ubuntu.1604.Amd64.Open
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
|
||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
name: NetCore1ESPool-Internal
|
||||
demands: ImageOverride -equals Build.Ubuntu.1604.Amd64
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
||||
timeoutInMinutes: 180
|
||||
strategy:
|
||||
matrix:
|
||||
|
|
4
build.sh
4
build.sh
|
@ -53,7 +53,5 @@ dockerbuild()
|
|||
if [ ! -z "$BUILD_IN_DOCKER" ]; then
|
||||
dockerbuild $args
|
||||
else
|
||||
# Run under sudo so we can set ulimit
|
||||
# See https://github.com/dotnet/core-eng/issues/14808
|
||||
sudo -E $DIR/run-build.sh $args
|
||||
$DIR/run-build.sh $args
|
||||
fi
|
||||
|
|
14
eng/source-build-tarball-build-official.yml
Normal file
14
eng/source-build-tarball-build-official.yml
Normal file
|
@ -0,0 +1,14 @@
|
|||
trigger: none
|
||||
pr: none
|
||||
resources:
|
||||
pipelines:
|
||||
- pipeline: installer-build-resource
|
||||
source: dotnet-installer-official-ci
|
||||
trigger: true
|
||||
|
||||
stages:
|
||||
- stage: build
|
||||
jobs:
|
||||
- template: /src/SourceBuild/Arcade/eng/common/templates/job/source-build-run-tarball-build.yml
|
||||
parameters:
|
||||
tarballResourceId: installer-build-resource
|
|
@ -3,8 +3,8 @@ pr: none
|
|||
resources:
|
||||
pipelines:
|
||||
- pipeline: installer-build-resource
|
||||
source: dotnet-installer-official-ci
|
||||
trigger: true # Run pipeline when any run of dotnet-installer-official-ci completes
|
||||
source: installer
|
||||
trigger: true
|
||||
|
||||
stages:
|
||||
- stage: build
|
||||
|
|
|
@ -25,10 +25,6 @@ CUSTOM_BUILD_ARGS=
|
|||
# Set nuget package cache under the repo
|
||||
[ -z $NUGET_PACKAGES ] && export NUGET_PACKAGES="$REPOROOT/.nuget/packages"
|
||||
|
||||
# Set max number of files open, helps avoid errors during NuGet restore
|
||||
# See https://github.com/dotnet/core-eng/issues/14808
|
||||
ulimit -n 16384
|
||||
|
||||
args=( )
|
||||
|
||||
while [[ $# > 0 ]]; do
|
||||
|
|
|
@ -7,10 +7,10 @@ jobs:
|
|||
pool:
|
||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||
name: NetCore1ESPool-Public
|
||||
demands: ImageOverride -equals Build.Ubuntu.1604.Amd64.Open
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
|
||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
name: NetCore1ESPool-Internal
|
||||
demands: ImageOverride -equals Build.Ubuntu.1604.Amd64
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
||||
variables:
|
||||
_BuildConfig: Release
|
||||
workspace:
|
||||
|
|
|
@ -10,87 +10,105 @@ parameters:
|
|||
# The resource id of the tarball to download and build
|
||||
tarballResourceId: current
|
||||
|
||||
# The following parameters aren't expected to be passed in rather they are used for encapsulation
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
fedora33Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-33-20210222183538-031e7d2
|
||||
poolInternal:
|
||||
name: NetCore1ESPool-Svc-Internal
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
||||
poolPublic:
|
||||
name: NetCore1ESPool-Svc-Public
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
|
||||
tarballDir: $(Build.StagingDirectory)/tarball
|
||||
|
||||
jobs:
|
||||
- job: Source_Build_Run_Tarball_Build
|
||||
- job: Build_Tarball
|
||||
condition: ${{ parameters.condition }}
|
||||
displayName: Source-Build Build Tarball
|
||||
displayName: Build Tarball
|
||||
dependsOn: ${{ parameters.dependsOn }}
|
||||
pool:
|
||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||
name: NetCore1ESPool-Public
|
||||
demands: ImageOverride -equals Build.Ubuntu.1604.Amd64.Open
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open
|
||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
name: NetCore1ESPool-Internal
|
||||
demands: ImageOverride -equals Build.Ubuntu.1604.Amd64
|
||||
demands: ImageOverride -equals Build.Ubuntu.1804.Amd64
|
||||
strategy:
|
||||
matrix:
|
||||
Fedora33-Online:
|
||||
_runOnline: true
|
||||
_Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-33-20210222183538-031e7d2
|
||||
_BuildArch: x64
|
||||
_Container: ${{ parameters.fedora33Container }}
|
||||
_RunOnline: true
|
||||
Fedora33-Offline:
|
||||
_runOnline: false
|
||||
_Container: mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-33-20210222183538-031e7d2
|
||||
timeoutInMinutes: 210
|
||||
variables:
|
||||
_TarballDir: $(Build.StagingDirectory)/tarball
|
||||
_BuildConfig: Release
|
||||
_BuildArch: x64
|
||||
_BuildArch: x64
|
||||
_Container: ${{ parameters.fedora33Container }}
|
||||
_RunOnline: false
|
||||
timeoutInMinutes: 240
|
||||
workspace:
|
||||
clean: all
|
||||
|
||||
steps:
|
||||
- checkout: none
|
||||
|
||||
- download: ${{ parameters.tarballResourceId }}
|
||||
artifact: BlobArtifacts
|
||||
patterns: '**/dotnet-sdk-source*.tar.gz'
|
||||
displayName: Download Tarball
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
|
||||
resourceIdPathSegment=
|
||||
if [ '${{ parameters.tarballResourceId }}' != 'current' ]; then
|
||||
resourceIdPathSegment='${{ parameters.tarballResourceId }}/'
|
||||
fi
|
||||
|
||||
mkdir -p "$(_TarballDir)"
|
||||
tarballFilePath="$(PIPELINE.WORKSPACE)/${resourceIdPathSegment}BlobArtifacts/dotnet-sdk-source*.tar.gz"
|
||||
eval tar -ozxf "$tarballFilePath" -C "$(_TarballDir)"
|
||||
eval rm -f "$tarballFilePath"
|
||||
displayName: Extract Tarball
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
|
||||
docker run --rm -v $(_TarballDir):/tarball -w /tarball $(_Container) ./prep.sh
|
||||
displayName: Prep Tarball
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
df -h
|
||||
|
||||
networkArgs=
|
||||
customBuildArgs=
|
||||
if [ '$(_runOnline)' = 'true' ]; then
|
||||
customBuildArgs='--online'
|
||||
else
|
||||
networkArgs='--network none'
|
||||
fi
|
||||
|
||||
docker run --rm -v $(_TarballDir):/tarball -w /tarball ${networkArgs} $(_Container) ./build.sh ${customBuildArgs} -- /p:CleanWhileBuilding=true
|
||||
displayName: Build Tarball
|
||||
|
||||
- publish: '$(_TarballDir)/artifacts/$(_BuildArch)/$(_BuildConfig)/'
|
||||
artifact: $(Agent.JobName)_Artifacts_Attempt$(System.JobAttempt)
|
||||
displayName: Publish Source Build Artifacts
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
|
||||
docker run --rm -v $(_TarballDir):/tarball -w /tarball $(_Container) ./build.sh --run-smoke-test
|
||||
displayName: Run Tests
|
||||
|
||||
- template: /src/SourceBuild/Arcade/eng/common/templates/steps/source-build-publish-logs.yml
|
||||
- template: /src/SourceBuild/Arcade/eng/common/templates/steps/source-build-build-tarball.yml
|
||||
parameters:
|
||||
sourceFolder: $(_TarballDir)
|
||||
buildArch: $(_BuildArch)
|
||||
container: $(_Container)
|
||||
prepScript: |
|
||||
set -x
|
||||
|
||||
docker run --rm -v ${{ parameters.tarballDir }}:/tarball -w /tarball $(_Container) ./prep.sh
|
||||
runOnline: $(_RunOnline)
|
||||
tarballDir: ${{ parameters.tarballDir }}
|
||||
tarballResourceId: ${{ parameters.tarballResourceId }}
|
||||
|
||||
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
|
||||
- job: Rebuild_Tarball
|
||||
displayName: Rebuild Tarball With Previous
|
||||
dependsOn: Build_Tarball
|
||||
pool:
|
||||
${{ if eq(variables['System.TeamProject'], 'public') }}:
|
||||
${{ parameters.poolPublic }}
|
||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||
${{ parameters.poolInternal }}
|
||||
strategy:
|
||||
matrix:
|
||||
Fedora33-Offline:
|
||||
_PreviousSourceBuildArtifact: Build Tarball Fedora33-Offline_Artifacts
|
||||
_BuildArch: x64
|
||||
_Container: ${{ parameters.fedora33Container }}
|
||||
_RunOnline: false
|
||||
timeoutInMinutes: 180
|
||||
workspace:
|
||||
clean: all
|
||||
|
||||
steps:
|
||||
- checkout: none
|
||||
|
||||
- download: current
|
||||
artifact: $(_PreviousSourceBuildArtifact)
|
||||
patterns: '*.tar.gz'
|
||||
displayName: Download Previous Source Build Artifacts
|
||||
|
||||
- task: CopyFiles@2
|
||||
displayName: Copy Previous Source Build Artifacts
|
||||
inputs:
|
||||
SourceFolder: $(PIPELINE.WORKSPACE)/$(_PreviousSourceBuildArtifact)
|
||||
Contents: '*.tar.gz'
|
||||
TargetFolder: ${{ parameters.tarballDir }}/packages/archive/
|
||||
|
||||
- template: /src/SourceBuild/Arcade/eng/common/templates/steps/source-build-build-tarball.yml
|
||||
parameters:
|
||||
additionalBuildArgs: --with-sdk /tarball/.dotnet
|
||||
buildArch: $(_BuildArch)
|
||||
container: $(_Container)
|
||||
prepScript: |
|
||||
set -x
|
||||
|
||||
mkdir ${{ parameters.tarballDir }}/.dotnet
|
||||
tarballFilePath="${{ parameters.tarballDir }}/packages/archive/dotnet-sdk-*.tar.gz"
|
||||
eval tar -ozxf "$tarballFilePath" -C "${{ parameters.tarballDir }}/.dotnet"
|
||||
eval rm -f "$tarballFilePath"
|
||||
runOnline: $(_RunOnline)
|
||||
tarballDir: ${{ parameters.tarballDir }}
|
||||
tarballResourceId: ${{ parameters.tarballResourceId }}
|
||||
|
|
|
@ -0,0 +1,75 @@
|
|||
# Steps used to build a source-build tarball
|
||||
|
||||
parameters:
|
||||
# Additional custom build args
|
||||
additionalBuildArgs: ""
|
||||
|
||||
# Architecture to build
|
||||
buildArch: null
|
||||
|
||||
# Container image to build within
|
||||
container: null
|
||||
|
||||
# Script logic to prep the tarball for building
|
||||
prepScript: null
|
||||
|
||||
# Whether or not to build online
|
||||
runOnline: null
|
||||
|
||||
# Directory to build the tarball in
|
||||
tarballDir:
|
||||
|
||||
# Resource id of the tarball to download and build
|
||||
tarballResourceId: null
|
||||
|
||||
steps:
|
||||
- download: ${{ parameters.tarballResourceId }}
|
||||
artifact: BlobArtifacts
|
||||
patterns: '**/dotnet-sdk-source*.tar.gz'
|
||||
displayName: Download Tarball
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
|
||||
resourceIdPathSegment=
|
||||
if [ '${{ parameters.tarballResourceId }}' != 'current' ]; then
|
||||
resourceIdPathSegment='${{ parameters.tarballResourceId }}/'
|
||||
fi
|
||||
|
||||
mkdir -p "${{ parameters.tarballDir }}"
|
||||
tarballFilePath="$(PIPELINE.WORKSPACE)/${resourceIdPathSegment}BlobArtifacts/dotnet-sdk-source*.tar.gz"
|
||||
eval tar -ozxf "$tarballFilePath" -C "${{ parameters.tarballDir }}"
|
||||
eval rm -f "$tarballFilePath"
|
||||
displayName: Extract Tarball
|
||||
|
||||
- script: ${{ parameters.prepScript }}
|
||||
displayName: Prep Tarball
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
df -h
|
||||
|
||||
networkArgs=
|
||||
customBuildArgs=
|
||||
if [ '${{ parameters.runOnline}}' = 'true' ]; then
|
||||
customBuildArgs='--online'
|
||||
else
|
||||
networkArgs='--network none'
|
||||
fi
|
||||
|
||||
docker run --rm -v ${{ parameters.tarballDir }}:/tarball -w /tarball ${networkArgs} ${{ parameters.container }} ./build.sh ${customBuildArgs} ${{ parameters.additionalBuildArgs }} -- /p:CleanWhileBuilding=true
|
||||
displayName: Build Tarball
|
||||
|
||||
- script: |
|
||||
set -x
|
||||
|
||||
docker run --rm -v ${{ parameters.tarballDir }}:/tarball -w /tarball ${{ parameters.container }} ./build.sh --run-smoke-test ${{ parameters.additionalBuildArgs }}
|
||||
displayName: Run Tests
|
||||
|
||||
- template: /src/SourceBuild/Arcade/eng/common/templates/steps/source-build-publish-logs.yml
|
||||
parameters:
|
||||
sourceFolder: ${{ parameters.tarballDir }}
|
||||
|
||||
- publish: '${{ parameters.tarballDir }}/artifacts/${{ parameters.buildArch}}/Release/'
|
||||
artifact: $(Agent.JobName)_Artifacts
|
||||
displayName: Publish Artifacts
|
|
@ -12,8 +12,7 @@
|
|||
-->
|
||||
<ItemGroup>
|
||||
<PackageDownload Include="Microsoft.DotNet.Common.ItemTemplates"
|
||||
Version="[$(MicrosoftDotNetCommonItemTemplates21PackageVersion)];
|
||||
[$(MicrosoftDotNetCommonItemTemplates30PackageVersion)];
|
||||
Version="[$(MicrosoftDotNetCommonItemTemplates30PackageVersion)];
|
||||
[$(MicrosoftDotNetCommonItemTemplates31PackageVersion)];
|
||||
[$(MicrosoftDotNetCommonItemTemplates50PackageVersion)];
|
||||
[$(MicrosoftDotNetCommonItemTemplates60PackageVersion)]" />
|
||||
|
@ -27,7 +26,6 @@
|
|||
<!-- TODO: Re-enable once successful build completes -->
|
||||
<!-- <PackageDownload Include="Microsoft.DotNet.Web.ItemTemplates.6.0" Version="[$(AspNetCorePackageVersionFor60Templates)]" /> -->
|
||||
|
||||
<PackageDownload Include="Microsoft.DotNet.Common.ProjectTemplates.2.1" Version="[$(MicrosoftDotNetCommonProjectTemplates21PackageVersion)]" />
|
||||
<PackageDownload Include="Microsoft.DotNet.Common.ProjectTemplates.3.0" Version="[$(MicrosoftDotNetCommonProjectTemplates30PackageVersion)]" />
|
||||
<PackageDownload Include="Microsoft.DotNet.Common.ProjectTemplates.3.1" Version="[$(MicrosoftDotNetCommonProjectTemplates31PackageVersion)]" />
|
||||
<PackageDownload Include="Microsoft.DotNet.Common.ProjectTemplates.5.0" Version="[$(MicrosoftDotNetCommonProjectTemplates50PackageVersion)]" />
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"tools": {
|
||||
"dotnet": "6.0.100-rc.2.21426.20"
|
||||
"dotnet": "6.0.100"
|
||||
},
|
||||
"msbuild-sdks": {
|
||||
"Microsoft.Build.CentralPackageVersions": "2.0.1",
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="CopyBinariesToBinFolder"
|
||||
AfterTargets="Build"
|
||||
AfterTargets="ExtractIntermediatePackages"
|
||||
Inputs="$(MSBuildProjectFullPath)"
|
||||
Outputs="$(RepoCompletedSemaphorePath)CopyBinariesToBinFolder.complete">
|
||||
<ItemGroup>
|
||||
|
|
|
@ -10,11 +10,6 @@
|
|||
<LogVerbosityOptOut>true</LogVerbosityOptOut>
|
||||
<BuildCommandArgs>$(BuildCommandArgs) -v $(LogVerbosity)</BuildCommandArgs>
|
||||
|
||||
<!-- The sdk repo is building with an older version of the SDK where this property is
|
||||
defaulted to false. The SDK that source-build is using defaults it to true.
|
||||
Set it to false to get old behavior for building the sdk repo. -->
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:ProduceReferenceAssembly=false</BuildCommandArgs>
|
||||
|
||||
<!-- Pass in package version props using the Product Construction (ProdCon) API. -->
|
||||
<BuildCommandArgs>$(BuildCommandArgs) /p:PB_PackageVersionPropsUrl=file:%2F%2F$(PackageVersionPropsPath)</BuildCommandArgs>
|
||||
|
||||
|
|
|
@ -49,13 +49,47 @@
|
|||
|
||||
<!-- 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" />
|
||||
<MSBuild Projects="$(MSBuildProjectFile)"
|
||||
Targets="CopyDownloadedPackage"
|
||||
Properties="SourcePath=$(RestorePackagesPath);DestinationPath=$(UnpackedTarPath);PackageName=%(PackageReference.Identity);PackageVersion=%(PackageReference.Version)" />
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<Target Name="CopyDownloadedPackage">
|
||||
<!--
|
||||
Copy downloaded package to the output path.
|
||||
Note: The package version may be different than the version specified
|
||||
since the source-build build number can be different than the official
|
||||
package build number.
|
||||
-->
|
||||
<ItemGroup>
|
||||
<SourceFileName Include="$(SourcePath)$(PackageName.ToLower()).*.nupkg" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<DestinationFileName>@(SourceFileName->'%(Filename)')</DestinationFileName>
|
||||
<NewVersion>$(DestinationFileName.Replace('$(PackageName.ToLower()).',''))</NewVersion>
|
||||
</PropertyGroup>
|
||||
<Copy
|
||||
SourceFiles="@(SourceFileName)"
|
||||
DestinationFiles="$(DestinationPath)$(PackageName).$(NewVersion).nupkg" />
|
||||
|
||||
<!--
|
||||
Update the PackageVersions.props if restored version is
|
||||
different than the specified version.
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<VersionTag>$([System.String]::concat('%3C','$(PackageName)','Version','%3E').Replace('.',''))</VersionTag>
|
||||
<PackageVersionTag>$([System.String]::concat('%3C','$(PackageName)','PackageVersion','%3E').Replace('.',''))</PackageVersionTag>
|
||||
<FilePath>$(DestinationPath)PackageVersions.props</FilePath>
|
||||
</PropertyGroup>
|
||||
<WriteLinesToFile
|
||||
File="$(FilePath)"
|
||||
Lines="$([System.IO.File]::ReadAllText($(FilePath)).Replace('$(VersionTag)$(PackageVersion)','$(VersionTag)$(NewVersion)').Replace('$(PackageVersionTag)$(PackageVersion)','$(PackageVersionTag)$(NewVersion)'))"
|
||||
Overwrite="true"
|
||||
Condition=" '$(PackageVersion)' != '$(NewVersion)' " />
|
||||
</Target>
|
||||
</Project>
|
||||
|
|
|
@ -248,11 +248,10 @@ function doCommand() {
|
|||
echo " terminated with exit code $?" | tee -a "$logFile"
|
||||
elif [ "$1" == "multi-rid-publish" ]; then
|
||||
if [ "$lang" == "F#" ]; then
|
||||
# F# tries to use a truncated version number unless we pass it this flag. see https://github.com/dotnet/source-build/issues/2554
|
||||
runPublishScenarios() {
|
||||
"${dotnetCmd}" publish --self-contained false /bl:"${binlogPrefix}publish-fx-dep.binlog" /p:_NETCoreSdkIsPreview=true
|
||||
"${dotnetCmd}" publish --self-contained true -r "$targetRid" /bl:"${binlogPrefix}publish-self-contained-${targetRid}.binlog" /p:_NETCoreSdkIsPreview=true
|
||||
"${dotnetCmd}" publish --self-contained true -r linux-x64 /bl:"${binlogPrefix}publish-self-contained-portable.binlog" /p:_NETCoreSdkIsPreview=true
|
||||
"${dotnetCmd}" publish --self-contained false /bl:"${binlogPrefix}publish-fx-dep.binlog"
|
||||
"${dotnetCmd}" publish --self-contained true -r "$targetRid" /bl:"${binlogPrefix}publish-self-contained-${targetRid}.binlog"
|
||||
"${dotnetCmd}" publish --self-contained true -r linux-x64 /bl:"${binlogPrefix}publish-self-contained-portable.binlog"
|
||||
}
|
||||
else
|
||||
runPublishScenarios() {
|
||||
|
@ -270,9 +269,9 @@ function doCommand() {
|
|||
if [ "$lang" == "F#" ]; then
|
||||
# F# tries to use a truncated version number unless we pass it this flag. see https://github.com/dotnet/source-build/issues/2554
|
||||
if [ "$projectOutput" == "true" ]; then
|
||||
"${dotnetCmd}" $1 /bl:"$binlog" /p:_NETCoreSdkIsPreview=true | tee -a "$logFile"
|
||||
"${dotnetCmd}" $1 /bl:"$binlog" | tee -a "$logFile"
|
||||
else
|
||||
"${dotnetCmd}" $1 /bl:"$binlog" /p:_NETCoreSdkIsPreview=true >> "$logFile" 2>&1
|
||||
"${dotnetCmd}" $1 /bl:"$binlog" >> "$logFile" 2>&1
|
||||
fi
|
||||
else
|
||||
if [ "$projectOutput" == "true" ]; then
|
||||
|
@ -323,8 +322,7 @@ function runAllTests() {
|
|||
doCommand VB xunit new restore test
|
||||
doCommand VB mstest new restore test
|
||||
|
||||
# "run" was removed from the list below. see https://github.com/dotnet/source-build/issues/2554
|
||||
doCommand F# console new restore build multi-rid-publish
|
||||
doCommand F# console new restore build run multi-rid-publish
|
||||
doCommand F# classlib new restore build multi-rid-publish
|
||||
doCommand F# xunit new restore test
|
||||
doCommand F# mstest new restore test
|
||||
|
@ -349,16 +347,12 @@ function runWebTests() {
|
|||
doCommand C# mvc "$@" new restore build run multi-rid-publish
|
||||
doCommand C# webapi "$@" new restore build multi-rid-publish
|
||||
doCommand C# razor "$@" new restore build run multi-rid-publish
|
||||
# Requires prereqs (non-source-built packages) - re-enable with https://github.com/dotnet/source-build/issues/2550
|
||||
# doCommand C# blazorwasm "$@" new restore build run publish
|
||||
doCommand C# blazorwasm "$@" new restore build run publish
|
||||
doCommand C# blazorserver "$@" new restore build run publish
|
||||
|
||||
# "run" was removed from the list below. see https://github.com/dotnet/source-build/issues/2554
|
||||
doCommand F# web "$@" new restore build multi-rid-publish
|
||||
# Requires prereqs (non-source-built packages) - re-enable with https://github.com/dotnet/source-build/issues/2550
|
||||
# doCommand F# mvc "$@" new restore build run multi-rid-publish
|
||||
# "run" was also removed from this set, same issue: https://github.com/dotnet/source-build/issues/2554
|
||||
doCommand F# webapi "$@" new restore build multi-rid-publish
|
||||
doCommand F# web "$@" new restore build run multi-rid-publish
|
||||
doCommand F# mvc "$@" new restore build run multi-rid-publish
|
||||
doCommand F# webapi "$@" new restore build run multi-rid-publish
|
||||
}
|
||||
|
||||
function runXmlDocTests() {
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Davis Goodin <dagood@microsoft.com>
|
||||
Date: Tue, 26 Oct 2021 13:24:57 -0500
|
||||
Subject: [PATCH] Disable package validation in source-build for reliability
|
||||
|
||||
See comment in diff.
|
||||
|
||||
Upstream PR: https://github.com/dotnet/runtime/pull/60881
|
||||
---
|
||||
eng/packaging.targets | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/eng/packaging.targets b/eng/packaging.targets
|
||||
index ecf74672ac8..0a04191182d 100644
|
||||
--- a/eng/packaging.targets
|
||||
+++ b/eng/packaging.targets
|
||||
@@ -1,7 +1,13 @@
|
||||
<Project>
|
||||
|
||||
<PropertyGroup>
|
||||
- <EnablePackageValidation>true</EnablePackageValidation>
|
||||
+ <!--
|
||||
+ Package validation causes flaky errors during the build. Validation isn't useful during
|
||||
+ source-build (it is only a guardrail for devs), so disable it during source-build to avoid the
|
||||
+ impact on build reliability. https://github.com/dotnet/runtime/issues/60883 tracks fixing the
|
||||
+ flakiness and removing this condition.
|
||||
+ -->
|
||||
+ <EnablePackageValidation Condition="'$(DotNetBuildFromSource)' != 'true'">true</EnablePackageValidation>
|
||||
<!-- Don't restore prebuilt packages during sourcebuild. -->
|
||||
<DisablePackageBaselineValidation Condition="'$(DotNetBuildFromSource)' == 'true'">true</DisablePackageBaselineValidation>
|
||||
<PackageValidationBaselineVersion Condition="'$(PackageValidationBaselineVersion)' == ''">$([MSBuild]::Subtract($(MajorVersion), 1)).0.0</PackageValidationBaselineVersion>
|
|
@ -1,84 +1,95 @@
|
|||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.Android.Manifest-6.0.100" SdkFeatureBand="6.0.100" Version="$(XamarinAndroidWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Sdk.Android" />
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.iOS.Manifest-6.0.100" SdkFeatureBand="6.0.100" Version="$(XamarinIOSWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Sdk.iOS" />
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.MacCatalyst.Manifest-6.0.100" SdkFeatureBand="6.0.100" Version="$(XamarinMacCatalystWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Sdk.MacCatalyst" />
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.macOS.Manifest-6.0.100" SdkFeatureBand="6.0.100" Version="$(XamarinMacOSWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Sdk.macOS" />
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.Maui.Manifest-6.0.100" SdkFeatureBand="6.0.100" Version="$(MauiWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Sdk.Maui" />
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.tvOS.Manifest-6.0.100" SdkFeatureBand="6.0.100" Version="$(XamarinTvOSWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Sdk.tvOS" />
|
||||
<BundledManifests Include="Microsoft.NET.Workload.Mono.ToolChain.Manifest-7.0.100" SdkFeatureBand="7.0.100" Version="$(MonoWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Workload.Mono.ToolChain" />
|
||||
<BundledManifests Include="Microsoft.NET.Workload.Emscripten.Manifest-7.0.100" SdkFeatureBand="7.0.100" Version="$(EmscriptenWorkloadManifestVersion)" WorkloadManifestId="Microsoft.NET.Workload.Emscripten" />
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.Android" FeatureBand="6.0.100" Version="$(XamarinAndroidWorkloadManifestVersion)" />
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.iOS" FeatureBand="6.0.100" Version="$(XamarinIOSWorkloadManifestVersion)" />
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.MacCatalyst" FeatureBand="6.0.100" Version="$(XamarinMacCatalystWorkloadManifestVersion)" />
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.macOS" FeatureBand="6.0.100" Version="$(XamarinMacOSWorkloadManifestVersion)" />
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.Maui" FeatureBand="6.0.100" Version="$(MauiWorkloadManifestVersion)" />
|
||||
<BundledManifests Include="Microsoft.NET.Sdk.tvOS" FeatureBand="6.0.100" Version="$(XamarinTvOSWorkloadManifestVersion)" />
|
||||
<BundledManifests Include="Microsoft.NET.Workload.Mono.ToolChain" FeatureBand="7.0.100" Version="$(MonoWorkloadManifestVersion)" />
|
||||
<BundledManifests Include="Microsoft.NET.Workload.Emscripten" FeatureBand="7.0.100" Version="$(EmscriptenWorkloadManifestVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Restore workload manifests via PackageReference -->
|
||||
<!-- Calculate NuGet package IDs for bundled manifests -->
|
||||
<PropertyGroup>
|
||||
<!-- TODO: Not exactly sure how this value should be calculated -->
|
||||
<!--<MsiArchitectureForWorkloadManifests>$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture.ToString().ToLowerInvariant)</MsiArchitectureForWorkloadManifests>-->
|
||||
<MsiArchitectureForWorkloadManifests>$(Architecture)</MsiArchitectureForWorkloadManifests>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<BundledManifestsForPackageDownload Include="@(BundledManifests)" >
|
||||
<Version>[%(Version)]</Version>
|
||||
</BundledManifestsForPackageDownload>
|
||||
|
||||
<PackageDownload Include="@(BundledManifestsForPackageDownload)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<BundledManifests Update="@(BundledManifests)" >
|
||||
<RestoredNupkgContentPath>$(NuGetPackageRoot)$([MSBuild]::ValueOrDefault('%(Identity)', '').ToLower())/$([MSBuild]::ValueOrDefault('%(Version)', '').ToLower())</RestoredNupkgContentPath>
|
||||
<BundledManifests Update="@(BundledManifests)">
|
||||
<NupkgId>%(Identity).Manifest-%(FeatureBand)</NupkgId>
|
||||
<MsiNupkgId>%(Identity).Manifest-%(FeatureBand).Msi.$(MsiArchitectureForWorkloadManifests)</MsiNupkgId>
|
||||
<RestoredNupkgContentPath>$(NuGetPackageRoot)$([MSBuild]::ValueOrDefault('%(NupkgId)', '').ToLower())/$([MSBuild]::ValueOrDefault('%(Version)', '').ToLower())</RestoredNupkgContentPath>
|
||||
<RestoredMsiNupkgContentPath>$(NuGetPackageRoot)$([MSBuild]::ValueOrDefault('%(MsiNupkgId)', '').ToLower())/$([MSBuild]::ValueOrDefault('%(Version)', '').ToLower())</RestoredMsiNupkgContentPath>
|
||||
<RestoredMsiPathInNupkg>$([MSBuild]::NormalizePath('%(RestoredMsiNupkgContentPath)/data/%(NupkgId).%(Version)-$(MsiArchitectureForWorkloadManifests).msi'))</RestoredMsiPathInNupkg>
|
||||
</BundledManifests>
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="LayoutManifests"
|
||||
DependsOnTargets="LayoutManifestsForSDK;LayoutManifestsForMSI"/>
|
||||
|
||||
<Target Name="LayoutManifestsForSDK"
|
||||
DependsOnTargets="SetupBundledComponents;GenerateManifestVersions">
|
||||
|
||||
<Copy SourceFiles="@(ManifestContent)"
|
||||
DestinationFolder="$(RedistLayoutPath)sdk-manifests/%(DestinationPath)"/>
|
||||
<!-- Restore workload manifests via PackageDownload -->
|
||||
<ItemGroup>
|
||||
<PackageDownload Include="@(BundledManifests->'%(NupkgId)')" >
|
||||
<Version>[%(Version)]</Version>
|
||||
</PackageDownload>
|
||||
</ItemGroup>
|
||||
|
||||
</Target>
|
||||
<ItemGroup Condition=" '$(OS)' == 'Windows_NT' and '$(Architecture)' != 'arm' ">
|
||||
<PackageDownload Include="@(BundledManifests->'%(MsiNupkgId)')" >
|
||||
<Version>[%(Version)]</Version>
|
||||
</PackageDownload>
|
||||
|
||||
<Target Name="LayoutManifestsForMSI"
|
||||
DependsOnTargets="SetupBundledComponents;GenerateManifestVersions"
|
||||
Condition="$(ProductMonikerRid.StartsWith('win')) And '$(Architecture)' != 'arm'">
|
||||
<PackageReference Include="Microsoft.DotNet.SignCheck" Version="$(ArcadeSdkVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="ValidateBundledManifestSigning"
|
||||
Condition=" '$(OS)' == 'Windows_NT' and '$(Architecture)' != 'arm' ">
|
||||
|
||||
<Copy SourceFiles="@(ManifestContent)"
|
||||
DestinationFolder="$(BaseOutputPath)$(Configuration)\sdk-manifests\sdk-manifests/%(DestinationPath)"/>
|
||||
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateManifestVersions">
|
||||
|
||||
<PropertyGroup>
|
||||
<ManifestsMSIInstallerFile>$(ArtifactsNonShippingPackagesDir)dotnet-sdkmanifests-$(FullNugetVersion)-$(ProductMonikerRid)$(InstallerExtension)</ManifestsMSIInstallerFile>
|
||||
<ManifestsDependencyKeyName>SDK_Manifests_$([MSBuild]::ValueOrDefault('$(Version)', '').Replace('-', '_'))</ManifestsDependencyKeyName>
|
||||
<ManifestsBrandName>Microsoft .NET SDK Workload Manifests $(Version)</ManifestsBrandName>
|
||||
<ManifestsLayoutPath>$(BaseOutputPath)$(Configuration)\sdk-manifests</ManifestsLayoutPath>
|
||||
</PropertyGroup>
|
||||
<SignCheckExe>$(PkgMicrosoft_DotNet_SignCheck)\tools\Microsoft.DotNet.SignCheck.exe</SignCheckExe>
|
||||
<SignCheckLog Condition="'$(SignCheckLog)' == ''">$(ArtifactsLogDir)\workloadmanifestsigncheck.log</SignCheckLog>
|
||||
<SignCheckErrorLog Condition="'$(SignCheckErrorLog)' == ''">$(ArtifactsLogDir)\workloadmanifestsigncheck.errors.log</SignCheckErrorLog>
|
||||
</PropertyGroup>
|
||||
|
||||
<GenerateMsiVersion BuildNumber="$(CombinedBuildNumberAndRevision)"
|
||||
Major="$(VersionMajor)"
|
||||
Minor="$(VersionMinor)"
|
||||
Patch="$(VersionFeature)">
|
||||
<Output TaskParameter="MsiVersion" PropertyName="ManifestMsiVersion" />
|
||||
</GenerateMsiVersion>
|
||||
<ItemGroup>
|
||||
<SignCheckWorkloadManifestMsiInputFiles Include="@(BundledManifests->'%(RestoredMsiPathInNupkg)')" />
|
||||
</ItemGroup>
|
||||
|
||||
<Exec Command="$(SignCheckExe) ^
|
||||
--recursive ^
|
||||
-f UnsignedFiles ^
|
||||
-i @(SignCheckWorkloadManifestMsiInputFiles, ' ') ^
|
||||
-l $(SignCheckLog) ^
|
||||
-e $(SignCheckErrorLog)" />
|
||||
|
||||
<Error
|
||||
Text="Signing validation failed for workload manifest MSI. Check $(SignCheckErrorLog) for more information."
|
||||
Condition="Exists($(SignCheckErrorLog)) and '$([System.IO.File]::ReadAllText($(SignCheckErrorLog)))' != ''" />
|
||||
|
||||
<Message
|
||||
Text="##vso[artifact.upload containerfolder=LogFiles;artifactname=LogFiles]{SignCheckErrorLog}"
|
||||
Condition="Exists($(SignCheckErrorLog)) and '$([System.IO.File]::ReadAllText($(SignCheckErrorLog)))' != ''" />
|
||||
|
||||
</Target>
|
||||
|
||||
<Target Name="LayoutManifests"
|
||||
DependsOnTargets="SetupBundledComponents">
|
||||
|
||||
<GenerateGuidFromName Name="$(ManifestsMSIInstallerFile)">
|
||||
<Output TaskParameter="GeneratedGuid"
|
||||
PropertyName="ManifestsInstallerUpgradeCode" />
|
||||
</GenerateGuidFromName>
|
||||
|
||||
<ItemGroup>
|
||||
<ManifestContent Include="%(BundledManifests.RestoredNupkgContentPath)\data\*"
|
||||
Condition="Exists('%(RestoredNupkgContentPath)\data')"
|
||||
DestinationPath="%(BundledManifests.SdkFeatureBand)/$([MSBuild]::ValueOrDefault('%(WorkloadManifestId)', '').ToLower())"
|
||||
DestinationPath="$([MSBuild]::ValueOrDefault('%(Identity)', '').ToLower())"
|
||||
RestoredNupkgContentPath="%(RestoredNupkgContentPath)"
|
||||
WorkloadManifestId="%(WorkloadManifestId)"/>
|
||||
|
||||
WorkloadManifestId="%(Identity)"/>
|
||||
|
||||
<ManifestContent Include="%(BundledManifests.RestoredNupkgContentPath)\data\localize\*"
|
||||
Condition="Exists('%(RestoredNupkgContentPath)\data\localize')"
|
||||
DestinationPath="%(BundledManifests.SdkFeatureBand)/$([MSBuild]::ValueOrDefault('%(WorkloadManifestId)', '').ToLower())/localize"/>
|
||||
DestinationPath="$([MSBuild]::ValueOrDefault('%(Identity)', '').ToLower())/localize"/>
|
||||
</ItemGroup>
|
||||
|
||||
<Error Text="No workload manifest content found." Condition="'@(ManifestContent->Count())' == '0'" />
|
||||
|
||||
<Copy SourceFiles="@(ManifestContent)"
|
||||
DestinationFolder="$(RedistLayoutPath)sdk-manifests/$(CliProductBandVersion)00/%(DestinationPath)"/>
|
||||
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -38,9 +38,6 @@
|
|||
<SdkPlaceholderInstallerNupkgFile>$(ArtifactsNonShippingPackagesDir)VS.Redist.Common.NetCore.SdkPlaceholder.$(Architecture).$(FullNugetVersion).nupkg</SdkPlaceholderInstallerNupkgFile>
|
||||
<VSToolsNuspecFile>$(MSBuildThisFileDirectory)packaging/windows/clisdk/VS.Tools.Net.Core.SDK.nuspec</VSToolsNuspecFile>
|
||||
<VSToolsNupkgFile>$(ArtifactsNonShippingPackagesDir)VS.Tools.Net.Core.SDK.$(Architecture).$(FullNugetVersion).nupkg</VSToolsNupkgFile>
|
||||
|
||||
<ManifestInstallerNuspecFile>$(MSBuildThisFileDirectory)packaging/windows/clisdk/VS.Redist.Common.NetCore.Manifest.nuspec</ManifestInstallerNuspecFile>
|
||||
<ManifestInstallerNupkgFile>$(ArtifactsNonShippingPackagesDir)VS.Redist.Common.NetCore.Manifest.$(Architecture).$(FullNugetVersion).nupkg</ManifestInstallerNupkgFile>
|
||||
|
||||
<SdkResolverLayoutPath>$(ArtifactsDir)bin/SdkResolver/$(Configuration)</SdkResolverLayoutPath>
|
||||
<VSToolsResolverNuspecFile>$(MSBuildThisFileDirectory)packaging/windows/clisdk/VS.Tools.Net.Core.SDK.Resolver.nuspec</VSToolsResolverNuspecFile>
|
||||
|
@ -283,49 +280,36 @@
|
|||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateManifestsMsi"
|
||||
DependsOnTargets="GenerateLayout;AcquireWix;MsiTargetsSetupInputOutputs;SetSdkBrandingInfo"
|
||||
Condition="$(ProductMonikerRid.StartsWith('win')) And '$(Architecture)' != 'arm'"
|
||||
Inputs="@(BundledManifests);$(ManifestsGenerateMsiPowershellScript)"
|
||||
Outputs="$(ManifestsMSIInstallerFile)">
|
||||
|
||||
<Target Name="GenerateWorkloadManifestsWxs"
|
||||
DependsOnTargets="ValidateBundledManifestSigning">
|
||||
<PropertyGroup>
|
||||
<ManifestsGenerateMsiPowershellScript>$(MSBuildThisFileDirectory)packaging/windows/clisdk/generatemanifestsmsi.ps1</ManifestsGenerateMsiPowershellScript>
|
||||
<WorkloadManifestsWxsPath>$(IntermediateOutputPath)WorkloadManifests.wxs</WorkloadManifestsWxsPath>
|
||||
<WorkloadManifestsWxsContent>
|
||||
<![CDATA[
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Licensed to the .NET Foundation under one or more agreements. The .NET Foundation licenses this file to you under the MIT license. -->
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<PackageGroup Id="PG_WorkloadManifests">
|
||||
@(BundledManifests->'<MsiPackage SourceFile="%(RestoredMsiPathInNupkg)">
|
||||
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
|
||||
</MsiPackage>', '
|
||||
')
|
||||
</PackageGroup>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
]]>
|
||||
</WorkloadManifestsWxsContent>
|
||||
</PropertyGroup>
|
||||
|
||||
<Exec Command="powershell -NoProfile -NoLogo $(ManifestsGenerateMsiPowershellScript) ^
|
||||
'$(ManifestsLayoutPath)' ^
|
||||
'$(ManifestsMSIInstallerFile)' ^
|
||||
'$(WixRoot)' ^
|
||||
'$(ManifestsBrandName)' ^
|
||||
'$(ManifestMsiVersion)' ^
|
||||
'$(ManifestMsiVersion)' ^
|
||||
'$(FullNugetVersion)' ^
|
||||
'$(ManifestsInstallerUpgradeCode)' ^
|
||||
'$(ManifestsDependencyKeyName)' ^
|
||||
'$(Architecture)' ^
|
||||
-InformationAction Continue" />
|
||||
<ItemGroup>
|
||||
<ManifestsMsiWixSrcFiles Include="$(WixRoot)\provider.wixobj" />
|
||||
<ManifestsMsiWixSrcFiles Include="$(WixRoot)\Manifests.wixobj" />
|
||||
<ManifestsMsiWixSrcFiles Include="$(WixRoot)\dotnethome_x64.wixobj" />
|
||||
<ManifestsMsiWixSrcFiles Include="$(WixRoot)\Manifest-install-files.wixobj" />
|
||||
</ItemGroup>
|
||||
|
||||
<CreateLightCommandPackageDrop
|
||||
LightCommandWorkingDir="$(LightCommandObjDir)"
|
||||
OutputFolder="$(LightCommandPackagesDir)"
|
||||
NoLogo="true"
|
||||
Cultures="en-us"
|
||||
InstallerFile="$(ArtifactsNonShippingPackagesDir)$(ManifestsMSIInstallerFile)"
|
||||
WixExtensions="WixUIExtension;WixDependencyExtension;WixUtilExtension"
|
||||
WixSrcFiles="@(ManifestsMsiWixSrcFiles)">
|
||||
<Output TaskParameter="OutputFile" PropertyName="_LightCommandPackageNameOutput" />
|
||||
</CreateLightCommandPackageDrop>
|
||||
<WriteLinesToFile File="$(WorkloadManifestsWxsPath)"
|
||||
Lines="$(WorkloadManifestsWxsContent)"
|
||||
WriteOnlyWhenDifferent="true"
|
||||
Overwrite="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateSdkBundle"
|
||||
DependsOnTargets="GenerateLayout;AcquireWix;MsiTargetsSetupInputOutputs;GenerateSdkMsi;SignSdkMsi;GenerateTemplatesMsis;GenerateManifestsMsi;SignTemplatesMsis"
|
||||
DependsOnTargets="GenerateLayout;AcquireWix;MsiTargetsSetupInputOutputs;GenerateSdkMsi;SignSdkMsi;GenerateTemplatesMsis;GenerateWorkloadManifestsWxs;SignTemplatesMsis"
|
||||
Condition=" '$(OS)' == 'Windows_NT' "
|
||||
Inputs="$(SdkMSIInstallerFile);
|
||||
$(DownloadedSharedFrameworkInstallerFile);
|
||||
|
@ -347,6 +331,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<Exec Command="powershell -NoProfile -NoLogo $(SdkGenerateBundlePowershellScript) ^
|
||||
-WorkloadManifestWxsFile '$(WorkloadManifestsWxsPath)' ^
|
||||
-CLISDKMSIFile '$(SdkMSIInstallerFile)' ^
|
||||
-ASPNETRuntimeWixLibFile '$(DownloadsFolder)$(DownloadedAspNetCoreSharedFxWixLibFileName)' ^
|
||||
-SharedFxMSIFile '$(DownloadsFolder)$(DownloadedSharedFrameworkInstallerFileName)' ^
|
||||
|
@ -363,7 +348,6 @@
|
|||
-WindowsDesktopTargetingPackMSIFile '$(DownloadsFolder)$(DownloadedWindowsDesktopTargetingPackInstallerFileName)' ^
|
||||
-FinalizerExe '$(FinalizerExe)' ^
|
||||
-TemplatesMSIFile '$(LatestTemplateMsiInstallerFile)' ^
|
||||
-ManifestsMSIFile '$(ManifestsMsiInstallerFile)' ^
|
||||
-DotnetBundleOutput '$(CombinedFrameworkSdkHostMSIInstallerFile)' ^
|
||||
-WixRoot '$(WixRoot)' ^
|
||||
-ProductMoniker '$(SdkBrandName)' ^
|
||||
|
@ -380,6 +364,7 @@
|
|||
-InformationAction Continue " />
|
||||
<ItemGroup>
|
||||
<BundleMsiWixSrcFiles Include="$(WixRoot)\bundle.wixobj" />
|
||||
<BundleMsiWixSrcFiles Include="$(WixRoot)\WorkloadManifests.wixobj" />
|
||||
<BundleMsiWixSrcFiles Include="$(DownloadsFolder)$(DownloadedAspNetCoreSharedFxWixLibFileName)" />
|
||||
</ItemGroup>
|
||||
<CreateLightCommandPackageDrop
|
||||
|
@ -463,24 +448,6 @@
|
|||
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateManifestNupkg"
|
||||
DependsOnTargets="GenerateLayout;GenerateManifestsMsi"
|
||||
Condition=" '$(OS)' == 'Windows_NT' "
|
||||
Inputs="$(ManifestsMSIInstallerFile);
|
||||
$(ManifestInstallerNuspecFile);
|
||||
$(GenerateNupkgPowershellScript)"
|
||||
Outputs="$(ManifestInstallerNupkgFile)">
|
||||
|
||||
<Exec Command="powershell -NoProfile -NoLogo $(GenerateNupkgPowershellScript) ^
|
||||
'$(ArtifactsDir)' ^
|
||||
'$(ManifestsMSIInstallerFile)' ^
|
||||
'$(FullNugetVersion)' ^
|
||||
'$(ManifestInstallerNuspecFile)' ^
|
||||
'$(ManifestInstallerNupkgFile)' ^
|
||||
'$(Architecture)' ^
|
||||
'$(MajorMinorVersion)'" />
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateVSToolsNupkg"
|
||||
DependsOnTargets="GenerateLayout;MsiTargetsSetupInputOutputs"
|
||||
Condition=" '$(OS)' == 'Windows_NT' and '$(Architecture)' == 'x86' "
|
||||
|
@ -558,14 +525,12 @@
|
|||
GenerateSdkMsi;
|
||||
SignSdkMsi;
|
||||
GenerateTemplatesMsis;
|
||||
GenerateManifestsMsi;
|
||||
SignTemplatesMsis;
|
||||
GenerateSdkBundle;
|
||||
SignSdkBundle;
|
||||
GenerateSdkPlaceholderMsi;
|
||||
SignSdkPlaceholderMsi;
|
||||
GenerateToolsetNupkg;
|
||||
GenerateManifestNupkg;
|
||||
GenerateTemplatesNupkgs;
|
||||
GenerateSdkPlaceholderNupkg;
|
||||
GenerateVSToolsNupkg;
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
資源
|
||||
• 如需 .NET 文件,請前往 https://aka.ms/dotnet-docs
|
||||
• 如需 SDK 文件,請前往 https://aka.ms/dotnet-sdk-docs
|
||||
• 如需版本資訊,請前往 https://aka.ms/dotnet5-release-notes
|
||||
• 如需版本資訊,請前往 https://aka.ms/dotnet6-release-notes
|
||||
• 如需教學課程,請前往 https://aka.ms/dotnet-tutorials</String>
|
||||
<String Id="WelcomeHeaderMessage">.NET SDK</String>
|
||||
<String Id="WelcomeDescription">
|
||||
|
@ -76,7 +76,7 @@
|
|||
<String Id="InstallationNoteTitle">安裝附註</String>
|
||||
<String Id="InstallationNote">安裝程序期間將會執行命令,加快專案還原速度並啟用離線存取。最多需要一分鐘的時間完成。
|
||||
</String>
|
||||
<String Id="VisualStudioWarning">若預計要搭配 Visual Studio 使用 .NET 5.0,需要 Visual Studio 2022 17.0 或更新版本。<A HREF="https://aka.ms/dotnet5-release-notes">深入了解</A>.
|
||||
<String Id="VisualStudioWarning">若預計要搭配 Visual Studio 使用 .NET 6.0,需要 Visual Studio 2022 17.0 或更新版本。<A HREF="https://aka.ms/dotnet6-release-notes">深入了解</A>.
|
||||
</String>
|
||||
<String Id="LicenseAssent">按一下 [\[]安裝[\[] 即表示您同意下列條款。</String>
|
||||
<String Id="InstallPathx64x86">The installation path for x64 SDK installations: "[DOTNETHOME_X64]" cannot be the same as for x86 SDK installations: "[DOTNETHOME_X86]"</String>
|
||||
|
|
|
@ -61,7 +61,7 @@ Tento produkt shromažďuje data o využití.
|
|||
Zdroje informací
|
||||
• Dokumentace k .NET : https://aka.ms/dotnet-docs
|
||||
• Dokumentace k sadě SDK: https://aka.ms/dotnet-sdk-docs
|
||||
• Zpráva k vydání verze: https://aka.ms/dotnet5-release-notes
|
||||
• Zpráva k vydání verze: https://aka.ms/dotnet6-release-notes
|
||||
• Kurzy: https://aka.ms/dotnet-tutorials</String>
|
||||
<String Id="WelcomeHeaderMessage">Sada .NET SDK</String>
|
||||
<String Id="WelcomeDescription">
|
||||
|
@ -76,7 +76,7 @@ Zdroje informací
|
|||
<String Id="InstallationNoteTitle">Poznámka k instalaci</String>
|
||||
<String Id="InstallationNote">Během procesu instalace se spustí příkaz, který zlepší rychlost obnovení projektu a povolí offline přístup. Akce se dokončí přibližně za minutu.
|
||||
</String>
|
||||
<String Id="VisualStudioWarning">Pokud se chystáte používat .NET 5.0 se sadou Visual Studio, potřebujete Visual Studio 2022 17.0 nebo novější. <A HREF="https://aka.ms/dotnet5-release-notes">Další informace</A>.
|
||||
<String Id="VisualStudioWarning">Pokud se chystáte používat .NET 6.0 se sadou Visual Studio, potřebujete Visual Studio 2022 17.0 nebo novější. <A HREF="https://aka.ms/dotnet6-release-notes">Další informace</A>.
|
||||
</String>
|
||||
<String Id="LicenseAssent">Kliknutím na Nainstalovat vyjadřujete souhlas s následujícími podmínkami.</String>
|
||||
<String Id="InstallPathx64x86">The installation path for x64 SDK installations: "[DOTNETHOME_X64]" cannot be the same as for x86 SDK installations: "[DOTNETHOME_X86]"</String>
|
||||
|
|
|
@ -61,7 +61,7 @@ Dieses Produkt erfasst Nutzungsdaten.
|
|||
Ressourcen
|
||||
• .NET-Dokumentation: https://aka.ms/dotnet-docs
|
||||
• SDK-Dokumentation: https://aka.ms/dotnet-sdk-docs
|
||||
• Versionshinweise: https://aka.ms/dotnet5-release-notes
|
||||
• Versionshinweise: https://aka.ms/dotnet6-release-notes
|
||||
• Tutorials: https://aka.ms/dotnet-tutorials</String>
|
||||
<String Id="WelcomeHeaderMessage">.NET SDK</String>
|
||||
<String Id="WelcomeDescription">
|
||||
|
@ -76,7 +76,7 @@ Ressourcen
|
|||
<String Id="InstallationNoteTitle">Installationshinweis</String>
|
||||
<String Id="InstallationNote">Während des Installationsvorgangs wird ein Befehl ausgeführt, durch den die Geschwindigkeit der Projektwiederherstellung verbessert und der Offlinezugriff aktiviert wird. Der Vorgang dauert bis zu einer Minute.
|
||||
</String>
|
||||
<String Id="VisualStudioWarning">Wenn Sie .NET 5.0 mit Visual Studio verwenden möchten, ist Visual Studio 2022 17.0 oder höher erforderlich. <A HREF="https://aka.ms/dotnet5-release-notes">Weitere Informationen</A>
|
||||
<String Id="VisualStudioWarning">Wenn Sie .NET 6.0 mit Visual Studio verwenden möchten, ist Visual Studio 2022 17.0 oder höher erforderlich. <A HREF="https://aka.ms/dotnet6-release-notes">Weitere Informationen</A>
|
||||
</String>
|
||||
<String Id="LicenseAssent">Durch Klicken auf "Installieren" stimmen Sie den nachstehenden Bedingungen zu.</String>
|
||||
<String Id="InstallPathx64x86">The installation path for x64 SDK installations: "[DOTNETHOME_X64]" cannot be the same as for x86 SDK installations: "[DOTNETHOME_X86]"</String>
|
||||
|
|
|
@ -61,7 +61,7 @@ Ce produit collecte des données d'utilisation
|
|||
Ressources
|
||||
• Documentation .NET sur https://aka.ms/dotnet-docs
|
||||
• Documentation de kit SDK sur https://aka.ms/dotnet-sdk-docs
|
||||
• Notes de publication sur https://aka.ms/dotnet5-release-notes
|
||||
• Notes de publication sur https://aka.ms/dotnet6-release-notes
|
||||
• Tutoriels sur https://aka.ms/dotnet-tutorials</String>
|
||||
<String Id="WelcomeHeaderMessage">SDK .NET</String>
|
||||
<String Id="WelcomeDescription">
|
||||
|
@ -76,7 +76,7 @@ Ressources
|
|||
<String Id="InstallationNoteTitle">Note d'installation</String>
|
||||
<String Id="InstallationNote">Une commande va être exécutée pendant le processus d'installation, ce qui va améliorer la vitesse de restauration du projet et permettre l'accès hors connexion. L'opération va prendre environ une minute.
|
||||
</String>
|
||||
<String Id="VisualStudioWarning">Si vous comptez utiliser .NET 5.0 avec Visual Studio, Visual Studio 2022 17.0 ou une version ultérieure est nécessaire. <A HREF="https://aka.ms/dotnet5-release-notes">En savoir plus</A>.
|
||||
<String Id="VisualStudioWarning">Si vous comptez utiliser .NET 6.0 avec Visual Studio, Visual Studio 2022 17.0 ou une version ultérieure est nécessaire. <A HREF="https://aka.ms/dotnet6-release-notes">En savoir plus</A>.
|
||||
</String>
|
||||
<String Id="LicenseAssent">En cliquant sur Installer, vous acceptez les conditions suivantes.</String>
|
||||
<String Id="InstallPathx64x86">The installation path for x64 SDK installations: "[DOTNETHOME_X64]" cannot be the same as for x86 SDK installations: "[DOTNETHOME_X86]"</String>
|
||||
|
|
|
@ -61,7 +61,7 @@ Questo prodotto consente di raccogliere i dati sull'utilizzo
|
|||
Risorse
|
||||
• Documentazione di .NET https://aka.ms/dotnet-docs
|
||||
• Documentazione dell'SDK https://aka.ms/dotnet-sdk-docs
|
||||
• Note sulla versione https://aka.ms/dotnet5-release-notes
|
||||
• Note sulla versione https://aka.ms/dotnet6-release-notes
|
||||
• Esercitazioni https://aka.ms/dotnet-tutorials</String>
|
||||
<String Id="WelcomeHeaderMessage">.NET SDK</String>
|
||||
<String Id="WelcomeDescription">
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
リソース
|
||||
• .NET ドキュメント https://aka.ms/dotnet-docs
|
||||
• SDK ドキュメント https://aka.ms/dotnet-sdk-docs
|
||||
• リリース ノート https://aka.ms/dotnet5-release-notes
|
||||
• リリース ノート https://aka.ms/dotnet6-release-notes
|
||||
• チュートリアル https://aka.ms/dotnet-tutorials</String>
|
||||
<String Id="WelcomeHeaderMessage">.NET SDK</String>
|
||||
<String Id="WelcomeDescription">
|
||||
|
@ -76,7 +76,7 @@
|
|||
<String Id="InstallationNoteTitle">インストール メモ</String>
|
||||
<String Id="InstallationNote">コマンドはインストール処理中に実行されるので、プロジェクトの復元速度が向上し、オフラインでアクセスできます。完了するまでに最大 1 分かかります。
|
||||
</String>
|
||||
<String Id="VisualStudioWarning">.NET 5.0 を Visual Studio で使用する場合は、Visual Studio 2022 17.0 以降が必要です。<A HREF="https://aka.ms/dotnet5-release-notes">詳細情報</A>。
|
||||
<String Id="VisualStudioWarning">.NET 6.0 を Visual Studio で使用する場合は、Visual Studio 2022 17.0 以降が必要です。<A HREF="https://aka.ms/dotnet6-release-notes">詳細情報</A>。
|
||||
</String>
|
||||
<String Id="LicenseAssent">[インストール] をクリックすると、次の条項に同意したものと見なされます。</String>
|
||||
<String Id="InstallPathx64x86">The installation path for x64 SDK installations: "[DOTNETHOME_X64]" cannot be the same as for x86 SDK installations: "[DOTNETHOME_X86]"</String>
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
리소스
|
||||
• .NET 설명서 https://aka.ms/dotnet-docs
|
||||
• SDK 설명서 https://aka.ms/dotnet-sdk-docs
|
||||
• 릴리스 정보 https://aka.ms/dotnet5-release-notes
|
||||
• 릴리스 정보 https://aka.ms/dotnet6-release-notes
|
||||
• 자습서 https://aka.ms/dotnet-tutorials</String>
|
||||
<String Id="WelcomeHeaderMessage">.NET SDK</String>
|
||||
<String Id="WelcomeDescription">
|
||||
|
|
|
@ -61,7 +61,7 @@ Ten produkt gromadzi dane dotyczące użycia
|
|||
Zasoby
|
||||
• Dokumentacja platformy .NET: https://aka.ms/dotnet-docs
|
||||
• Dokumentacja zestawu SDK: https://aka.ms/dotnet-sdk-docs
|
||||
• Informacje o wersji: https://aka.ms/dotnet5-release-notes
|
||||
• Informacje o wersji: https://aka.ms/dotnet6-release-notes
|
||||
• Samouczki: https://aka.ms/dotnet-tutorials</String>
|
||||
<String Id="WelcomeHeaderMessage">.NET SDK</String>
|
||||
<String Id="WelcomeDescription">
|
||||
|
|
|
@ -61,7 +61,7 @@ Este produto coleta dados de uso
|
|||
Recursos
|
||||
• Documentação do .NET: https://aka.ms/dotnet-docs
|
||||
• Documentação do SDK: https://aka.ms/dotnet-sdk-docs
|
||||
• Notas sobre a Versão: https://aka.ms/dotnet5-release-notes
|
||||
• Notas sobre a Versão: https://aka.ms/dotnet6-release-notes
|
||||
• Tutoriais: https://aka.ms/dotnet-tutorials</String>
|
||||
<String Id="WelcomeHeaderMessage">SDK do .NET</String>
|
||||
<String Id="WelcomeDescription">
|
||||
|
@ -76,7 +76,7 @@ Recursos
|
|||
<String Id="InstallationNoteTitle">Nota de instalação</String>
|
||||
<String Id="InstallationNote">Um comando será executado durante o processo de instalação que melhorará a velocidade de restauração do projeto e habilitará o acesso offline. Isso levará até um minuto para ser concluído.
|
||||
</String>
|
||||
<String Id="VisualStudioWarning">Se você planeja usar o .NET 5.0 com o Visual Studio, é necessário usar o Visual Studio 2022 17.0 ou mais recente. <A HREF="https://aka.ms/dotnet5-release-notes">Saiba mais</A>.
|
||||
<String Id="VisualStudioWarning">Se você planeja usar o .NET 6.0 com o Visual Studio, é necessário usar o Visual Studio 2022 17.0 ou mais recente. <A HREF="https://aka.ms/dotnet6-release-notes">Saiba mais</A>.
|
||||
</String>
|
||||
<String Id="LicenseAssent">Ao clicar em instalar, você concorda com os termos a seguir.</String>
|
||||
<String Id="InstallPathx64x86">The installation path for x64 SDK installations: "[DOTNETHOME_X64]" cannot be the same as for x86 SDK installations: "[DOTNETHOME_X86]"</String>
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
Ресурсы
|
||||
• Документация по .NET: https://aka.ms/dotnet-docs
|
||||
• Документация по SDK: https://aka.ms/dotnet-sdk-docs
|
||||
• Заметки о выпуске: https://aka.ms/dotnet5-release-notes
|
||||
• Заметки о выпуске: https://aka.ms/dotnet6-release-notes
|
||||
• Учебники: https://aka.ms/dotnet-tutorials</String>
|
||||
<String Id="WelcomeHeaderMessage">Пакет SDK для .NET</String>
|
||||
<String Id="WelcomeDescription">
|
||||
|
|
|
@ -61,7 +61,7 @@ Bu ürün, kullanım verilerini toplar
|
|||
Kaynaklar
|
||||
• .NET Belgeleri https://aka.ms/dotnet-docs
|
||||
• SDK Belgeleri https://aka.ms/dotnet-sdk-docs
|
||||
• Sürüm Notları https://aka.ms/dotnet5-release-notes
|
||||
• Sürüm Notları https://aka.ms/dotnet6-release-notes
|
||||
• Öğreticiler https://aka.ms/dotnet-tutorials</String>
|
||||
<String Id="WelcomeHeaderMessage">.NET SDK'sı</String>
|
||||
<String Id="WelcomeDescription">
|
||||
|
@ -76,7 +76,7 @@ Kaynaklar
|
|||
<String Id="InstallationNoteTitle">Yükleme notu</String>
|
||||
<String Id="InstallationNote">Yükleme işlemi sırasında, proje geri yükleme hızını artıran ve çevrimdışı erişimi etkinleştiren bir komut çalıştırılır. Tamamlanması bir dakikanızı alır.
|
||||
</String>
|
||||
<String Id="VisualStudioWarning">Visual Studio ile .NET 5.0 kullanmayı planlıyorsanız Visual Studio 2022 17.0 veya üzeri bir sürüm gerekir. <A HREF="https://aka.ms/dotnet5-release-notes">Daha Fazla Bilgi</A>.
|
||||
<String Id="VisualStudioWarning">Visual Studio ile .NET 6.0 kullanmayı planlıyorsanız Visual Studio 2022 17.0 veya üzeri bir sürüm gerekir. <A HREF="https://aka.ms/dotnet6-release-notes">Daha Fazla Bilgi</A>.
|
||||
</String>
|
||||
<String Id="LicenseAssent">Yükle'ye tıklayarak aşağıdaki koşulları kabul etmiş olursunuz.</String>
|
||||
<String Id="InstallPathx64x86">The installation path for x64 SDK installations: "[DOTNETHOME_X64]" cannot be the same as for x86 SDK installations: "[DOTNETHOME_X86]"</String>
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
资源
|
||||
• .NET 文档: https://aka.ms/dotnet-docs
|
||||
• SDK 文档: https://aka.ms/dotnet-sdk-docs
|
||||
• 发行说明: https://aka.ms/dotnet5-release-notes
|
||||
• 发行说明: https://aka.ms/dotnet6-release-notes
|
||||
• 教程: https://aka.ms/dotnet-tutorials</String>
|
||||
<String Id="WelcomeHeaderMessage">.NET SDK</String>
|
||||
<String Id="WelcomeDescription">
|
||||
|
@ -76,7 +76,7 @@
|
|||
<String Id="InstallationNoteTitle">安装说明</String>
|
||||
<String Id="InstallationNote">将在要提升项目还原速度并实现脱机访问的安装进程期间运行命令。此操作最多 1 分钟即可完成。
|
||||
</String>
|
||||
<String Id="VisualStudioWarning">如果打算结合使用 .NET 5.0 和 Visual Studio,需要 Visual Studio 2022 17.0 或更高版本。<A HREF="https://aka.ms/dotnet5-release-notes">了解详细信息</A>。
|
||||
<String Id="VisualStudioWarning">如果打算结合使用 .NET 6.0 和 Visual Studio,需要 Visual Studio 2022 17.0 或更高版本。<A HREF="https://aka.ms/dotnet6-release-notes">了解详细信息</A>。
|
||||
</String>
|
||||
<String Id="LicenseAssent">单击“安装”即表示你同意以下条款。</String>
|
||||
<String Id="InstallPathx64x86">The installation path for x64 SDK installations: "[DOTNETHOME_X64]" cannot be the same as for x86 SDK installations: "[DOTNETHOME_X86]"</String>
|
||||
|
|
|
@ -61,7 +61,7 @@ Este producto recopila datos de uso
|
|||
Recursos
|
||||
• Documentación de .NET https://aka.ms/dotnet-docs
|
||||
• Documentación del SDK https://aka.ms/dotnet-sdk-docs
|
||||
• Notas de la versión https://aka.ms/dotnet5-release-notes
|
||||
• Notas de la versión https://aka.ms/dotnet6-release-notes
|
||||
• Tutoriales https://aka.ms/dotnet-tutorials</String>
|
||||
<String Id="WelcomeHeaderMessage">SDK de .NET</String>
|
||||
<String Id="WelcomeDescription">
|
||||
|
@ -76,7 +76,7 @@ Recursos
|
|||
<String Id="InstallationNoteTitle">Nota de instalación</String>
|
||||
<String Id="InstallationNote">Se ejecutará un comando durante el proceso de instalación que mejorará la velocidad de restauración del proyecto y permitirá el acceso sin conexión. La operación tardará hasta un minuto en completarse.
|
||||
</String>
|
||||
<String Id="VisualStudioWarning">Si tiene previsto usar .NET 5.0 con Visual Studio, se requiere Visual Studio 2022 17.0 o una versión más reciente. <A HREF="https://aka.ms/dotnet5-release-notes">Obtenga más información</A>.
|
||||
<String Id="VisualStudioWarning">Si tiene previsto usar .NET 6.0 con Visual Studio, se requiere Visual Studio 2022 17.0 o una versión más reciente. <A HREF="https://aka.ms/dotnet6-release-notes">Obtenga más información</A>.
|
||||
</String>
|
||||
<String Id="LicenseAssent">Al hacer clic en Instalar, acepta los términos siguientes.</String>
|
||||
<String Id="InstallPathx64x86">The installation path for x64 SDK installations: "[DOTNETHOME_X64]" cannot be the same as for x86 SDK installations: "[DOTNETHOME_X86]"</String>
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>VS.Redist.Common.NetCore.Manifest.$ARCH$</id>
|
||||
<version>1.0.0</version>
|
||||
<title>VS.Redist.Common.NetCore.Manifest.$ARCH$</title>
|
||||
<authors>Microsoft</authors>
|
||||
<owners>Microsoft</owners>
|
||||
<licenseUrl>https://www.microsoft.com/net/dotnet_library_license.htm</licenseUrl>
|
||||
<projectUrl>https://github.com/dotnet/core-sdk</projectUrl>
|
||||
<requireLicenseAcceptance>true</requireLicenseAcceptance>
|
||||
<description>.NET Core $MAJOR_MINOR$ SDK Manifests ($ARCH$) Windows Installer MSI as a .nupkg for internal Visual Studio build consumption</description>
|
||||
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src="$PAYLOAD_FILES$" />
|
||||
</files>
|
||||
</package>
|
|
@ -194,10 +194,7 @@
|
|||
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
|
||||
<MsiProperty Name="ALLOWMSIINSTALL" Value="True" />
|
||||
</MsiPackage>
|
||||
<MsiPackage SourceFile="$(var.ManifestsMsiSourcePath)">
|
||||
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
|
||||
<MsiProperty Name="ALLOWMSIINSTALL" Value="True" />
|
||||
</MsiPackage>
|
||||
<PackageGroupRef Id="PG_WorkloadManifests" />
|
||||
<MsiPackage SourceFile="$(var.CLISDKMsiSourcePath)">
|
||||
<MsiProperty Name="DOTNETHOME" Value="[DOTNETHOME]" />
|
||||
<MsiProperty Name="EXEFULLPATH" Value="[WixBundleOriginalSource]" />
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
param(
|
||||
[Parameter(Mandatory=$true)][string]$WorkloadManifestWxsFile,
|
||||
[Parameter(Mandatory=$true)][string]$CLISDKMSIFile,
|
||||
[Parameter(Mandatory=$true)][string]$ASPNETRuntimeWixLibFile,
|
||||
[Parameter(Mandatory=$true)][string]$SharedFxMSIFile,
|
||||
|
@ -18,7 +19,6 @@ param(
|
|||
[Parameter(Mandatory=$true)][string]$WindowsDesktopTargetingPackMSIFile,
|
||||
[Parameter(Mandatory=$true)][string]$FinalizerExe,
|
||||
[Parameter(Mandatory=$true)][string]$TemplatesMSIFile,
|
||||
[Parameter(Mandatory=$true)][string]$ManifestsMSIFile,
|
||||
[Parameter(Mandatory=$true)][string]$DotnetBundleOutput,
|
||||
[Parameter(Mandatory=$true)][string]$WixRoot,
|
||||
[Parameter(Mandatory=$true)][string]$ProductMoniker,
|
||||
|
@ -78,7 +78,7 @@ function RunCandleForBundle
|
|||
-ext WixBalExtension.dll `
|
||||
-ext WixUtilExtension.dll `
|
||||
-ext WixTagExtension.dll `
|
||||
"$AuthWsxRoot\bundle.wxs"
|
||||
"$AuthWsxRoot\bundle.wxs" "$WorkloadManifestWxsFile"
|
||||
|
||||
Write-Information "Candle output: $candleOutput"
|
||||
|
||||
|
@ -97,11 +97,14 @@ function RunLightForBundle
|
|||
$result = $true
|
||||
pushd "$WixRoot"
|
||||
|
||||
$WorkloadManifestWixobjFile = [System.IO.Path]::GetFileNameWithoutExtension($WorkloadManifestWxsFile) + ".wixobj"
|
||||
|
||||
Write-Information "Running light for bundle.."
|
||||
|
||||
$lightOutput = .\light.exe -nologo `
|
||||
-cultures:en-us `
|
||||
bundle.wixobj `
|
||||
$WorkloadManifestWixobjFile `
|
||||
$ASPNETRuntimeWixlibFile `
|
||||
-ext WixBalExtension.dll `
|
||||
-ext WixUtilExtension.dll `
|
||||
|
|
|
@ -1,153 +0,0 @@
|
|||
# Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
param(
|
||||
[Parameter(Mandatory=$true)][string]$inputDir,
|
||||
[Parameter(Mandatory=$true)][string]$DotnetMSIOutput,
|
||||
[Parameter(Mandatory=$true)][string]$WixRoot,
|
||||
[Parameter(Mandatory=$true)][string]$ProductMoniker,
|
||||
[Parameter(Mandatory=$true)][string]$DotnetMSIVersion,
|
||||
[Parameter(Mandatory=$true)][string]$SDKBundleVersion,
|
||||
[Parameter(Mandatory=$true)][string]$DotnetCLINugetVersion,
|
||||
[Parameter(Mandatory=$true)][string]$UpgradeCode,
|
||||
[Parameter(Mandatory=$true)][string]$DependencyKeyName,
|
||||
[Parameter(Mandatory=$true)][string]$Architecture
|
||||
)
|
||||
|
||||
$InstallFileswsx = ".\manifest-install-files.wxs"
|
||||
$InstallFilesWixobj = "manifest-install-files.wixobj"
|
||||
|
||||
function RunHeat
|
||||
{
|
||||
$result = $true
|
||||
pushd "$WixRoot"
|
||||
|
||||
Write-Information "Running heat.."
|
||||
|
||||
$heatOutput = .\heat.exe dir `"$inputDir`" -template fragment `
|
||||
-sreg -ag `
|
||||
-var var.DotnetSrc `
|
||||
-cg InstallFiles `
|
||||
-srd `
|
||||
-dr DOTNETHOME `
|
||||
-out manifest-install-files.wxs
|
||||
|
||||
Write-Information "Heat output: $heatOutput"
|
||||
|
||||
if($LastExitCode -ne 0)
|
||||
{
|
||||
$result = $false
|
||||
Write-Information "Heat failed with exit code $LastExitCode."
|
||||
}
|
||||
|
||||
popd
|
||||
Write-Information "RunHeat result: $result"
|
||||
return $result
|
||||
}
|
||||
|
||||
function RunCandle
|
||||
{
|
||||
$result = $true
|
||||
pushd "$WixRoot"
|
||||
|
||||
Write-Information "Running candle.."
|
||||
|
||||
$candleOutput = .\candle.exe -nologo `
|
||||
-dDotnetSrc="$inputDir" `
|
||||
-dMicrosoftEula="$PSScriptRoot\dummyeula.rtf" `
|
||||
-dProductMoniker="$ProductMoniker" `
|
||||
-dBuildVersion="$DotnetMSIVersion" `
|
||||
-dSDKBundleVersion="$SDKBundleVersion" `
|
||||
-dNugetVersion="$DotnetCLINugetVersion" `
|
||||
-dUpgradeCode="$UpgradeCode" `
|
||||
-dDependencyKeyName="$DependencyKeyName" `
|
||||
-arch "$Architecture" `
|
||||
-ext WixDependencyExtension.dll `
|
||||
"$PSScriptRoot\manifests.wxs" `
|
||||
"$PSScriptRoot\provider.wxs" `
|
||||
"$PSScriptRoot\dotnethome_x64.wxs" `
|
||||
$InstallFileswsx
|
||||
|
||||
Write-Information "Candle output: $candleOutput"
|
||||
|
||||
if($LastExitCode -ne 0)
|
||||
{
|
||||
$result = $false
|
||||
Write-Information "Candle failed with exit code $LastExitCode."
|
||||
}
|
||||
|
||||
popd
|
||||
return $result
|
||||
}
|
||||
|
||||
function RunLight
|
||||
{
|
||||
$result = $true
|
||||
pushd "$WixRoot"
|
||||
|
||||
Write-Information "Running light.."
|
||||
$CabCache = Join-Path $WixRoot "cabcache"
|
||||
|
||||
$lightOutput = .\light.exe -nologo -ext WixUIExtension -ext WixDependencyExtension -ext WixUtilExtension `
|
||||
-cultures:en-us `
|
||||
manifests.wixobj `
|
||||
provider.wixobj `
|
||||
dotnethome_x64.wixobj `
|
||||
$InstallFilesWixobj `
|
||||
-b "$inputDir" `
|
||||
-b "$PSScriptRoot" `
|
||||
-reusecab `
|
||||
-cc "$CabCache" `
|
||||
-out $DotnetMSIOutput
|
||||
|
||||
Write-Information "Light output: $lightOutput"
|
||||
|
||||
if($LastExitCode -ne 0)
|
||||
{
|
||||
$result = $false
|
||||
Write-Information "Light failed with exit code $LastExitCode."
|
||||
}
|
||||
|
||||
popd
|
||||
return $result
|
||||
}
|
||||
|
||||
if(!(Test-Path $inputDir))
|
||||
{
|
||||
throw "$inputDir not found"
|
||||
}
|
||||
|
||||
Write-Information "Creating manifests MSI at $DotnetMSIOutput"
|
||||
|
||||
if([string]::IsNullOrEmpty($WixRoot))
|
||||
{
|
||||
Exit -1
|
||||
}
|
||||
|
||||
if(-Not (RunHeat))
|
||||
{
|
||||
Write-Information "Heat failed"
|
||||
Exit -1
|
||||
}
|
||||
|
||||
if(-Not (RunCandle))
|
||||
{
|
||||
Write-Information "Candle failed"
|
||||
Exit -1
|
||||
}
|
||||
|
||||
if(-Not (RunLight))
|
||||
{
|
||||
Write-Information "Light failed"
|
||||
Exit -1
|
||||
}
|
||||
|
||||
if(!(Test-Path $DotnetMSIOutput))
|
||||
{
|
||||
throw "Unable to create the manifests MSI."
|
||||
Exit -1
|
||||
}
|
||||
|
||||
Write-Information "Successfully created manifests MSI - $DotnetMSIOutput"
|
||||
|
||||
exit $LastExitCode
|
Loading…
Reference in a new issue