Switch packages for Ubuntu & macOS to use tar.gz format instead of zip (#6)
Switch to using tar.gz format for Ubuntu and macOS systems because it is much more common on nix systems which is important in container scenarios
This commit was merged in pull request #6.
This commit is contained in:
@@ -27,7 +27,7 @@ class NixNodeBuilder : NodeBuilder {
|
||||
) : Base($version, $platform, $architecture) {
|
||||
$this.InstallationTemplateName = "nix-setup-template.sh"
|
||||
$this.InstallationScriptName = "setup.sh"
|
||||
$this.OutputArtifactName = "tool.tar.gz"
|
||||
$this.OutputArtifactName = "node-$Version-$Platform-$Architecture.tar.gz"
|
||||
}
|
||||
|
||||
[uri] GetBinariesUri() {
|
||||
@@ -41,7 +41,7 @@ class NixNodeBuilder : NodeBuilder {
|
||||
}
|
||||
|
||||
[void] ExtractBinaries($archivePath) {
|
||||
Extract-TarArchive -ArchivePath $archivePath -OutputDirectory $this.ArtifactLocation
|
||||
Extract-TarArchive -ArchivePath $archivePath -OutputDirectory $this.WorkFolderLocation
|
||||
}
|
||||
|
||||
[void] CreateInstallationScript() {
|
||||
@@ -50,7 +50,7 @@ class NixNodeBuilder : NodeBuilder {
|
||||
Create Node.js artifact installation script based on template specified in InstallationTemplateName property.
|
||||
#>
|
||||
|
||||
$installationScriptLocation = New-Item -Path $this.ArtifactLocation -Name $this.InstallationScriptName -ItemType File
|
||||
$installationScriptLocation = New-Item -Path $this.WorkFolderLocation -Name $this.InstallationScriptName -ItemType File
|
||||
$installationTemplateLocation = Join-Path -Path $this.InstallationTemplatesLocation -ChildPath $this.InstallationTemplateName
|
||||
|
||||
$installationTemplateContent = Get-Content -Path $installationTemplateLocation -Raw
|
||||
@@ -59,4 +59,9 @@ class NixNodeBuilder : NodeBuilder {
|
||||
|
||||
Write-Debug "Done; Installation script location: $installationScriptLocation)"
|
||||
}
|
||||
|
||||
[void] ArchiveArtifact() {
|
||||
$OutputPath = Join-Path $this.ArtifactFolderLocation $this.OutputArtifactName
|
||||
Create-TarArchive -SourceFolder $this.WorkFolderLocation -ArchivePath $OutputPath
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,8 @@ class NodeBuilder {
|
||||
[string] $Platform
|
||||
[string] $Architecture
|
||||
[string] $TempFolderLocation
|
||||
[string] $ArtifactLocation
|
||||
[string] $WorkFolderLocation
|
||||
[string] $ArtifactFolderLocation
|
||||
[string] $InstallationTemplatesLocation
|
||||
|
||||
NodeBuilder ([version] $version, [string] $platform, [string] $architecture) {
|
||||
@@ -38,8 +39,10 @@ class NodeBuilder {
|
||||
$this.Platform = $platform
|
||||
$this.Architecture = $architecture
|
||||
|
||||
$this.ArtifactLocation = $env:BUILD_BINARIESDIRECTORY
|
||||
$this.TempFolderLocation = $env:BUILD_STAGINGDIRECTORY
|
||||
$this.TempFolderLocation = [IO.Path]::GetTempPath()
|
||||
$this.WorkFolderLocation = $env:BUILD_BINARIESDIRECTORY
|
||||
$this.ArtifactFolderLocation = $env:BUILD_STAGINGDIRECTORY
|
||||
|
||||
|
||||
$this.InstallationTemplatesLocation = Join-Path -Path $PSScriptRoot -ChildPath "../installers"
|
||||
}
|
||||
@@ -89,5 +92,8 @@ class NodeBuilder {
|
||||
|
||||
Write-Host "Create installation script..."
|
||||
$this.CreateInstallationScript()
|
||||
|
||||
Write-Host "Archive artifact"
|
||||
$this.ArchiveArtifact()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ class WinNodeBuilder : NodeBuilder {
|
||||
) : Base($version, $platform, $architecture) {
|
||||
$this.InstallationTemplateName = "win-setup-template.ps1"
|
||||
$this.InstallationScriptName = "setup.ps1"
|
||||
$this.OutputArtifactName = "tool.7z"
|
||||
$this.OutputArtifactName = "node-$Version-$Platform-$Architecture.zip"
|
||||
}
|
||||
|
||||
[uri] GetBinariesUri() {
|
||||
@@ -42,9 +42,9 @@ class WinNodeBuilder : NodeBuilder {
|
||||
|
||||
[void] ExtractBinaries($archivePath) {
|
||||
$extractTargetDirectory = Join-Path $this.TempFolderLocation "tempExtract"
|
||||
Extract-7ZipArchive -ArchivePath $archivePath -OutputDirectory $extractTargetDirectory
|
||||
Extract-SevenZipArchive -ArchivePath $archivePath -OutputDirectory $extractTargetDirectory
|
||||
$nodeOutputPath = Get-Item $extractTargetDirectory\* | Select-Object -First 1 -ExpandProperty Fullname
|
||||
Move-Item -Path $nodeOutputPath\* -Destination $this.ArtifactLocation
|
||||
Move-Item -Path $nodeOutputPath\* -Destination $this.WorkFolderLocation
|
||||
}
|
||||
|
||||
[void] CreateInstallationScript() {
|
||||
@@ -53,7 +53,7 @@ class WinNodeBuilder : NodeBuilder {
|
||||
Create Node.js artifact installation script based on specified template.
|
||||
#>
|
||||
|
||||
$installationScriptLocation = New-Item -Path $this.ArtifactLocation -Name $this.InstallationScriptName -ItemType File
|
||||
$installationScriptLocation = New-Item -Path $this.WorkFolderLocation -Name $this.InstallationScriptName -ItemType File
|
||||
$installationTemplateLocation = Join-Path -Path $this.InstallationTemplatesLocation -ChildPath $this.InstallationTemplateName
|
||||
$installationTemplateContent = Get-Content -Path $installationTemplateLocation -Raw
|
||||
|
||||
@@ -66,4 +66,9 @@ class WinNodeBuilder : NodeBuilder {
|
||||
$installationTemplateContent | Out-File -FilePath $installationScriptLocation
|
||||
Write-Debug "Done; Installation script location: $installationScriptLocation)"
|
||||
}
|
||||
|
||||
[void] ArchiveArtifact() {
|
||||
$OutputPath = Join-Path $this.ArtifactFolderLocation $this.OutputArtifactName
|
||||
Create-SevenZipArchive -SourceFolder $this.WorkFolderLocation -ArchivePath $OutputPath
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user