Bazel проблема с внутренней оболочкой при использовании Windows - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь перенести огромный проект с визуальной студией и maven проектами на bazel. Мне нужно получить доступ к нашему внутреннему серверу Maven, который зашифрован. Чтобы получить доступ, мне нужно загрузить расширение skylark maven_jar, поскольку impl по умолчанию не поддерживает шифрование (ошибка 401). использование расширения приводит к множеству неприятностей, таких как:

ERROR: BUILD:4:1: no such package '@org_bouncycastle_bcpkix_jdk15on//jar': Traceback (most recent call last):
        File ".../external/bazel_tools/tools/build_defs/repo/maven_rules.bzl", line 280
                _maven_artifact_impl(ctx, "jar", _maven_jar_build_file_te...)
        File ".../external/bazel_tools/tools/build_defs/repo/maven_rules.bzl", line 248, in _maven_artifact_impl
                fail(("%s: Failed to create dirs in e...))
org_bouncycastle_bcpkix_jdk15on: Failed to create dirs in execution root.

Основной проблемой, похоже, является оболочка, которую необходимо предоставить bazel в переменных окружения BAZEL_SH:

  • Я работаю под Windows
  • Я использую Базел 0.23.2
  • bazel, похоже, запускает команду bash, используя непосредственно «bash», а не ту, которая указана в переменной env.
  • Я установил оболочку Ubuntu в Windows. bazel использовал все из ubuntu, особенно при использовании maven (settings.xml использовал из ubuntu ~ / .m2, а не из пользователя windows)
  • после удаления Ubuntu и проверки того, что bash в cmd заканчивается «команда не найдена», я также удалил BAZEL_SH env var, а bazel выдает сообщение выше
  • после повторной установки переменной BAZEL_SH происходит сбой с тем же сообщением об ошибке

Я предполагаю, что bazel откуда-то получает bash или игнорирует переменную env. Мои вопросы: 1. Как правильно настроить оболочку? 2. Нужен ли BAZEL_SH при использовании текущей версии?

Для меня документ на веб-сайте bazel об установке устарел.

Приветствия

1 Ответ

0 голосов
/ 20 марта 2019

Пожалуйста, рассмотрите возможность использования rules_jvm_external для управления зависимостями Maven. Он поддерживает как Windows, так и частные репозитории, использующие базовую аутентификацию HTTP.

Для меня документ на веб-сайте bazel о настройке устарел.

Команда Bazel знает об этом и вскоре обновит наши документы.

...