[gn] Support specifying product configurations in gni files
This adds support for specifying a product configuration in an imported
gni file instead of files with JSON data structures. The contents are
the same - a set of monolith, preinstall, and available package
configurations - but gni files additionally support comments and
setting other flags.
This patch supports the existing 'fuchsia_products' arg as well to ease
transitioning. The expected update flow is:
1.) Land support for product config .gni files
2.) Land .gni files for all supported product configs alongside
existing ones
3.) Update 'fx set' to map --products to gni files instead of package
configs
4.) Send PSA to everyone to re-run 'fx set', wait some period of time
5.) Remove support for fuchsia_products arg
Test:
* remove fuchsia_packages from args.gn
* add import("//path/to/products/name.gni")
* fx build, observe data
BLD-240 #comment
Change-Id: I0a23757eff3b34bdcb808e5ae407fb8e4a5d9623
2 files changed