tree c71656f22166a58e20b60092e3ef4fdd80cf67fb
parent e20ecb06454cad175b43f2111f2928e6ff3eb802
author Damian Królik <66667989+Damian-Nordic@users.noreply.github.com> 1689193009 +0200
committer GitHub <noreply@github.com> 1689193009 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJkrwoxCRBK7hj4Ov3rIwAAFOEIAIkThXpV/2Wm7gNPlUl10sxU
 aGwayTZJx0VkLcb3ZALIEVIDatfp/FdsAsTl9uUslZBtA6C5Q5nR5grrld/tMP+s
 UWZSJyxDXuAWAF6MBSDiOEuqqfVHfH4Kzth2zQpGoqDD5H94b9QZ+6/8ACwUTuhx
 AXEmZXsZABOTv/TklR1fC2r6wuyLGBGY2K4XyGk1j8liWxeosVyxCMaqA9Nk4Dkq
 e4t/1FAX8q0utYJWEb0Fafto//z7XPMbMYoz7TyUtBpkTzjOFs4YKm46Nk/DKsqs
 tn+axH99BArOH1FiQP76A22cNHSeMnZQJleZwODKSOO8DfMpRNpAg5/MmqXsRJ8=
 =HJub
 -----END PGP SIGNATURE-----
 

[app] Allow to define external clusters in chip_data_model.* (#27886)

zap_cluster_list.py raises an error when the ZAP file
enables a cluster that is not implemented in the SDK. This
forces users to patch the SDK in order to use custom,
vendor-specific clusters.

Add EXTERNAL_CLUSTERS argument to chip_configure_data_model()
CMake function that takes a list of external cluster names
for which the default implementation should not included nor
required.

Usage example:
chip_configure_data_model(app
    INCLUDE_SERVER
    ZAP_FILE lock-app.zap
    EXTERNAL_CLUSTERS BASIC_INFORMATION_CLUSTER MY_CUSTOM_CLUSTER
)

Replace the existing zap_clusters_with_custom_implementation
argument of chip_data_model() GN template with new one:
external_clusters. The previous argument took a list of
cluster implementation directories to be skipped, so it was
only useful for bypassing the default implementations, but
could not be used for custom, vendor-specific clusters.
The new argument addresses both scenarios.

Usage example:
chip_data_model("lock-common") {
  zap_file = "lock-app.zap"
  ...
  external_clusters = [
    "BASIC_INFORMATION_CLUSTER",
    "MY_CUSTOM_CLUSTER",
  ]
}