c472e38ec1
Some module types currently evaluate configurable properties in load hooks, modify the results, and pass them onto properties of other modules. Evaluating configurable properties in load hooks is problematic, it happens so early that we can't decide the configuration beforehand. Add a "post processors" mechanism to configurable properties where the result of evaluating the property will be passed through a post processing function before being returned from Get(). This essentially allows you to modify the property without evaluating it. Bug: 362579941 Test: m nothing --no-skip-soong-tests Change-Id: Ibddb3f14b3433364ba474b964c701e8915d4dc85
253 lines
6.3 KiB
Text
253 lines
6.3 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",
|
|
"transition.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",
|
|
"transition_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",
|
|
"blueprint-optional",
|
|
],
|
|
srcs: [
|
|
"proptools/clone.go",
|
|
"proptools/configurable.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",
|
|
"proptools/utils.go",
|
|
],
|
|
testSrcs: [
|
|
"proptools/clone_test.go",
|
|
"proptools/configurable_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-optional",
|
|
pkgPath: "github.com/google/blueprint/optional",
|
|
srcs: [
|
|
"optional/optional.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"],
|
|
}
|