Существуют ли какие-либо инструменты для миграции старой рабочей области Bazel в последнюю версию Bazel - PullRequest
0 голосов
/ 18 октября 2019

У меня есть существующий проект bazel, который может быть успешно скомпилирован с помощью bazel v0.5.3. Поскольку плагин для clion поддерживает только bazel 0.24.0+, я обновляю свой bazel до последней версии. Однако clion сообщает "ОШИБКА: Ошибка оценки файла WORKSPACE" при загрузке проекта в clion.

Есть ли какой-либо подход к обновлению старого проекта Bazel?

1 Ответ

1 голос
/ 21 октября 2019

Bazelisk предоставляет флаги --strict и --migrate, которые могут вам помочь:

USE_BAZEL_VERSION=0.24.0 bazelisk --strict build //...

--strict включает все несовместимые флаги и помогает выявлять проблемы обновления.

Если --strict не удается, попробуйте --migrate. Он шаг за шагом включает несовместимые флаги и предоставляет отчет о несовместимых флагах, которые приводят к проблеме сборки:

USE_BAZEL_VERSION=0.24.0 bazelisk --migrate build //...

Также взгляните на документацию о обратной совместимости:

Когда мы вводим несовместимое изменение, мы стараемся упростить пользователям Bazel обновление своего кода. Мы делаем это с помощью окон миграции и рецептов миграции.

Окно миграции - это один или несколько выпусков Bazel, во время которых возможен переход от старой функциональности к новой, в соответствии с рецептом миграции.

Во время окна миграции в выпуске Bazel доступны как старая, так и новая функциональность. Для каждого несовместимого изменения мы предоставляем рецепт миграции, который позволяет обновлять код пользователя (файлы BUILD и .bzl, а также любое использование Bazel в сценариях, использование Bazel API и т. Д.) Таким образом, чтобы он работал одновременно без каких-либо изменений. флаги со старой и новой функциональностью.

...