No description
Find a file
Colin Cross 6bc984abca Move name memoization out of variables
memoizeFullName was added to variables, rules and pools as an
optimization to prevent recomputing the full name repeatedly,
but the storage of variables, rules and pools are generally global
and not tied to the Context.  When running multiple tests in
parallel there will be multiple Context objects all trying to
update the memoized names on the global variables, causing a data
race.

Package names were previously memoized via a pkgNames map stored
on the Context.  Expand pkgNames to a nameTracker object that
contains maps for packages, variables, rules and pools, and replace
calls to fullName with calls through nameTracker.

Test: context_test.go
Change-Id: I15040b85a6d1dab9ab3cff44f227b22985acee18
2024-01-18 12:28:49 -08:00
.github/workflows Fix github builds for deprecated set-env and add-path commands (#333) 2020-11-23 16:52:58 -08:00
bootstrap Add implicit inputs to primary builder actions 2024-01-02 16:58:49 -08:00
bpfmt bpfmt: Process all blueprint files when a directory is specified 2023-08-04 01:01:55 -07:00
bpmodify bpmodify: Add a set-bool flag to set single boolean values 2022-10-28 18:46:51 +00:00
deptools Make WriteDepFile escape spaces and special characters 2015-04-14 23:34:24 -04:00
gotestmain Support go1.18, drop support for <go1.8 2021-12-14 15:58:35 -08:00
gotestrunner gotestrunner: Make GOROOT absolute before chdir 2017-01-18 14:42:09 -08:00
loadplugins Implement plugins for bootstrap go modules 2015-09-14 15:35:12 -07:00
metrics Add unit test for EventHandler 2023-02-27 11:41:51 -05:00
microfactory apply gofmt 2023-02-21 15:11:20 -05:00
parser bpfmt: Test comment line while sorting arrays 2023-05-17 15:17:49 -07:00
pathtools Remove unnecessary locking in fs 2023-10-31 20:24:35 +00:00
proptools Remove unnecessary used names before reporting 2024-01-04 12:24:39 -08:00
tests Make test_tree_tests.sh slightly easier to read 2017-10-30 15:00:19 -07:00
.gitignore gitignore intelliJ files 2022-02-02 11:36:11 -05:00
.gofmt.sh Use github actions instead of travis 2020-06-15 10:32:10 -07:00
Android.bp Create src file provider in build/blueprint 2023-12-05 07:14:29 +00:00
CODEOWNERS Add CODEOWNERS: @google/blueprint 2020-10-07 11:57:54 +08:00
context.go Move name memoization out of variables 2024-01-18 12:28:49 -08:00
context_test.go Use strings instead of simpleNinjaStrings where possible 2023-11-01 15:15:15 -07:00
CONTRIBUTING.md Add CONTRIBUTING.md file 2015-03-16 00:12:49 -07:00
doc.go apply gofmt 2023-02-21 15:11:20 -05:00
glob.go Speed up globs with sharding 2021-04-15 11:04:11 -07:00
glob_test.go Rename Blueprints to Android.bp . 2021-09-02 11:48:19 +02:00
go.mod Use strings instead of simpleNinjaStrings where possible 2023-11-01 15:15:15 -07:00
levenshtein.go Add name hint to blueprint. 2023-04-10 20:21:15 +00:00
levenshtein_test.go Add name hint to blueprint. 2023-04-10 20:21:15 +00:00
LICENSE Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
live_tracker.go Wrap singleton ninjaString Eval calls 2023-07-11 19:58:01 +00:00
mangle.go Add license headers and LICENSE file 2015-01-23 14:23:27 -08:00
module_ctx.go Optimize returning the zero value from provider APIs 2023-12-14 16:59:19 -08:00
module_ctx_test.go Remove pre singletons 2023-11-01 15:26:17 -07:00
name_interface.go Add name hint to blueprint. 2023-04-10 20:21:15 +00:00
ninja_defs.go Move name memoization out of variables 2024-01-18 12:28:49 -08:00
ninja_strings.go Move name memoization out of variables 2024-01-18 12:28:49 -08:00
ninja_strings_test.go Move name memoization out of variables 2024-01-18 12:28:49 -08:00
ninja_writer.go Move name memoization out of variables 2024-01-18 12:28:49 -08:00
ninja_writer_test.go Use strings instead of simpleNinjaStrings where possible 2023-11-01 15:15:15 -07:00
OWNERS Refactor OWNERS in platform/build/blueprint 2020-10-08 16:23:53 -07:00
package_ctx.go Move name memoization out of variables 2024-01-18 12:28:49 -08:00
PREUPLOAD.cfg Add preupload hooks to build/blueprint 2021-02-23 10:29:46 -08:00
provider.go Optimize returning the zero value from provider APIs 2023-12-14 16:59:19 -08:00
provider_test.go Use generics for providers API 2023-12-14 16:59:16 -08:00
README.md Update README.md . 2022-10-10 07:06:22 +00:00
scope.go Move name memoization out of variables 2024-01-18 12:28:49 -08:00
singleton_ctx.go Use generics for providers API 2023-12-14 16:59:16 -08:00
source_file_provider.go Use generics for providers API 2023-12-14 16:59:16 -08:00
splice_modules_test.go Maintain ordering between variants and aliases 2020-09-09 18:29:15 -07:00
visit_test.go apply gofmt 2023-02-21 15:11:20 -05:00

Blueprint Build System

Blueprint is part of Soong.

For more information, see build/soong/README.md .