В чем разница между установкой maven и закрепленной установкой maven в bazel?
Я пытаюсь немного понять внутреннее устройство bazel jvm external. Базэл документации не было достаточно ясно для меня , чтобы понять.
В чем разница между следующими шагами.
Step 1
maven_install(
# artifacts, repositories, ...
maven_install_json = "//:maven_install.json",
)
На этом этапе выполняется внутренний вызов Coursier.bzl для получения зависимостей от @ bazel_tools // tools / build_defs / repo: http.bzl
Step 2
load("@maven//:defs.bzl", "pinned_maven_install")
pinned_maven_install()
Этот шаг выглядит как вызов @ bazel_tools // tools / build_defs / repo: http.bzl без прохождения Coursier.bzl
Вопросы В чем разница между шагом 1 и шагом 2, оба, похоже, получают артефакты через HTTP? Например: на шаге 1 выполняется выборка только незакрепленной версии, а на шаге 2 - только закрепленной версии?
1 ответ
Вы можете обратиться к следующей по документациикоду из
def.bzl
.
Обеспечение
maven_install_json
инструктаж по собственности
maven_install
правило для создания двух репозиториев - одного для незакрепленных артефактов (первый вызов) и одного для закрепленных артефактов (второй вызов).
Позже, на втором шаге, загружаются закрепленные артефакты из репозитория закрепленных артефактов. Вы можете увидеть генерируемое правило здесь .