如何使用 Bazel 在 BUILD 文件的依赖项部分直接指定 groupid、artifact 和 version?

How to specify groupid, artifact and version directly in dependencies section of BUILD file using Bazel?

如何使用 Bazel 在 BUILD 文件的 dependencies 部分直接指定 groupid、artifact 和 version?

我正在尝试将一个简单的 gradle 项目转换为 bazel 项目。不能真正使用 generate_workspace 因为我有一个 gradle 项目(不是 maven)。

我想知道是否有更简单的方法在 BUILD 文件的依赖项本身中指定 GAV,所以它看起来像这样

java_binary(
    name = "HelloWorld",
    srcs = glob(["src/main/java/**/*.java"]),
    resources = glob(["src/main/resources/**"]),
    deps = ["com.fasterxml.jackson.core:jackson-core:2.8.8"],
    main_class = "com.hello.sample.Foo"
)

您尝试过直接使用 maven_jar() 吗?

在工作空间中:

maven_jar(
    name = "com_google_guava_guava",
    artifact = "com.google.guava:guava:18.0",
    sha1 = "cce0823396aa693798f8882e64213b1772032b09",
)

构建中:

java_binary(
    name = "HelloWorld",
    srcs = glob(["src/main/java/**/*.java"]),
    resources = glob(["src/main/resources/**"]),
    deps = ["@com_google_guava_guava//jar"],
    main_class = "com.hello.sample.Foo"
)

https://docs.bazel.build/versions/master/be/workspace.html#maven_jar