diff --git a/scripts/build/build.ps1 b/scripts/build/build.ps1 index aab9ce34a..2464fe0fb 100644 --- a/scripts/build/build.ps1 +++ b/scripts/build/build.ps1 @@ -6,7 +6,8 @@ param( [string]$Configuration="Debug", [switch]$Offline, - [switch]$NoCache) + [switch]$NoCache, + [switch]$NoPackage) $ErrorActionPreference="Stop" @@ -43,11 +44,9 @@ _ "$RepoRoot\scripts\test\runtests.ps1" header "Validating Dependencies" _ "$RepoRoot\scripts\test\validate-dependencies.ps1" -header "Generating zip package" -_ "$RepoRoot\scripts\package\package.ps1" - -header "Generating dotnet MSI" -_ "$RepoRoot\packaging\windows\generatemsi.ps1" @("$Stage2Dir") - -header "Generating NuGet packages" -_ "$RepoRoot\packaging\nuget\package.ps1" @("$Stage2Dir\bin", "$VersionSuffix") +if ($NoPackage){ + info "Skipping Packaging" +} +else { + _ "$RepoRoot\scripts\package\package.ps1" +} diff --git a/scripts/package/package-zip.ps1 b/scripts/package/package-zip.ps1 new file mode 100644 index 000000000..8381915c4 --- /dev/null +++ b/scripts/package/package-zip.ps1 @@ -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 diff --git a/scripts/package/package.ps1 b/scripts/package/package.ps1 index 0436afa14..c84588a3a 100644 --- a/scripts/package/package.ps1 +++ b/scripts/package/package.ps1 @@ -4,41 +4,13 @@ # . "$PSScriptRoot\..\common\_common.ps1" +. "$RepoRoot\scripts\build\generate-version.ps1" -if(!(Test-Path $PackageDir)) { - mkdir $PackageDir | Out-Null -} +header "Generating zip package" +_ "$RepoRoot\scripts\package\package-zip.ps1" -if(![string]::IsNullOrEmpty($env:DOTNET_BUILD_VERSION)) { - $PackageVersion = $env:DOTNET_BUILD_VERSION -} else { - $Timestamp = [DateTime]::Now.ToString("yyyyMMddHHmmss") - $PackageVersion = "0.0.1-alpha-t$Timestamp" -} +header "Generating dotnet MSI" +_ "$RepoRoot\packaging\windows\generatemsi.ps1" @("$Stage2Dir") -# 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 +header "Generating NuGet packages" +_ "$RepoRoot\packaging\nuget\package.ps1" @("$Stage2Dir\bin", "$VersionSuffix")