* 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: I7f72127bc09e468f01cd850980a5a94747b03913
am skip reason: Change-Id I649f2a524f200d696b038ee6bc99d95308e1b475 with SHA-1 6f902c4134 is in history
Change-Id: Ifbca35c1e867e214451a64b7d7e867c8b08ec642
am skip reason: Change-Id I649f2a524f200d696b038ee6bc99d95308e1b475 with SHA-1 6f902c4134 is in history
Change-Id: I029602572d66413d7816fb4649a031481ab2a77c
am skip reason: Change-Id I649f2a524f200d696b038ee6bc99d95308e1b475 with SHA-1 6f902c4134 is in history
Change-Id: Ib54885c197081418ccf70a0fce599d1c05b421af
am skip reason: Change-Id I649f2a524f200d696b038ee6bc99d95308e1b475 with SHA-1 6f902c4134 is in history
Change-Id: I0c65555f54b7210da3c3f0248f8586611a203e05
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.