1package { 2 default_applicable_licenses: ["Android-Apache-2.0"], 3} 4 5bootstrap_go_package { 6 name: "soong-genrule", 7 pkgPath: "android/soong/genrule", 8 deps: [ 9 "blueprint", 10 "blueprint-pathtools", 11 "sbox_proto", 12 "soong", 13 "soong-android", 14 "soong-shared", 15 ], 16 srcs: [ 17 "genrule.go", 18 "locations.go", 19 ], 20 testSrcs: [ 21 "genrule_test.go", 22 ], 23 pluginFor: ["soong_build"], 24 // Used by plugins 25 visibility: ["//visibility:public"], 26} 27 28genrule { 29 name: "nsjail_genrule_test_input", 30 cmd: "echo nsjail_genrule_test_input > $(out)", 31 out: ["nsjail_genrule_test_input.txt"], 32} 33 34// Pseudo-test that's run on checkbuilds to verify consistent directory 35// structure for genrules using sbox or nsjail. 36genrule_defaults { 37 name: "nsjail_genrule_test_gen_defaults", 38 // verify both relative paths and its contents 39 cmd: "(echo $(out) $(genDir) && sha256sum " + 40 "$(location get_clang_version) " + 41 "$(location py3-cmd) " + 42 "$(location genrule.go) " + 43 "$(location :nsjail_genrule_test_input) " + 44 "$(locations *.go)) | sed 's@\\./@@g' > $(out)", 45 tools: [ 46 "get_clang_version", // random tool 47 "py3-cmd", // random prebuilt tool 48 ], 49 tool_files: ["genrule.go"], // random local file 50 srcs: [ 51 ":nsjail_genrule_test_input", // random OutputFileProducer 52 "*.go", // random glob 53 ], 54 out: ["nsjail_genrule_test.txt"], 55} 56 57genrule { 58 name: "nsjail_genrule_test_gen_without_nsjail", 59 defaults: ["nsjail_genrule_test_gen_defaults"], 60} 61 62genrule { 63 name: "nsjail_genrule_test_gen_with_nsjail", 64 defaults: ["nsjail_genrule_test_gen_defaults"], 65 use_nsjail: true, 66} 67 68genrule { 69 name: "nsjail_genrule_test", 70 srcs: [ 71 ":nsjail_genrule_test_gen_without_nsjail", 72 ":nsjail_genrule_test_gen_with_nsjail", 73 ], 74 cmd: "diff $(in) > $(out)", 75 out: ["nsjail_genrule_test"], 76} 77