ad00dd50bf
Previously, Configurable.Get() copied the value in the property, because it needed to return a pointer in order to indicate whether the property was set or not. Now, it returns a ConfigurableOptional[T], which is the same as the pointer, but it prevents users from altering the pointed-to value, so we don't need to copy it. There are still copies for slice properties, because those are also pointers. In the future we may want to consider making an ImmutableList type to use instead. Bug: 323382414 Test: m nothing --no-skip-soong-tests Change-Id: Ic9ed5ba269d10158e3eac1fea272555c9fa5c0e8
252 lines
6.3 KiB
Text
252 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/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"],
|
|
}
|