From 1c2af994151fb3e177df54f89223b056ecddbcec Mon Sep 17 00:00:00 2001 From: nicole mazzuca Date: Sun, 2 Aug 2020 10:08:07 -0700 Subject: [vcpkg format-manifest] Add convert-control flag (#12471) * [vcpkg format-manifest] initial convert-control attempt TODO: manifest comments! we should keep $directives * Finalize x-format-manifest First, fix Json::parse -- "\c", for any c, was incorrectly parsed. It would emit the escaped character, and then parse the character, so that `\b` would give you { '\b', 'b' }. Second, canonicalize source paragraphs as we're parsing them. This found an error in qt5 -- The `declarative` feature was listed twice, and we now catch it, so I removed the second paragraph. Add PlatformExpression::complexity to allow ordering platform expressions in a somewhat reasonable way. Notes: - We allow `all_modules` as a feature name for back-compat with paraview - In order to actually convert CONTROL to vcpkg.json, we'd need to rename the qt5 `default` feature. - We need to add support for $directives in x-format-manifest * fix qt5 port * format * fix compile * fix tests for canonicalization * Clean up code * add error message for nothing to format * add extra_info field * add `const X&` overloads for `Object::insert[_or_replace]` * fix compile * simple CRs * add tests * format * Fix mosquitto port file also unmerge a line * fail the tests on malformed manifest * fix format_all * fix coroutine port-version * format manifests --- scripts/azure-pipelines/windows/Check-ManifestFormatting.ps1 | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'scripts') diff --git a/scripts/azure-pipelines/windows/Check-ManifestFormatting.ps1 b/scripts/azure-pipelines/windows/Check-ManifestFormatting.ps1 index e6e29068f..f4385c2b4 100644 --- a/scripts/azure-pipelines/windows/Check-ManifestFormatting.ps1 +++ b/scripts/azure-pipelines/windows/Check-ManifestFormatting.ps1 @@ -32,6 +32,12 @@ if (-not (Test-Path "$Root/vcpkg.exe")) } & "$Root/vcpkg.exe" 'x-format-manifest' '--all' +if (-not $?) +{ + Write-Error "Failed formatting manifests; are they well-formed?" + throw +} + $changedFiles = & "$PSScriptRoot/Get-ChangedFiles.ps1" -Directory $portsTree if (-not $IgnoreErrors -and $null -ne $changedFiles) { -- cgit v1.2.3