Как игнорировать предупреждения в сторонних пакетах при сборке проекта D с DUB

Я очень плохо знаком с D и DUB. Я пытаюсь создать несколько примеров, в которых используются сторонние пакеты, управляемые DUB.

Проблема в том, что один пакет генерирует несколько предупреждений. И похоже, что по умолчанию предупреждения рассматриваются как ошибки. Таким образом, когда сторонняя библиотека генерирует предупреждения, я не могу построить свой собственный пример.

В качестве временного решения я просто изменил код пакета в реестре DUB, чтобы исправить предупреждение. Но я ИМХО это не очень "чистое" решение. Я понимаю, что могу вручную клонировать код пакета, исправить его код (возможно, даже отправить запрос исправления или позднее) и использовать локальный каталог пакета. Но для небольших простых тестов это (ИМХО) слишком много накладных расходов.

Итак, вопрос: как я могу игнорировать предупреждения компилятора при сборке сторонних пакетов, которые представляют собой зависимости, управляемые dub?

Заранее спасибо.

Для справки:

  • ОС: Win 7
  • DMD версия: DMD32 D Compiler v2.068.0
  • Версия DUB: 0.9.23, построена 6 апреля 2015 г.

2 ответа

Единственный (и лучший способ) - связаться с автором (-ами) стороннего пакета (-ов). Не имеет смысла молчать предупреждения. В D предупреждения означают, что они не будут компилироваться в одном из будущих выпусков.

К сожалению, нет способа пометить пакет как устаревший. Но было бы неплохо иметь эту функцию. Поэтому я советую связаться с авторами устаревших пакетов, чтобы они могли обновить свой код (или нет) и сделать запрос на форуме или на трекере менеджера пакетов dub, чтобы добавить какой-то способ устаревания пакета.

аналогично комментарию от user1435461 , вы можете использовать раздел требований к сборке, как описано здесь: https://dub.pm/package-format-json.html#build-requirements

Вместо того, чтобы заставить их замолчать, вы можете указать allowWarnings , что намного лучше.

          "buildRequirements": [
        "allowWarnings"
    ],
Другие вопросы по тегам