Ямллинт сообщает об отсутствии ":" - Почему? - PullRequest
2 голосов
/ 12 июля 2020

Я позаимствовал код, содержащий код googletest для кода C ++. Однако на данный момент меня все интересует, поэтому, когда мой инструмент Yamllint начал сообщать об ошибках, я обратил внимание. Я хочу понять код, который мы учимся использовать. Этот пример был выполнен на github в рабочем процессе в appveyor.yml. Yamllint сообщает следующее:

57:5 error syntax error: could not find expected ':' (syntax)

Это не очень полезно, но, насколько я вижу, синтаксис правильный. Сначала я подумал, что в синтаксисе ветки чего-то не хватает, но я не смог найти никаких проблем. Я выделил else как вторую ветку if без ветки not. Ошибка по-прежнему сохранялась в той же строке. Это может быть ошибка в самом yamllint, но я не могу этого сделать, потому что я плохо знаком с синтаксисом yaml. Возможно, я чего-то упускаю.

install:
  - ps: |
    Write-Output "Compiler: $env:compiler"
    Write-Output "Generator: $env:generator"
    Write-Output "Env:Configuation: $env:configuration"
    Write-Output "Env: $env"
    if (-not (Test-Path env:APPVEYOR_PULL_REQUEST_NUMBER)) {
      Write-Output "This is *NOT* a pull request build"
    }  <-- REPORTED MISSING ':'
    else
    {
      Write-Output "This is a pull request build"
      if (-not (Test-Path env:enabled_on_pr) -or $env:enabled_on_pr -ne "yes") {
        Write-Output "PR builds are *NOT* explicitly enabled"
      }
    }

Итак, суть в том, что вызывает эту ошибку? Если проблема связана с моим кодом, я буду признателен, если кто-нибудь укажет правильный синтаксис. Если проблема в yamllint, я хотел бы сообщить об ошибке.

1 Ответ

4 голосов
/ 12 июля 2020

У вас ошибка в отступе. Сделайте отступ после - ps: | еще раз, и он будет проанализирован без ошибок:

install:
  - ps: |
      Write-Output "Compiler: $env:compiler"
      Write-Output "Generator: $env:generator"
      Write-Output "Env:Configuation: $env:configuration"
      Write-Output "Env: $env"
      if (-not (Test-Path env:APPVEYOR_PULL_REQUEST_NUMBER)) {
        Write-Output "This is *NOT* a pull request build"
      }  
      else
      {
        Write-Output "This is a pull request build"
        if (-not (Test-Path env:enabled_on_pr) -or $env:enabled_on_pr -ne "yes") {
          Write-Output "PR builds are *NOT* explicitly enabled"
        }
      }
...