switch layout

This commit is contained in:
Maxim Lobanov 2020-04-23 05:51:34 +03:00
parent a70d3e2a34
commit 4003986702
6 changed files with 49 additions and 2 deletions

View File

@ -23,9 +23,11 @@ param(
[Parameter (Mandatory=$true)][Version] $Version,
[Parameter (Mandatory=$true)][string] $Platform,
[string] $Architecture = "x64"
)
Import-Module (Join-Path $PSScriptRoot "../helpers" | Join-Path -ChildPath "nix-helpers.psm1") -DisableNameChecking
Import-Module (Join-Path $PSScriptRoot "../helpers" | Join-Path -ChildPath "win-helpers.psm1") -DisableNameChecking
function Get-NodeBuilder {
<#
.SYNOPSIS

View File

@ -40,6 +40,10 @@ class NixNodeBuilder : NodeBuilder {
return "${base}/v$($this.Version)/node-v$($this.Version)-$($this.Platform)-$($this.Architecture).tar.gz"
}
[void] UnpackBinaries($archivePath) {
Unpack-TarArchive -ArchivePath $archivePath -OutputDirectory $this.ArtifactLocation
}
[void] CreateInstallationScript() {
<#
.SYNOPSIS

View File

@ -15,6 +15,9 @@ class NodeBuilder {
.PARAMETER Architecture
The architecture with which Node.js should be built.
.PARAMETER TempFolderLocation
The location of temporary files that will be used during Node.js package generation. Using system BUILD_STAGINGDIRECTORY variable value.
.PARAMETER ArtifactLocation
The location of generated Node.js artifact. Using system environment BUILD_BINARIESDIRECTORY variable value.
@ -26,6 +29,7 @@ class NodeBuilder {
[version] $Version
[string] $Platform
[string] $Architecture
[string] $TempFolderLocation
[string] $ArtifactLocation
[string] $InstallationTemplatesLocation
@ -35,6 +39,7 @@ class NodeBuilder {
$this.Architecture = $architecture
$this.ArtifactLocation = $env:BUILD_BINARIESDIRECTORY
$this.TempFolderLocation = $env:BUILD_STAGINGDIRECTORY
$this.InstallationTemplatesLocation = Join-Path -Path $PSScriptRoot -ChildPath "../installers"
}
@ -56,7 +61,7 @@ class NodeBuilder {
$binariesUri = $this.GetBinariesUri()
$targetFilename = [IO.Path]::GetFileName($binariesUri)
$targetFilepath = Join-Path -Path $this.ArtifactLocation -ChildPath $targetFilename
$targetFilepath = Join-Path -Path $this.TempFolderLocation -ChildPath $targetFilename
Write-Debug "Download binaries from $binariesUri to $targetFilepath"
try {

View File

@ -40,6 +40,10 @@ class WinNodeBuilder : NodeBuilder {
return "${base}/v$($this.Version)/node-v$($this.Version)-win-$($this.Architecture).7z"
}
[void] UnpackBinaries($archivePath) {
Unpack-7ZipArchive -ArchivePath $archivePath -OutputDirectory $this.ArtifactLocation
}
[void] CreateInstallationScript() {
<#
.SYNOPSIS

16
helpers/nix-helpers.psm1 Normal file
View File

@ -0,0 +1,16 @@
<#
.SYNOPSIS
Unpack *.tar file
#>
function Unpack-TarArchive {
param(
[Parameter(Mandatory=$true)]
[String]$ArchivePath,
[Parameter(Mandatory=$true)]
[String]$OutputDirectory
)
Write-Debug "Unpack $ArchivePath to $OutputDirectory"
tar -C $OutputDirectory -xzf $ArchivePath
}

16
helpers/win-helpers.psm1 Normal file
View File

@ -0,0 +1,16 @@
<#
.SYNOPSIS
Unpack *.7z file
#>
function Unpack-7ZipArchive {
param(
[Parameter(Mandatory=$true)]
[String]$ArchivePath,
[Parameter(Mandatory=$true)]
[String]$OutputDirectory
)
Write-Debug "Unpack $ArchivePath to $OutputDirectory"
7z x $ArchivePath -o$OutputDirectory
}