如何从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"],