The *.gni templates are shims around templates with the same name, with
These are used to produce artifacts that use different commit IDs for the ICU library for product assembly.
icu_source_set is a
source_set target that produces 3 flavors of each target it is instantiated for.
icu_source_set("foo") produces several targets named
XXXX is replaced by the commit ID of the ICU library used in its compilation.
Since the choice of the ICU library is made at compile time, but the choice of components for a given product is made at product assembly time, we must offer the product assembly “flavors” of the same components, built with different ICU commit IDs. Product assembly can then use these “flavored” builds to make the correct selection of a component.