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