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