В чем разница между установкой 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 правило для создания двух репозиториев - одного для незакрепленных артефактов (первый вызов) и одного для закрепленных артефактов (второй вызов).

Позже, на втором шаге, загружаются закрепленные артефакты из репозитория закрепленных артефактов. Вы можете увидеть генерируемое правило здесь .

Другие вопросы по тегам