blob: 49df4807557ff134282e1cf38126589430a5c9d8 [file] [log] [blame]
Bob Badour02040de2021-02-03 18:08:28 -08001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
Jaewoong Jung4b79e982020-06-01 10:45:49 -07005bootstrap_go_package {
6 name: "soong-genrule",
7 pkgPath: "android/soong/genrule",
8 deps: [
9 "blueprint",
10 "blueprint-pathtools",
Colin Crosse16ce362020-11-12 08:29:30 -080011 "sbox_proto",
Jaewoong Jung4b79e982020-06-01 10:45:49 -070012 "soong",
13 "soong-android",
Jaewoong Jung4b79e982020-06-01 10:45:49 -070014 "soong-shared",
15 ],
16 srcs: [
Yu Liu6a7940c2023-05-09 17:12:22 -070017 "allowlists.go",
Jaewoong Jung4b79e982020-06-01 10:45:49 -070018 "genrule.go",
Colin Crossd11cf622021-03-23 22:30:35 -070019 "locations.go",
Jaewoong Jung4b79e982020-06-01 10:45:49 -070020 ],
21 testSrcs: [
22 "genrule_test.go",
23 ],
24 pluginFor: ["soong_build"],
Cole Faust16d227a2024-09-18 16:42:01 -070025 // Used by plugins
26 visibility: ["//visibility:public"],
Jaewoong Jung4b79e982020-06-01 10:45:49 -070027}
Inseob Kimf7cd03e2024-09-06 17:25:00 +090028
29genrule {
30 name: "nsjail_genrule_test_input",
31 cmd: "echo nsjail_genrule_test_input > $(out)",
32 out: ["nsjail_genrule_test_input.txt"],
33}
34
35// Pseudo-test that's run on checkbuilds to verify consistent directory
36// structure for genrules using sbox or nsjail.
37genrule_defaults {
38 name: "nsjail_genrule_test_gen_defaults",
39 // verify both relative paths and its contents
40 cmd: "(echo $(out) $(genDir) && sha256sum " +
41 "$(location get_clang_version) " +
42 "$(location py3-cmd) " +
43 "$(location genrule.go) " +
44 "$(location :nsjail_genrule_test_input) " +
45 "$(locations *.go)) | sed 's@\\./@@g' > $(out)",
46 tools: [
47 "get_clang_version", // random tool
48 "py3-cmd", // random prebuilt tool
49 ],
50 tool_files: ["genrule.go"], // random local file
51 srcs: [
52 ":nsjail_genrule_test_input", // random OutputFileProducer
53 "*.go", // random glob
54 ],
55 out: ["nsjail_genrule_test.txt"],
56}
57
58genrule {
59 name: "nsjail_genrule_test_gen_without_nsjail",
60 defaults: ["nsjail_genrule_test_gen_defaults"],
61}
62
63genrule {
64 name: "nsjail_genrule_test_gen_with_nsjail",
65 defaults: ["nsjail_genrule_test_gen_defaults"],
66 use_nsjail: true,
67}
68
69genrule {
70 name: "nsjail_genrule_test",
71 srcs: [
72 ":nsjail_genrule_test_gen_without_nsjail",
73 ":nsjail_genrule_test_gen_with_nsjail",
74 ],
75 cmd: "diff $(in) > $(out)",
76 out: ["nsjail_genrule_test"],
77}