Community
Participate
Working Groups
XGCONF currently uses a private file "non-api.txt" in a certain directory to add tags that tell XGCONF how to write changes to specific config params into the .cfg script. The tags let content authors improve the robustness and readability of user .cfg scripts. This bug addresses making these tags available to any content, by adding attributes to the XDCspec language and recognizing those in XGCONF. The two new tags are @Transient and @Embedded, and can be applied only to config params. @Transient indicates that the config param should never be written to the .cfg script. It implies that the .cfg param is for internal use only and is recomputed from scratch in each execution of the .cfg script. The benefit is that the config param may be redefined or removed in later product releases with no harm to existing user .cfg scripts. @Embedded applies only to config params that hold a reference to a spec'd object. Typically the config param has a declared type of Any, or XXX.Instance, XXX.Module, or Struct XXX. It indicates that the config param is the preferred name in user .cfg scripts for an otherwise internal object. The referenced object is considered to be nested (embedded) within the parent object, rather than just referenced. If multiple config params declare themselves to be the preferred name for a referenced object, the result is implementation dependent, though XGCONF will use best effort to resolve the ambiguity in context upon each use. The existing way of declaring these tags should be kept to ease transition.
*** Bug 350744 has been marked as a duplicate of this bug. ***
small progress in xdctools 3.24: Added @Transient to individual config parameters in xdc.services.spec and corresponding support in xgconf. We should probably also add support for module-wide declarations that allow specification of regexps that identify transient configs (as we do in non_api.txt). @Embedded has not yet been implemented.