Lines Matching refs:facade
20 # Declare a facade.
22 # A Pigweed facade is an API layer that has a single implementation it must
29 # implementation (backend). Users of the facade should depend on this.
30 # $target_name.facade: A private source_set that provides ONLY the API. ONLY
33 # If the target name matches the directory name (e.g. //foo:foo), a ":facade"
34 # alias of the facade target (e.g. //foo:facade) is also provided. This avoids
37 # The facade's headers are split out into the *.facade target to avoid circular
49 # deps = [ ":foo.facade" ]
55 # foo.facade <-.
68 # backend: (required) The dependency that implements this facade (a GN
70 # public: (required) The headers exposed by this facade. A facade acts as a
72 # include headers from the facade itself. If the facade doesn't expose any
78 "pw_facade requires a reference to a backend variable for the facade")
80 "If your facade does not explicitly expose an API that a backend " +
84 _facade_name = "$target_name.facade"
88 group("facade") {
95 # it only applies to headers, so should be in the .facade target.
106 # Try to guess the name of the facade's backend variable.
118 # attempting to build the facade without a backend fails with a relevant
123 "Attempted to build the $_label facade with no backend.",
125 "If you are using this facade, ensure you have configured a backend ",
126 "properly. The build arg for the facade must be set to a valid ",
132 "If you are NOT using this facade, this error may have been triggered ",
138 # Create a target that defines the main facade library. Always emit this