代码之家  ›  专栏  ›  技术社区  ›  Benjamin Muschko

Java二进制文件的版本控制

  •  0
  • Benjamin Muschko  · 技术社区  · 5 年前

    hello-world.jar 跑步时 bazel build //:hello-world

    java_binary(
        name = "hello-world",
        srcs = glob(["src/main/java/com/bmuschko/**/*.java"]),
        main_class = "com.bmuschko.HelloWorld"
    )
    

    我想生成的是一种定义版本的方法,例如1.2.3,它将自动生成文件 hello-world-1.2.3.jar 类似于其他构建工具,如Maven或Gradle。此功能似乎不是Bazel中的内置功能,如所示 issue-1291

    实现所描述的用例的惯用方法是什么?

    0 回复  |  直到 5 年前
        1
  •  1
  •   Jin    5 年前

    当前Bazel中重命名文件的惯用方法是使用一个简单的genrule:

    VERSION = "1.2.3"
    
    genrule(
        name = "versioned_hello_world",
        srcs = [":hello-world.jar"],
        outs = [":hello-world-%s.jar" % VERSION],
        cmd = "cp $< $@",
    )
    

    建造,运行 $ bazel build :versioned_hello_world $ bazel build :hello-world-1.2.3.jar .