xref: /aosp_15_r20/build/blueprint/Android.bp (revision 1fa6dee971e1612fa5cc0aa5ca2d35a22e2c34a3)
1*1fa6dee9SAndroid Build Coastguard Workerpackage {
2*1fa6dee9SAndroid Build Coastguard Worker    default_applicable_licenses: ["build_blueprint_license"],
3*1fa6dee9SAndroid Build Coastguard Worker    default_visibility: [
4*1fa6dee9SAndroid Build Coastguard Worker        "//build/blueprint:__subpackages__",
5*1fa6dee9SAndroid Build Coastguard Worker        "//build/soong:__subpackages__",
6*1fa6dee9SAndroid Build Coastguard Worker    ],
7*1fa6dee9SAndroid Build Coastguard Worker}
8*1fa6dee9SAndroid Build Coastguard Worker
9*1fa6dee9SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
10*1fa6dee9SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
11*1fa6dee9SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
12*1fa6dee9SAndroid Build Coastguard Worker//
13*1fa6dee9SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
14*1fa6dee9SAndroid Build Coastguard Worker//
15*1fa6dee9SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
16*1fa6dee9SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
17*1fa6dee9SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
18*1fa6dee9SAndroid Build Coastguard Worker//
19*1fa6dee9SAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private"
20*1fa6dee9SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
21*1fa6dee9SAndroid Build Coastguard Worker// used in the current project.
22*1fa6dee9SAndroid Build Coastguard Worker// See: http://go/android-license-faq
23*1fa6dee9SAndroid Build Coastguard Workerlicense {
24*1fa6dee9SAndroid Build Coastguard Worker    name: "build_blueprint_license",
25*1fa6dee9SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
26*1fa6dee9SAndroid Build Coastguard Worker    license_kinds: [
27*1fa6dee9SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
28*1fa6dee9SAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
29*1fa6dee9SAndroid Build Coastguard Worker    ],
30*1fa6dee9SAndroid Build Coastguard Worker    license_text: [
31*1fa6dee9SAndroid Build Coastguard Worker        "LICENSE",
32*1fa6dee9SAndroid Build Coastguard Worker    ],
33*1fa6dee9SAndroid Build Coastguard Worker}
34*1fa6dee9SAndroid Build Coastguard Worker
35*1fa6dee9SAndroid Build Coastguard Workerbootstrap_go_package {
36*1fa6dee9SAndroid Build Coastguard Worker    name: "blueprint",
37*1fa6dee9SAndroid Build Coastguard Worker    deps: [
38*1fa6dee9SAndroid Build Coastguard Worker        "blueprint-gobtools",
39*1fa6dee9SAndroid Build Coastguard Worker        "blueprint-metrics",
40*1fa6dee9SAndroid Build Coastguard Worker        "blueprint-parser",
41*1fa6dee9SAndroid Build Coastguard Worker        "blueprint-pathtools",
42*1fa6dee9SAndroid Build Coastguard Worker        "blueprint-proptools",
43*1fa6dee9SAndroid Build Coastguard Worker    ],
44*1fa6dee9SAndroid Build Coastguard Worker    pkgPath: "github.com/google/blueprint",
45*1fa6dee9SAndroid Build Coastguard Worker    srcs: [
46*1fa6dee9SAndroid Build Coastguard Worker        "context.go",
47*1fa6dee9SAndroid Build Coastguard Worker        "incremental.go",
48*1fa6dee9SAndroid Build Coastguard Worker        "levenshtein.go",
49*1fa6dee9SAndroid Build Coastguard Worker        "glob.go",
50*1fa6dee9SAndroid Build Coastguard Worker        "live_tracker.go",
51*1fa6dee9SAndroid Build Coastguard Worker        "mangle.go",
52*1fa6dee9SAndroid Build Coastguard Worker        "module_ctx.go",
53*1fa6dee9SAndroid Build Coastguard Worker        "name_interface.go",
54*1fa6dee9SAndroid Build Coastguard Worker        "ninja_defs.go",
55*1fa6dee9SAndroid Build Coastguard Worker        "ninja_strings.go",
56*1fa6dee9SAndroid Build Coastguard Worker        "ninja_writer.go",
57*1fa6dee9SAndroid Build Coastguard Worker        "package_ctx.go",
58*1fa6dee9SAndroid Build Coastguard Worker        "provider.go",
59*1fa6dee9SAndroid Build Coastguard Worker        "scope.go",
60*1fa6dee9SAndroid Build Coastguard Worker        "singleton_ctx.go",
61*1fa6dee9SAndroid Build Coastguard Worker        "source_file_provider.go",
62*1fa6dee9SAndroid Build Coastguard Worker        "transition.go",
63*1fa6dee9SAndroid Build Coastguard Worker    ],
64*1fa6dee9SAndroid Build Coastguard Worker    testSrcs: [
65*1fa6dee9SAndroid Build Coastguard Worker        "context_test.go",
66*1fa6dee9SAndroid Build Coastguard Worker        "levenshtein_test.go",
67*1fa6dee9SAndroid Build Coastguard Worker        "glob_test.go",
68*1fa6dee9SAndroid Build Coastguard Worker        "module_ctx_test.go",
69*1fa6dee9SAndroid Build Coastguard Worker        "ninja_strings_test.go",
70*1fa6dee9SAndroid Build Coastguard Worker        "ninja_writer_test.go",
71*1fa6dee9SAndroid Build Coastguard Worker        "provider_test.go",
72*1fa6dee9SAndroid Build Coastguard Worker        "splice_modules_test.go",
73*1fa6dee9SAndroid Build Coastguard Worker        "transition_test.go",
74*1fa6dee9SAndroid Build Coastguard Worker        "visit_test.go",
75*1fa6dee9SAndroid Build Coastguard Worker    ],
76*1fa6dee9SAndroid Build Coastguard Worker    visibility: [
77*1fa6dee9SAndroid Build Coastguard Worker        // used by plugins
78*1fa6dee9SAndroid Build Coastguard Worker        "//visibility:public",
79*1fa6dee9SAndroid Build Coastguard Worker    ],
80*1fa6dee9SAndroid Build Coastguard Worker}
81*1fa6dee9SAndroid Build Coastguard Worker
82*1fa6dee9SAndroid Build Coastguard Workerbootstrap_go_package {
83*1fa6dee9SAndroid Build Coastguard Worker    name: "blueprint-parser",
84*1fa6dee9SAndroid Build Coastguard Worker    pkgPath: "github.com/google/blueprint/parser",
85*1fa6dee9SAndroid Build Coastguard Worker    srcs: [
86*1fa6dee9SAndroid Build Coastguard Worker        "parser/ast.go",
87*1fa6dee9SAndroid Build Coastguard Worker        "parser/modify.go",
88*1fa6dee9SAndroid Build Coastguard Worker        "parser/parser.go",
89*1fa6dee9SAndroid Build Coastguard Worker        "parser/printer.go",
90*1fa6dee9SAndroid Build Coastguard Worker        "parser/sort.go",
91*1fa6dee9SAndroid Build Coastguard Worker    ],
92*1fa6dee9SAndroid Build Coastguard Worker    testSrcs: [
93*1fa6dee9SAndroid Build Coastguard Worker        "parser/modify_test.go",
94*1fa6dee9SAndroid Build Coastguard Worker        "parser/parser_test.go",
95*1fa6dee9SAndroid Build Coastguard Worker        "parser/printer_test.go",
96*1fa6dee9SAndroid Build Coastguard Worker        "parser/sort_test.go",
97*1fa6dee9SAndroid Build Coastguard Worker    ],
98*1fa6dee9SAndroid Build Coastguard Worker    visibility: [
99*1fa6dee9SAndroid Build Coastguard Worker        "//build/blueprint:__subpackages__",
100*1fa6dee9SAndroid Build Coastguard Worker        "//build/soong:__subpackages__",
101*1fa6dee9SAndroid Build Coastguard Worker        "//development/vndk/tools/elfcheck",
102*1fa6dee9SAndroid Build Coastguard Worker        "//tools/security/fuzzing/fuzzer_parser",
103*1fa6dee9SAndroid Build Coastguard Worker        "//vendor:__subpackages__",
104*1fa6dee9SAndroid Build Coastguard Worker    ],
105*1fa6dee9SAndroid Build Coastguard Worker}
106*1fa6dee9SAndroid Build Coastguard Worker
107*1fa6dee9SAndroid Build Coastguard Workerbootstrap_go_package {
108*1fa6dee9SAndroid Build Coastguard Worker    name: "blueprint-deptools",
109*1fa6dee9SAndroid Build Coastguard Worker    pkgPath: "github.com/google/blueprint/deptools",
110*1fa6dee9SAndroid Build Coastguard Worker    srcs: ["deptools/depfile.go"],
111*1fa6dee9SAndroid Build Coastguard Worker    visibility: [
112*1fa6dee9SAndroid Build Coastguard Worker        "//build/blueprint:__subpackages__",
113*1fa6dee9SAndroid Build Coastguard Worker        "//build/make/tools/compliance",
114*1fa6dee9SAndroid Build Coastguard Worker        "//build/soong:__subpackages__",
115*1fa6dee9SAndroid Build Coastguard Worker    ],
116*1fa6dee9SAndroid Build Coastguard Worker}
117*1fa6dee9SAndroid Build Coastguard Worker
118*1fa6dee9SAndroid Build Coastguard Workerbootstrap_go_package {
119*1fa6dee9SAndroid Build Coastguard Worker    name: "blueprint-pathtools",
120*1fa6dee9SAndroid Build Coastguard Worker    pkgPath: "github.com/google/blueprint/pathtools",
121*1fa6dee9SAndroid Build Coastguard Worker    deps: [
122*1fa6dee9SAndroid Build Coastguard Worker        "blueprint-deptools",
123*1fa6dee9SAndroid Build Coastguard Worker    ],
124*1fa6dee9SAndroid Build Coastguard Worker    srcs: [
125*1fa6dee9SAndroid Build Coastguard Worker        "pathtools/lists.go",
126*1fa6dee9SAndroid Build Coastguard Worker        "pathtools/fs.go",
127*1fa6dee9SAndroid Build Coastguard Worker        "pathtools/glob.go",
128*1fa6dee9SAndroid Build Coastguard Worker    ],
129*1fa6dee9SAndroid Build Coastguard Worker    testSrcs: [
130*1fa6dee9SAndroid Build Coastguard Worker        "pathtools/fs_test.go",
131*1fa6dee9SAndroid Build Coastguard Worker        "pathtools/glob_test.go",
132*1fa6dee9SAndroid Build Coastguard Worker        "pathtools/lists_test.go",
133*1fa6dee9SAndroid Build Coastguard Worker    ],
134*1fa6dee9SAndroid Build Coastguard Worker    visibility: [
135*1fa6dee9SAndroid Build Coastguard Worker        // used by plugins
136*1fa6dee9SAndroid Build Coastguard Worker        "//visibility:public",
137*1fa6dee9SAndroid Build Coastguard Worker    ],
138*1fa6dee9SAndroid Build Coastguard Worker}
139*1fa6dee9SAndroid Build Coastguard Worker
140*1fa6dee9SAndroid Build Coastguard Workerbootstrap_go_package {
141*1fa6dee9SAndroid Build Coastguard Worker    name: "blueprint-proptools",
142*1fa6dee9SAndroid Build Coastguard Worker    pkgPath: "github.com/google/blueprint/proptools",
143*1fa6dee9SAndroid Build Coastguard Worker    deps: [
144*1fa6dee9SAndroid Build Coastguard Worker        "blueprint-parser",
145*1fa6dee9SAndroid Build Coastguard Worker        "blueprint-optional",
146*1fa6dee9SAndroid Build Coastguard Worker    ],
147*1fa6dee9SAndroid Build Coastguard Worker    srcs: [
148*1fa6dee9SAndroid Build Coastguard Worker        "proptools/clone.go",
149*1fa6dee9SAndroid Build Coastguard Worker        "proptools/configurable.go",
150*1fa6dee9SAndroid Build Coastguard Worker        "proptools/escape.go",
151*1fa6dee9SAndroid Build Coastguard Worker        "proptools/extend.go",
152*1fa6dee9SAndroid Build Coastguard Worker        "proptools/filter.go",
153*1fa6dee9SAndroid Build Coastguard Worker        "proptools/hash_provider.go",
154*1fa6dee9SAndroid Build Coastguard Worker        "proptools/proptools.go",
155*1fa6dee9SAndroid Build Coastguard Worker        "proptools/repack.go",
156*1fa6dee9SAndroid Build Coastguard Worker        "proptools/tag.go",
157*1fa6dee9SAndroid Build Coastguard Worker        "proptools/typeequal.go",
158*1fa6dee9SAndroid Build Coastguard Worker        "proptools/unpack.go",
159*1fa6dee9SAndroid Build Coastguard Worker        "proptools/utils.go",
160*1fa6dee9SAndroid Build Coastguard Worker    ],
161*1fa6dee9SAndroid Build Coastguard Worker    testSrcs: [
162*1fa6dee9SAndroid Build Coastguard Worker        "proptools/clone_test.go",
163*1fa6dee9SAndroid Build Coastguard Worker        "proptools/configurable_test.go",
164*1fa6dee9SAndroid Build Coastguard Worker        "proptools/escape_test.go",
165*1fa6dee9SAndroid Build Coastguard Worker        "proptools/extend_test.go",
166*1fa6dee9SAndroid Build Coastguard Worker        "proptools/filter_test.go",
167*1fa6dee9SAndroid Build Coastguard Worker        "proptools/hash_provider_test.go",
168*1fa6dee9SAndroid Build Coastguard Worker        "proptools/repack_test.go",
169*1fa6dee9SAndroid Build Coastguard Worker        "proptools/tag_test.go",
170*1fa6dee9SAndroid Build Coastguard Worker        "proptools/typeequal_test.go",
171*1fa6dee9SAndroid Build Coastguard Worker        "proptools/unpack_test.go",
172*1fa6dee9SAndroid Build Coastguard Worker    ],
173*1fa6dee9SAndroid Build Coastguard Worker    visibility: [
174*1fa6dee9SAndroid Build Coastguard Worker        // used by plugins
175*1fa6dee9SAndroid Build Coastguard Worker        "//visibility:public",
176*1fa6dee9SAndroid Build Coastguard Worker    ],
177*1fa6dee9SAndroid Build Coastguard Worker}
178*1fa6dee9SAndroid Build Coastguard Worker
179*1fa6dee9SAndroid Build Coastguard Workerbootstrap_go_package {
180*1fa6dee9SAndroid Build Coastguard Worker    name: "blueprint-optional",
181*1fa6dee9SAndroid Build Coastguard Worker    pkgPath: "github.com/google/blueprint/optional",
182*1fa6dee9SAndroid Build Coastguard Worker    srcs: [
183*1fa6dee9SAndroid Build Coastguard Worker        "optional/optional.go",
184*1fa6dee9SAndroid Build Coastguard Worker    ],
185*1fa6dee9SAndroid Build Coastguard Worker}
186*1fa6dee9SAndroid Build Coastguard Worker
187*1fa6dee9SAndroid Build Coastguard Workerbootstrap_go_package {
188*1fa6dee9SAndroid Build Coastguard Worker    name: "blueprint-bootstrap",
189*1fa6dee9SAndroid Build Coastguard Worker    deps: [
190*1fa6dee9SAndroid Build Coastguard Worker        "blueprint",
191*1fa6dee9SAndroid Build Coastguard Worker        "blueprint-deptools",
192*1fa6dee9SAndroid Build Coastguard Worker        "blueprint-pathtools",
193*1fa6dee9SAndroid Build Coastguard Worker        "blueprint-bootstrap-bpdoc",
194*1fa6dee9SAndroid Build Coastguard Worker    ],
195*1fa6dee9SAndroid Build Coastguard Worker    pkgPath: "github.com/google/blueprint/bootstrap",
196*1fa6dee9SAndroid Build Coastguard Worker    srcs: [
197*1fa6dee9SAndroid Build Coastguard Worker        "bootstrap/bootstrap.go",
198*1fa6dee9SAndroid Build Coastguard Worker        "bootstrap/command.go",
199*1fa6dee9SAndroid Build Coastguard Worker        "bootstrap/config.go",
200*1fa6dee9SAndroid Build Coastguard Worker        "bootstrap/writedocs.go",
201*1fa6dee9SAndroid Build Coastguard Worker    ],
202*1fa6dee9SAndroid Build Coastguard Worker}
203*1fa6dee9SAndroid Build Coastguard Worker
204*1fa6dee9SAndroid Build Coastguard Workerbootstrap_go_package {
205*1fa6dee9SAndroid Build Coastguard Worker    name: "blueprint-bootstrap-bpdoc",
206*1fa6dee9SAndroid Build Coastguard Worker    deps: [
207*1fa6dee9SAndroid Build Coastguard Worker        "blueprint",
208*1fa6dee9SAndroid Build Coastguard Worker        "blueprint-proptools",
209*1fa6dee9SAndroid Build Coastguard Worker    ],
210*1fa6dee9SAndroid Build Coastguard Worker    pkgPath: "github.com/google/blueprint/bootstrap/bpdoc",
211*1fa6dee9SAndroid Build Coastguard Worker    srcs: [
212*1fa6dee9SAndroid Build Coastguard Worker        "bootstrap/bpdoc/bpdoc.go",
213*1fa6dee9SAndroid Build Coastguard Worker        "bootstrap/bpdoc/properties.go",
214*1fa6dee9SAndroid Build Coastguard Worker        "bootstrap/bpdoc/reader.go",
215*1fa6dee9SAndroid Build Coastguard Worker    ],
216*1fa6dee9SAndroid Build Coastguard Worker    testSrcs: [
217*1fa6dee9SAndroid Build Coastguard Worker        "bootstrap/bpdoc/bpdoc_test.go",
218*1fa6dee9SAndroid Build Coastguard Worker        "bootstrap/bpdoc/properties_test.go",
219*1fa6dee9SAndroid Build Coastguard Worker        "bootstrap/bpdoc/reader_test.go",
220*1fa6dee9SAndroid Build Coastguard Worker    ],
221*1fa6dee9SAndroid Build Coastguard Worker}
222*1fa6dee9SAndroid Build Coastguard Worker
223*1fa6dee9SAndroid Build Coastguard Workerblueprint_go_binary {
224*1fa6dee9SAndroid Build Coastguard Worker    name: "bpfmt",
225*1fa6dee9SAndroid Build Coastguard Worker    deps: ["blueprint-parser"],
226*1fa6dee9SAndroid Build Coastguard Worker    srcs: ["bpfmt/bpfmt.go"],
227*1fa6dee9SAndroid Build Coastguard Worker    visibility: [
228*1fa6dee9SAndroid Build Coastguard Worker        "//development/tools/cargo_embargo",
229*1fa6dee9SAndroid Build Coastguard Worker        "//tools/external_updater",
230*1fa6dee9SAndroid Build Coastguard Worker    ],
231*1fa6dee9SAndroid Build Coastguard Worker}
232*1fa6dee9SAndroid Build Coastguard Worker
233*1fa6dee9SAndroid Build Coastguard Workerblueprint_go_binary {
234*1fa6dee9SAndroid Build Coastguard Worker    name: "gotestmain",
235*1fa6dee9SAndroid Build Coastguard Worker    srcs: ["gotestmain/gotestmain.go"],
236*1fa6dee9SAndroid Build Coastguard Worker}
237*1fa6dee9SAndroid Build Coastguard Worker
238*1fa6dee9SAndroid Build Coastguard Worker// gotestmain tests can't be on the gotestmain module because it is an implicit dependency of tests.
239*1fa6dee9SAndroid Build Coastguard Worker// Put the tests in their own package and make it a dependency of minibp to make sure they run.
240*1fa6dee9SAndroid Build Coastguard Workerbootstrap_go_package {
241*1fa6dee9SAndroid Build Coastguard Worker    name: "gotestmain-tests",
242*1fa6dee9SAndroid Build Coastguard Worker    pkgPath: "github.com/google/blueprint/gotestmain",
243*1fa6dee9SAndroid Build Coastguard Worker    srcs: [
244*1fa6dee9SAndroid Build Coastguard Worker        "gotestmain/dummy.go",
245*1fa6dee9SAndroid Build Coastguard Worker    ],
246*1fa6dee9SAndroid Build Coastguard Worker    testSrcs: [
247*1fa6dee9SAndroid Build Coastguard Worker        "gotestmain/testmain_test.go",
248*1fa6dee9SAndroid Build Coastguard Worker    ],
249*1fa6dee9SAndroid Build Coastguard Worker}
250*1fa6dee9SAndroid Build Coastguard Worker
251*1fa6dee9SAndroid Build Coastguard Workerblueprint_go_binary {
252*1fa6dee9SAndroid Build Coastguard Worker    name: "gotestrunner",
253*1fa6dee9SAndroid Build Coastguard Worker    srcs: ["gotestrunner/gotestrunner.go"],
254*1fa6dee9SAndroid Build Coastguard Worker}
255*1fa6dee9SAndroid Build Coastguard Worker
256*1fa6dee9SAndroid Build Coastguard Workerblueprint_go_binary {
257*1fa6dee9SAndroid Build Coastguard Worker    name: "loadplugins",
258*1fa6dee9SAndroid Build Coastguard Worker    srcs: ["loadplugins/loadplugins.go"],
259*1fa6dee9SAndroid Build Coastguard Worker}
260*1fa6dee9SAndroid Build Coastguard Worker
261*1fa6dee9SAndroid Build Coastguard Workerblueprint_go_binary {
262*1fa6dee9SAndroid Build Coastguard Worker    name: "microfactory",
263*1fa6dee9SAndroid Build Coastguard Worker    deps: ["blueprint-microfactory"],
264*1fa6dee9SAndroid Build Coastguard Worker    srcs: ["microfactory/main/main.go"],
265*1fa6dee9SAndroid Build Coastguard Worker}
266*1fa6dee9SAndroid Build Coastguard Worker
267*1fa6dee9SAndroid Build Coastguard Workerbootstrap_go_package {
268*1fa6dee9SAndroid Build Coastguard Worker    name: "blueprint-microfactory",
269*1fa6dee9SAndroid Build Coastguard Worker    pkgPath: "github.com/google/blueprint/microfactory",
270*1fa6dee9SAndroid Build Coastguard Worker    srcs: ["microfactory/microfactory.go"],
271*1fa6dee9SAndroid Build Coastguard Worker    testSrcs: ["microfactory/microfactory_test.go"],
272*1fa6dee9SAndroid Build Coastguard Worker}
273