Skip to content

Component Reference

A component reference uniquely identifies and locates a component within an SDK or SDK extension. A component reference consists of the following fields:

Field Required Type Description
id Yes String ID of the component listed under the component/id key.
vendor No String The vendor of the SDK extension the component is from. Only vendors listed under extension/vendor or sdk/vendor key may be used.
package No String The ID of the SDK extension the component is from. Only SDK extensions listed using the sdk_extension/id or sdk/id key may be used.

Search Scope Rules

The search scope for components varies depending on the context and reference fields:

Reference Type Package Vendor Behavior Search Scope
Package-specific Selects component from a specific package, regardless of vendor All vendors, specified package
Vendor-specific Selects component provided by a specific vendor, regardless of package All packages from specified vendor
Fully Qualified Selects component from a specific vendor's specific package Exact package from exact vendor
Fully Implicit in context of component Selects component from within the containing package Only within the containing package
Fully Implicit in context of project Selects component across all available packages across all vendors All packages and vendors available to the project

Examples

Project Component

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
component:
  # Fully implicit reference; search all extensions available to the project
  - id: tuna
  # Vendor-specific reference; Limit search to vendor's sdk/extension
  - id: marlin
    vendor: grocer
  # Package-specific reference; Limit search to extension ID by any vendor
  - id: cod
    package: atlantic
  # Fully qualified reference; Limit search to pacific sdk/extension by vendor fishmonger
  - id: salmon
    package: pacific
    vendor: fishmonger

Component Configuration

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
config_file:
  - path: config/marlin_hunt.h
    override:
      # Fully implicit reference; Search within the containing package
      component: marlin
      file_id: hunt_control
  - path: config/tuna_speed.h
    override:
      # Fully qualified reference; Limit search to atlantic package by vendor fishmonger
      component: tuna
      file_id: speed_settings
      vendor: fishmonger
      package: atlantic
  - path: config/cod_school.h
    override:
      # Vendor-specific reference; Limit search to vendor's specific SDK/extension
      component: cod
      file_id: school_config
      vendor: fishmonger
  - path: config/salmon_swim.h
    override:
      # Package-specific reference; Limit search to package ID by any vendor
      component: salmon
      file_id: swim_style
      package: pacific

Error Handling

  • If multiple matching components are found in different packages, the tool will error.
  • If no matching component is found using the provided reference, the resolution fails
  • For implicit references in SLCC context, components outside containing package will not be found, even if they exist in project