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