-
-
Notifications
You must be signed in to change notification settings - Fork 6
/
build.ps1
32 lines (28 loc) · 1.55 KB
/
build.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Push-Location $PSScriptRoot
# Prepare
$build = "$PSScriptRoot\build"
$dist = "$PSScriptRoot\dist"
New-Item -ItemType Directory -Path $build -ErrorAction SilentlyContinue | Out-Null
New-Item -ItemType Directory -Path $dist -ErrorAction SilentlyContinue | Out-Null
Remove-Item "$build\*" -Recurse -Force | Out-Null
Remove-Item "$dist\*" -Recurse -Force | Out-Null
# Build
Copy-Item "$PSScriptRoot\src\gitcloner.ps1" $build
Copy-Item "$PSScriptRoot\packages\LibGit2Sharp\lib\net46\LibGit2Sharp.dll" $build
New-Item -ItemType Directory -Path "$build\lib\win32\x64\" -ErrorAction SilentlyContinue | Out-Null
Copy-Item "$PSScriptRoot\packages\LibGit2Sharp.NativeBinaries\runtimes\win-x64\native\git2-*.dll" "$build\lib\win32\x64\"
New-Item -ItemType Directory -Path "$build\lib\win32\x86\" -ErrorAction SilentlyContinue | Out-Null
Copy-Item "$PSScriptRoot\packages\LibGit2Sharp.NativeBinaries\runtimes\win-x86\native\git2-*.dll" "$build\lib\win32\x86\"
# Checksums
Write-Output 'Computing checksums ...'
Get-ChildItem "$build\*" -Include *.ps1,*.dll -Recurse | ForEach-Object {
$checksum = (Get-FileHash -Path $_.FullName -Algorithm SHA256).Hash.ToLower()
"$checksum *$($_.FullName.Replace($build, '').TrimStart('\'))" | Tee-Object -FilePath "$build\checksums.sha256" -Append
}
# Package
7z a "$dist\gitcloner.zip" "$build\*"
Get-ChildItem "$dist\*" | ForEach-Object {
$checksum = (Get-FileHash -Path $_.FullName -Algorithm SHA256).Hash.ToLower()
"$checksum *$($_.Name)" | Tee-Object -FilePath "$dist\$($_.Name).sha256" -Append
}
Pop-Location