package { default_applicable_licenses: ["Android-Apache-2.0"], } bootstrap_go_package { name: "soong-genrule", pkgPath: "android/soong/genrule", deps: [ "blueprint", "blueprint-pathtools", "sbox_proto", "soong", "soong-android", "soong-shared", ], srcs: [ "allowlists.go", "genrule.go", "locations.go", ], testSrcs: [ "genrule_test.go", ], pluginFor: ["soong_build"], // Used by plugins visibility: ["//visibility:public"], } genrule { name: "nsjail_genrule_test_input", cmd: "echo nsjail_genrule_test_input > $(out)", out: ["nsjail_genrule_test_input.txt"], } // Pseudo-test that's run on checkbuilds to verify consistent directory // structure for genrules using sbox or nsjail. genrule_defaults { name: "nsjail_genrule_test_gen_defaults", // verify both relative paths and its contents cmd: "(echo $(out) $(genDir) && sha256sum " + "$(location get_clang_version) " + "$(location py3-cmd) " + "$(location genrule.go) " + "$(location :nsjail_genrule_test_input) " + "$(locations *.go)) | sed 's@\\./@@g' > $(out)", tools: [ "get_clang_version", // random tool "py3-cmd", // random prebuilt tool ], tool_files: ["genrule.go"], // random local file srcs: [ ":nsjail_genrule_test_input", // random OutputFileProducer "*.go", // random glob ], out: ["nsjail_genrule_test.txt"], } genrule { name: "nsjail_genrule_test_gen_without_nsjail", defaults: ["nsjail_genrule_test_gen_defaults"], } genrule { name: "nsjail_genrule_test_gen_with_nsjail", defaults: ["nsjail_genrule_test_gen_defaults"], use_nsjail: true, } genrule { name: "nsjail_genrule_test", srcs: [ ":nsjail_genrule_test_gen_without_nsjail", ":nsjail_genrule_test_gen_with_nsjail", ], cmd: "diff $(in) > $(out)", out: ["nsjail_genrule_test"], }