mirror of
https://github.com/ScoopInstaller/Scoop.git
synced 2026-10-04 02:58:27 +00:00
- Update supporting\validator\bin\Newtonsoft.Json to 11.0.2 - **HIGHLIGHT**: support for regex operator in JSON Paths - Latest Newtonsoft.Json version is 12.0.1, which has some compatibility issues with Json.Schema 3.0.10 and PowerShell Core 6.1.12 (On my PC) - Update supporting\validator\bin\Newtonsoft.Json.Schema to 3.0.10 - Use .NET 4.5 instead of .NET 4.0, since Scoop's requirements is [.NET Framework 4.5+](https://github.com/lukesampson/scoop#requirements) - Modify `json_path()` to escape `$version` substitutions when `$jsonpath` has regex **EXAMPLE OF JPATH REGEX** ```json "checkver": { "url": "https://dist.nuget.org/index.json", "jp": "$..versions[?(@.displayName =~ /.*recommended.*/)].version" } ```
22 lines
1.4 KiB
PowerShell
22 lines
1.4 KiB
PowerShell
Push-Location $psscriptroot
|
|
. "$psscriptroot\..\..\lib\install.ps1"
|
|
|
|
Write-Host "Install dependencies ..."
|
|
Invoke-Expression "$psscriptroot\install.ps1"
|
|
|
|
$output = "$psscriptroot\bin"
|
|
Get-ChildItem "$psscriptroot\packages\Newtonsoft.*\lib\net45\*.dll" -File | ForEach-Object { Copy-Item $_ $output }
|
|
Write-Output 'Compiling Scoop.Validator.cs ...'
|
|
& "$psscriptroot\packages\Microsoft.Net.Compilers\tools\csc.exe" /deterministic /platform:anycpu /nologo /optimize /target:library /reference:"$output\Newtonsoft.Json.dll","$output\Newtonsoft.Json.Schema.dll" /out:"$output\Scoop.Validator.dll" Scoop.Validator.cs
|
|
Write-Output 'Compiling validator.cs ...'
|
|
& "$psscriptroot\packages\Microsoft.Net.Compilers\tools\csc.exe" /deterministic /platform:anycpu /nologo /optimize /target:exe /reference:"$output\Scoop.Validator.dll","$output\Newtonsoft.Json.dll","$output\Newtonsoft.Json.Schema.dll" /out:"$output\validator.exe" validator.cs
|
|
|
|
Write-Output 'Computing checksums ...'
|
|
Remove-Item "$psscriptroot\bin\checksum.sha256" -ErrorAction Ignore
|
|
Remove-Item "$psscriptroot\bin\checksum.sha512" -ErrorAction Ignore
|
|
Get-ChildItem "$psscriptroot\bin\*" -Include *.exe,*.dll | ForEach-Object {
|
|
"$(compute_hash $_ 'sha256') *$($_.Name)" | Out-File "$psscriptroot\bin\checksum.sha256" -Append -Encoding oem
|
|
"$(compute_hash $_ 'sha512') *$($_.Name)" | Out-File "$psscriptroot\bin\checksum.sha512" -Append -Encoding oem
|
|
}
|
|
Pop-Location
|