Skip to content

Commit 1f541eb

Browse files
committed
Rework matter-devices.xml handling based on feedback from SDK group
1 parent 7d57cf1 commit 1f541eb

File tree

5 files changed

+547
-333
lines changed

5 files changed

+547
-333
lines changed

cmd/zap/cmd.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ func zapTemplates(cmd *cobra.Command, args []string) (err error) {
128128

129129
var patchedDeviceTypes pipeline.Map[string, *pipeline.Data[[]byte]]
130130
if deviceTypes.Size() > 0 {
131-
deviceTypePatcher := generate.NewDeviceTypesPatcher(sdkRoot, specBuilder.Spec, clusterAliases)
131+
deviceTypePatcher := generate.NewDeviceTypesPatcher(sdkRoot, specBuilder.Spec, clusterAliases, generate.DeviceTypePatcherGenerateFeatureXML(featureXML))
132132
patchedDeviceTypes, err = pipeline.Process[[]*matter.DeviceType, []byte](cxt, pipelineOptions, deviceTypePatcher, deviceTypes)
133133
if err != nil {
134134
return err

zap/generate/cluster.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,7 @@ func (tg *TemplateGenerator) populateCluster(configurator *zap.Configurator, cle
123123
commands[c] = []*matter.Number{}
124124
}
125125

126-
de := xml.SetOrCreateSimpleElement(cle, "domain", "")
127-
de.CreateAttr("name", matter.DomainNames[configurator.Doc.Domain])
128-
de.SetText("")
126+
xml.SetOrCreateSimpleElement(cle, "domain", matter.DomainNames[configurator.Doc.Domain])
129127
clusterName := cluster.Name
130128
if errata.ClusterName != "" {
131129
clusterName = errata.ClusterName

zap/generate/conformance.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ import (
99

1010
func renderConformance(doc *spec.Doc, identifierStore conformance.IdentifierStore, c conformance.Conformance, parent *etree.Element) error {
1111
removeConformance(parent)
12+
if conformance.IsMandatory(c) {
13+
return nil
14+
}
1215
return dm.RenderConformanceElement(doc, identifierStore, c, parent)
1316
}
1417

@@ -18,7 +21,7 @@ func removeConformance(parent *etree.Element) {
1821
switch child := child.(type) {
1922
case *etree.Element:
2023
switch child.Tag {
21-
case "mandatoryConform", "optionalConform", "disableConform", "provisionalConform", "deprecateConform", "otherwiseConform":
24+
case "mandatoryConform", "optionalConform", "disableConform", "disallowConform", "provisionalConform", "deprecateConform", "otherwiseConform":
2225
trash = append(trash, child)
2326
}
2427
}

0 commit comments

Comments
 (0)