* aosp/upstream:
Stop writing depfiles from Glob singleton
Bug: 159845846
Test: manually check that changes to directories cause glob re-execution
Test: second build after a clean does not rerun soong_build
Change-Id: I1f257f3f11f70cb407397854fd85292dd0d0b08e
This makes a minimal difference on my AOSP tree (which is on a fast NVME
drive), but it saves ~10-15% of the time in our primary builder
(soong_build) on larger trees on slower drives.
We're always going to run the glob tool at least once outside of the
primary builder, and ninja only loads depfiles created after running the
tool, so this should be a no-op change.
We still need to write the list file (if it has changed), since that's
the file we're adding as a dependency of the primary builder, so the
effective timestamp must be earlier than the build.ninja timestamp.
Change-Id: I872b7581da50e7f2089daa7e248ca05b6703f019
* aosp/upstream:
Use github actions instead of travis
Export ModuleListFile in bootstrap (with fix) (#304)
Revert "Merge pull request #301 from c-parsons/modulelistfile"
Revert "Always emit rules for tests and add phony to run them"
Revert changes to singleton_ctx.go
Change bootstrap.moduleListFile to be exported
Add a getter for ModuleListFile to SingletonContext
Test: `m nothing` and treehugger
Change-Id: I37cb1b08d962ab34d3b7d7999496795986315217
This reverts commit 63085f9e7c.
It breaks the blueprint tests, and we aren't use it yet, so revert
it for now.
Change-Id: I1ac81371342285e8d57baf15fe3a223d4140c6cf
* goog/mirror-aosp-master:
Support checking syntax of generated Blueprint files
Always emit rules for tests and add phony to run them
Bug: 155628860
Test: treehugger
Change-Id: Ie843b929edf1c11c201792eefcb7772b1e6daeb8
* aosp/upstream:
Support checking syntax of generated Blueprint files
Always emit rules for tests and add phony to run them
Bug: 155628860
Bug: 156428456
Test: treehugger
Change-Id: Ia0e0c8d8d07489c945d4e03d039273cc3f597ac0
Adds a CheckBlueprintSyntax(...) method to check the syntax of a
Blueprint file.
Changes processModuleDef and newModule from being method on *Context to
being standalone functions. That ensures that CheckBlueprintSyntax(...)
does not need to take a context and so there is no chance that it can
change its state.
Emit the rules to build blueprint tests even if runGoTests is not
set, and add a phony rule "blueprint_tests" to run them. This will
allow Soong to stop running the tests at the beginning of every build
but still run them as part of checkbuild or with a manual
`m blueprint_tests`.
Bug: 156428456
Test: m
Test: m blueprint_tests
Change-Id: If293a0757766d3046e78bf230a1825f15adc68fd
am skip reason: Change-Id I649f2a524f200d696b038ee6bc99d95308e1b475 with SHA-1 6f902c4134 is in history
Change-Id: I3102c52dd904376e2dd127db2312bf9341ef8686
Previously a LoadHook could not modify the name of a module because the
module was registered before the LoadHooks were run. That made it very
complicated (requiring mutators and auto generated names) to create a
module type whose name was determined by say the directory in which it
is defined.
This change moves the LoadHook execution slightly earlier so it runs
before registration of the module.
That caused one slight side problem which was that the
moduleInfo.Name() would fail when called in a LoadHook. That was
because that gets the name from group.name but was group was nil
because it is only set when the module is registered.
Modifying the moduleInfo.Name() method to get the name from the module
logicModule.Name() if group is nil fixed that. The reason for getting
the name from the group.name rather than the logicModule.Name() is that
the former tracks renames but the latter does not. However that is not
an issue in this case as there has been no opportunity for the module
to be renamed until after the LoadHook has returned.
Otherwise we'll re-run the primary builder every time this is used. This
triggered my new ninja checks that verify that all commands write their
outputs.
Change-Id: Ic92d1ea57203b953da8025a170b24e6420c5436c
Update rvc-dev build/blueprint to match current AOSP master.
* goog/mirror-aosp-master:
WalkDeps - only record module visited when it has been recursed into
Allow missing variants when allowMissingDependencies=true
bpmodify: fix os.Exit() shouldn't shadow panic()
bpmodify: respect exitCode
Set bpmodify usage function
Fix bug in buildPropertyMap in previous commit.
Fix missing dependencies from mutators
Implement list of maps
In kzip files, compilation unit paths should be relative to top.
Fixes: 150689149
Test: m checkbuild
Change-Id: I38d4b4f5fd51f9467019b7ed8cdeaec1e0798ae3