Separate building and packaging scripts for Windows
Add 'nopackage' option similar to unix scripts
This commit is contained in:
parent
d73f15e433
commit
6128373f0b
3 changed files with 59 additions and 44 deletions
|
@ -6,7 +6,8 @@
|
||||||
param(
|
param(
|
||||||
[string]$Configuration="Debug",
|
[string]$Configuration="Debug",
|
||||||
[switch]$Offline,
|
[switch]$Offline,
|
||||||
[switch]$NoCache)
|
[switch]$NoCache,
|
||||||
|
[switch]$NoPackage)
|
||||||
|
|
||||||
$ErrorActionPreference="Stop"
|
$ErrorActionPreference="Stop"
|
||||||
|
|
||||||
|
@ -39,11 +40,9 @@ _ "$RepoRoot\scripts\test\runtests.ps1"
|
||||||
header "Validating Dependencies"
|
header "Validating Dependencies"
|
||||||
_ "$RepoRoot\scripts\test\validate-dependencies.ps1"
|
_ "$RepoRoot\scripts\test\validate-dependencies.ps1"
|
||||||
|
|
||||||
header "Generating zip package"
|
if ($NoPackage){
|
||||||
_ "$RepoRoot\scripts\package\package.ps1"
|
info "Skipping Packaging"
|
||||||
|
}
|
||||||
header "Generating dotnet MSI"
|
else {
|
||||||
_ "$RepoRoot\packaging\windows\generatemsi.ps1" @("$Stage2Dir")
|
_ "$RepoRoot\scripts\package\package.ps1"
|
||||||
|
}
|
||||||
header "Generating NuGet packages"
|
|
||||||
_ "$RepoRoot\packaging\nuget\package.ps1" @("$Stage2Dir\bin", "$VersionSuffix")
|
|
||||||
|
|
44
scripts/package/package-zip.ps1
Normal file
44
scripts/package/package-zip.ps1
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
. "$PSScriptRoot\..\common\_common.ps1"
|
||||||
|
|
||||||
|
if(!(Test-Path $PackageDir)) {
|
||||||
|
mkdir $PackageDir | Out-Null
|
||||||
|
}
|
||||||
|
|
||||||
|
if(![string]::IsNullOrEmpty($env:DOTNET_BUILD_VERSION)) {
|
||||||
|
$PackageVersion = $env:DOTNET_BUILD_VERSION
|
||||||
|
} else {
|
||||||
|
$Timestamp = [DateTime]::Now.ToString("yyyyMMddHHmmss")
|
||||||
|
$PackageVersion = "0.0.1-dev-t$Timestamp"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Stamp the output with the commit metadata and version number
|
||||||
|
$Commit = git rev-parse HEAD
|
||||||
|
|
||||||
|
$VersionContent = @"
|
||||||
|
$Commit
|
||||||
|
$PackageVersion
|
||||||
|
"@
|
||||||
|
|
||||||
|
$VersionContent | Out-File -Encoding UTF8 "$Stage2Dir\.version"
|
||||||
|
|
||||||
|
$PackageName = Join-Path $PackageDir "dotnet-win-x64.$PackageVersion.zip"
|
||||||
|
|
||||||
|
if (Test-Path $PackageName)
|
||||||
|
{
|
||||||
|
del $PackageName
|
||||||
|
}
|
||||||
|
|
||||||
|
Add-Type -Assembly System.IO.Compression.FileSystem
|
||||||
|
[System.IO.Compression.ZipFile]::CreateFromDirectory($Stage2Dir, $PackageName, "Optimal", $false)
|
||||||
|
|
||||||
|
Write-Host "Packaged stage2 to $PackageName"
|
||||||
|
|
||||||
|
$PublishScript = Join-Path $PSScriptRoot "..\publish\publish.ps1"
|
||||||
|
& $PublishScript -file $PackageName
|
||||||
|
|
||||||
|
exit $LastExitCode
|
|
@ -4,41 +4,13 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
. "$PSScriptRoot\..\common\_common.ps1"
|
. "$PSScriptRoot\..\common\_common.ps1"
|
||||||
|
. "$RepoRoot\scripts\build\generate-version.ps1"
|
||||||
|
|
||||||
if(!(Test-Path $PackageDir)) {
|
header "Generating zip package"
|
||||||
mkdir $PackageDir | Out-Null
|
_ "$RepoRoot\scripts\package\package-zip.ps1"
|
||||||
}
|
|
||||||
|
|
||||||
if(![string]::IsNullOrEmpty($env:DOTNET_BUILD_VERSION)) {
|
header "Generating dotnet MSI"
|
||||||
$PackageVersion = $env:DOTNET_BUILD_VERSION
|
_ "$RepoRoot\packaging\windows\generatemsi.ps1" @("$Stage2Dir")
|
||||||
} else {
|
|
||||||
$Timestamp = [DateTime]::Now.ToString("yyyyMMddHHmmss")
|
|
||||||
$PackageVersion = "0.0.1-alpha-t$Timestamp"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Stamp the output with the commit metadata and version number
|
header "Generating NuGet packages"
|
||||||
$Commit = git rev-parse HEAD
|
_ "$RepoRoot\packaging\nuget\package.ps1" @("$Stage2Dir\bin", "$VersionSuffix")
|
||||||
|
|
||||||
$VersionContent = @"
|
|
||||||
$Commit
|
|
||||||
$PackageVersion
|
|
||||||
"@
|
|
||||||
|
|
||||||
$VersionContent | Out-File -Encoding UTF8 "$Stage2Dir\.version"
|
|
||||||
|
|
||||||
$PackageName = Join-Path $PackageDir "dotnet-win-x64.$PackageVersion.zip"
|
|
||||||
|
|
||||||
if (Test-Path $PackageName)
|
|
||||||
{
|
|
||||||
del $PackageName
|
|
||||||
}
|
|
||||||
|
|
||||||
Add-Type -Assembly System.IO.Compression.FileSystem
|
|
||||||
[System.IO.Compression.ZipFile]::CreateFromDirectory($Stage2Dir, $PackageName, "Optimal", $false)
|
|
||||||
|
|
||||||
Write-Host "Packaged stage2 to $PackageName"
|
|
||||||
|
|
||||||
$PublishScript = Join-Path $PSScriptRoot "..\publish\publish.ps1"
|
|
||||||
& $PublishScript -file $PackageName
|
|
||||||
|
|
||||||
exit $LastExitCode
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue