如何从bazel查询并找出maven包的名称和版本?

如何从bazel查询并找出maven包的名称和版本?,bazel,Bazel,如果使用grep运行此命令,我可以从maven存储库中检索项目所需的依赖项列表 bazel query "deps(//my-project-server)" | grep "@maven" 我将获得每个依赖项的输出列表,如下所示: @maven//:com_thoughtworks_paranamer_paranamer @maven//:v1/https/repo.maven.apache.org/maven2/com/thoughtworks/pa

如果使用
grep
运行此命令,我可以从maven存储库中检索项目所需的依赖项列表

bazel query "deps(//my-project-server)" | grep "@maven"
我将获得每个依赖项的输出列表,如下所示:

@maven//:com_thoughtworks_paranamer_paranamer
@maven//:v1/https/repo.maven.apache.org/maven2/com/thoughtworks/paranamer/paranamer/2.8/paranamer-2.8.jar
@maven//:com_thoughtworks_paranamer_paranamer_2_8_extension
@maven//:v1/https/repo.maven.apache.org/maven2/com/thoughtworks/paranamer/paranamer/2.8/paranamer-2.8-sources.jar
我真正想要的是包的名称和版本

在上面的示例中,我想提取这对数据
com\u thoughtworks\u paranamer\u paranamer
2.8

有没有一种直接的方法可以让bazel为所有maven依赖项生成这样的结果?

bazel查询--output=build | grep tags
可以让您走得更远:

例如:

$ bazel query @maven//:all --output=build | grep tags
  tags = ["maven_coordinates=org.hamcrest:hamcrest-core:2.1"],
  tags = ["maven_coordinates=org.hamcrest:hamcrest:2.1"],
  tags = ["maven_coordinates=com.google.guava:guava:27.0-jre"],
  tags = ["maven_coordinates=org.codehaus.mojo:animal-sniffer-annotations:1.17"],
  tags = ["maven_coordinates=org.checkerframework:checker-qual:2.5.2"],
  tags = ["maven_coordinates=com.google.j2objc:j2objc-annotations:1.1"],
  tags = ["maven_coordinates=com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava"],
  tags = ["maven_coordinates=com.google.guava:failureaccess:1.0"],
  tags = ["maven_coordinates=com.google.errorprone:error_prone_annotations:2.2.0"],
  tags = ["maven_coordinates=com.google.code.findbugs:jsr305:3.0.2"],