7add62142d
When setProvider() is called, hash the provider and store the hash in the module. Then after the build is done, hash all the providers again and compare the hashes. It's an error if they don't match. Also add a flag to control it in case this check gets slow as we convert more things to providers. However right now it's fast (unnoticable in terms of whole seconds) so just have the flag always enabled. Bug: 322069292 Test: m nothing Change-Id: Ie4e806a6a9f20542ffcc7439eef376d3fb6a98ca
239 lines
6 KiB
Text
239 lines
6 KiB
Text
package {
|
|
default_applicable_licenses: ["build_blueprint_license"],
|
|
}
|
|
|
|
// Added automatically by a large-scale-change that took the approach of
|
|
// 'apply every license found to every target'. While this makes sure we respect
|
|
// every license restriction, it may not be entirely correct.
|
|
//
|
|
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
|
|
//
|
|
// Please consider splitting the single license below into multiple licenses,
|
|
// taking care not to lose any license_kind information, and overriding the
|
|
// default license using the 'licenses: [...]' property on targets as needed.
|
|
//
|
|
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
|
|
// to attach the license to, and including a comment whether the files may be
|
|
// used in the current project.
|
|
// See: http://go/android-license-faq
|
|
license {
|
|
name: "build_blueprint_license",
|
|
visibility: [":__subpackages__"],
|
|
license_kinds: [
|
|
"SPDX-license-identifier-Apache-2.0",
|
|
"SPDX-license-identifier-BSD",
|
|
],
|
|
license_text: [
|
|
"LICENSE",
|
|
],
|
|
}
|
|
|
|
bootstrap_go_package {
|
|
name: "blueprint",
|
|
deps: [
|
|
"blueprint-metrics",
|
|
"blueprint-parser",
|
|
"blueprint-pathtools",
|
|
"blueprint-proptools",
|
|
],
|
|
pkgPath: "github.com/google/blueprint",
|
|
srcs: [
|
|
"context.go",
|
|
"levenshtein.go",
|
|
"glob.go",
|
|
"live_tracker.go",
|
|
"mangle.go",
|
|
"module_ctx.go",
|
|
"name_interface.go",
|
|
"ninja_defs.go",
|
|
"ninja_strings.go",
|
|
"ninja_writer.go",
|
|
"package_ctx.go",
|
|
"provider.go",
|
|
"scope.go",
|
|
"singleton_ctx.go",
|
|
"source_file_provider.go",
|
|
],
|
|
testSrcs: [
|
|
"context_test.go",
|
|
"levenshtein_test.go",
|
|
"glob_test.go",
|
|
"module_ctx_test.go",
|
|
"ninja_strings_test.go",
|
|
"ninja_writer_test.go",
|
|
"provider_test.go",
|
|
"splice_modules_test.go",
|
|
"visit_test.go",
|
|
],
|
|
}
|
|
|
|
bootstrap_go_package {
|
|
name: "blueprint-parser",
|
|
pkgPath: "github.com/google/blueprint/parser",
|
|
srcs: [
|
|
"parser/ast.go",
|
|
"parser/modify.go",
|
|
"parser/parser.go",
|
|
"parser/printer.go",
|
|
"parser/sort.go",
|
|
],
|
|
testSrcs: [
|
|
"parser/modify_test.go",
|
|
"parser/parser_test.go",
|
|
"parser/printer_test.go",
|
|
"parser/sort_test.go",
|
|
],
|
|
}
|
|
|
|
bootstrap_go_package {
|
|
name: "blueprint-deptools",
|
|
pkgPath: "github.com/google/blueprint/deptools",
|
|
srcs: ["deptools/depfile.go"],
|
|
}
|
|
|
|
bootstrap_go_package {
|
|
name: "blueprint-pathtools",
|
|
pkgPath: "github.com/google/blueprint/pathtools",
|
|
deps: [
|
|
"blueprint-deptools",
|
|
],
|
|
srcs: [
|
|
"pathtools/lists.go",
|
|
"pathtools/fs.go",
|
|
"pathtools/glob.go",
|
|
],
|
|
testSrcs: [
|
|
"pathtools/fs_test.go",
|
|
"pathtools/glob_test.go",
|
|
"pathtools/lists_test.go",
|
|
],
|
|
}
|
|
|
|
bootstrap_go_package {
|
|
name: "blueprint-proptools",
|
|
pkgPath: "github.com/google/blueprint/proptools",
|
|
deps: [
|
|
"blueprint-parser",
|
|
],
|
|
srcs: [
|
|
"proptools/clone.go",
|
|
"proptools/escape.go",
|
|
"proptools/extend.go",
|
|
"proptools/filter.go",
|
|
"proptools/hash_provider.go",
|
|
"proptools/proptools.go",
|
|
"proptools/tag.go",
|
|
"proptools/typeequal.go",
|
|
"proptools/unpack.go",
|
|
],
|
|
testSrcs: [
|
|
"proptools/clone_test.go",
|
|
"proptools/escape_test.go",
|
|
"proptools/extend_test.go",
|
|
"proptools/filter_test.go",
|
|
"proptools/hash_provider_test.go",
|
|
"proptools/tag_test.go",
|
|
"proptools/typeequal_test.go",
|
|
"proptools/unpack_test.go",
|
|
],
|
|
}
|
|
|
|
bootstrap_go_package {
|
|
name: "blueprint-bootstrap",
|
|
deps: [
|
|
"blueprint",
|
|
"blueprint-deptools",
|
|
"blueprint-pathtools",
|
|
"blueprint-bootstrap-bpdoc",
|
|
],
|
|
pkgPath: "github.com/google/blueprint/bootstrap",
|
|
srcs: [
|
|
"bootstrap/bootstrap.go",
|
|
"bootstrap/command.go",
|
|
"bootstrap/config.go",
|
|
"bootstrap/glob.go",
|
|
"bootstrap/writedocs.go",
|
|
],
|
|
}
|
|
|
|
bootstrap_go_package {
|
|
name: "blueprint-bootstrap-bpdoc",
|
|
deps: [
|
|
"blueprint",
|
|
"blueprint-proptools",
|
|
],
|
|
pkgPath: "github.com/google/blueprint/bootstrap/bpdoc",
|
|
srcs: [
|
|
"bootstrap/bpdoc/bpdoc.go",
|
|
"bootstrap/bpdoc/properties.go",
|
|
"bootstrap/bpdoc/reader.go",
|
|
],
|
|
testSrcs: [
|
|
"bootstrap/bpdoc/bpdoc_test.go",
|
|
"bootstrap/bpdoc/properties_test.go",
|
|
"bootstrap/bpdoc/reader_test.go",
|
|
],
|
|
}
|
|
|
|
blueprint_go_binary {
|
|
name: "bpglob",
|
|
deps: ["blueprint-pathtools"],
|
|
srcs: ["bootstrap/bpglob/bpglob.go"],
|
|
}
|
|
|
|
blueprint_go_binary {
|
|
name: "bpfmt",
|
|
deps: ["blueprint-parser"],
|
|
srcs: ["bpfmt/bpfmt.go"],
|
|
}
|
|
|
|
blueprint_go_binary {
|
|
name: "bpmodify",
|
|
deps: [
|
|
"blueprint-parser",
|
|
"blueprint-proptools",
|
|
],
|
|
srcs: ["bpmodify/bpmodify.go"],
|
|
testSrcs: ["bpmodify/bpmodify_test.go"],
|
|
}
|
|
|
|
blueprint_go_binary {
|
|
name: "gotestmain",
|
|
srcs: ["gotestmain/gotestmain.go"],
|
|
}
|
|
|
|
// gotestmain tests can't be on the gotestmain module because it is an implicit dependency of tests.
|
|
// Put the tests in their own package and make it a dependency of minibp to make sure they run.
|
|
bootstrap_go_package {
|
|
name: "gotestmain-tests",
|
|
pkgPath: "github.com/google/blueprint/gotestmain",
|
|
srcs: [
|
|
"gotestmain/dummy.go",
|
|
],
|
|
testSrcs: [
|
|
"gotestmain/testmain_test.go",
|
|
],
|
|
}
|
|
|
|
blueprint_go_binary {
|
|
name: "gotestrunner",
|
|
srcs: ["gotestrunner/gotestrunner.go"],
|
|
}
|
|
|
|
blueprint_go_binary {
|
|
name: "loadplugins",
|
|
srcs: ["loadplugins/loadplugins.go"],
|
|
}
|
|
|
|
blueprint_go_binary {
|
|
name: "microfactory",
|
|
deps: ["blueprint-microfactory"],
|
|
srcs: ["microfactory/main/main.go"],
|
|
}
|
|
|
|
bootstrap_go_package {
|
|
name: "blueprint-microfactory",
|
|
pkgPath: "github.com/google/blueprint/microfactory",
|
|
srcs: ["microfactory/microfactory.go"],
|
|
testSrcs: ["microfactory/microfactory_test.go"],
|
|
}
|