mirror of
https://github.com/cmderdev/cmder.git
synced 2024-11-10 09:49:12 +08:00
8b8f98c078
Fix build script removing a trailing comma. Download into a temp folder.
73 lines
2.4 KiB
PowerShell
73 lines
2.4 KiB
PowerShell
function Ensure-Exists ($path) {
|
|
if (-not (Test-Path $path)) {
|
|
Write-Error "Missing required $path! Ensure it is installed"
|
|
exit 1
|
|
}
|
|
return $true > $null
|
|
}
|
|
|
|
function Ensure-Executable ($command) {
|
|
try { Get-Command $command -ErrorAction Stop > $null }
|
|
catch {
|
|
If( ($command -eq "7z") -and (Test-Path "$env:programfiles\7-zip\7z.exe") ){
|
|
set-alias -Name "7z" -Value "$env:programfiles\7-zip\7z.exe" -Scope script
|
|
}
|
|
ElseIf( ($command -eq "7z") -and (Test-Path "$env:programw6432\7-zip\7z.exe") ) {
|
|
set-alias -Name "7z" -Value "$env:programw6432\7-zip\7z.exe" -Scope script
|
|
}
|
|
Else {
|
|
Write-Error "Missing $command! Ensure it is installed and on in the PATH"
|
|
exit 1
|
|
}
|
|
}
|
|
}
|
|
|
|
function Delete-Existing ($path) {
|
|
Write-Verbose "Remove $path"
|
|
Remove-Item -Recurse -force $path -ErrorAction SilentlyContinue
|
|
}
|
|
|
|
function Extract-Archive ($source, $target) {
|
|
Invoke-Expression "7z x -y -o$($target) '$source' > `$null"
|
|
if ($lastexitcode -ne 0) {
|
|
Write-Error "Extracting of $source failied"
|
|
}
|
|
Remove-Item $source
|
|
}
|
|
|
|
function Create-Archive ($source, $target, $params) {
|
|
$command = "7z a -x@`"$source\packignore`" $params $target $source > `$null"
|
|
Write-Verbose "Running: $command"
|
|
Invoke-Expression $command
|
|
if ($lastexitcode -ne 0) {
|
|
Write-Error "Compressing $source failied"
|
|
}
|
|
}
|
|
|
|
# If directory contains only one child directory
|
|
# Flatten it instead
|
|
function Flatten-Directory ($name) {
|
|
$child = (Get-Childitem $name)[0]
|
|
Rename-Item $name -NewName "$($name)_moving"
|
|
Move-Item -Path "$($name)_moving\$child" -Destination $name
|
|
Remove-Item -Recurse "$($name)_moving"
|
|
}
|
|
|
|
function Digest-MD5 ($path) {
|
|
if(Get-Command Get-FileHash -ErrorAction SilentlyContinue){
|
|
return (Get-FileHash -Algorithm MD5 -Path $path).Hash
|
|
}
|
|
|
|
return Invoke-Expression "md5sum $path"
|
|
}
|
|
|
|
function Cleanup-Git () {
|
|
$gitdir = '/vendor/msysgit/libexec/git-core/'
|
|
Get-Childitem $gitdir -Filter git-* | Where { $_ -NotMatch '--' } | Foreach-Object {
|
|
'@' + $_.BaseName.Split("-") -join ' ' + ' $*' | Set-Content -Path $_.BaseName'.bat'
|
|
Remove-Item $_.FullName
|
|
}
|
|
# Cleanup any missed files
|
|
Get-Childitem $gitdir -Exclude git.exe,*.bat | Where-Object{!($_.PSIsContainer)} | Foreach-Object { Remove-Item $_.FullName }
|
|
}
|