blob: 359f50e89d4159eccd7f2db536690716cae865a3 [file] [log] [blame]
# Copyright (c) 2022 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("//build_overrides/build.gni")
import("//build_overrides/chip.gni")
import("//build_overrides/pigweed.gni")
import("$dir_pw_build/python.gni")
pw_python_package("idl") {
setup = [ "setup.py" ]
inputs = [
# Dependency grammar
"matter_grammar.lark",
# Templates used for generation
"generators/bridge/BridgeClustersCpp.jinja",
"generators/bridge/BridgeClustersCommon.jinja",
"generators/bridge/BridgeClustersGlobalStructs.jinja",
"generators/java/ChipClustersCpp.jinja",
"generators/java/ChipClustersRead.jinja",
"generators/cpp/application/PluginApplicationCallbacksHeader.jinja",
# Unit test data
"tests/available_tests.yaml",
"tests/inputs/cluster_struct_attribute.matter",
"tests/inputs/global_struct_attribute.matter",
"tests/inputs/optional_argument.matter",
"tests/inputs/several_clusters.matter",
"tests/inputs/simple_attribute.matter",
"tests/outputs/cluster_struct_attribute/bridge/BridgeClustersImpl.h",
"tests/outputs/cluster_struct_attribute/bridge/BridgeGlobalStructs.h",
"tests/outputs/cluster_struct_attribute/bridge/DemoClusterServer.h",
"tests/outputs/cluster_struct_attribute/jni/DemoClusterClient-ReadImpl.cpp",
"tests/outputs/cluster_struct_attribute/jni/DemoClusterClient-InvokeSubscribeImpl.cpp",
"tests/outputs/global_struct_attribute/bridge/BridgeClustersImpl.h",
"tests/outputs/global_struct_attribute/bridge/BridgeGlobalStructs.h",
"tests/outputs/global_struct_attribute/bridge/DemoClusterServer.h",
"tests/outputs/global_struct_attribute/jni/DemoClusterClient-ReadImpl.cpp",
"tests/outputs/global_struct_attribute/jni/DemoClusterClient-InvokeSubscribeImpl.cpp",
"tests/outputs/optional_argument/jni/MyClusterClient-ReadImpl.cpp",
"tests/outputs/optional_argument/jni/MyClusterClient-InvokeSubscribeImpl.cpp",
"tests/outputs/several_clusters/bridge/BridgeClustersImpl.h",
"tests/outputs/several_clusters/bridge/BridgeGlobalStructs.h",
"tests/outputs/several_clusters/bridge/FirstServer.h",
"tests/outputs/several_clusters/bridge/SecondServer.h",
"tests/outputs/several_clusters/bridge/Third.h",
"tests/outputs/several_clusters/bridge/ThirdServer.h",
"tests/outputs/several_clusters/jni/FirstClient-ReadImpl.cpp",
"tests/outputs/several_clusters/jni/SecondClient-ReadImpl.cpp",
"tests/outputs/several_clusters/jni/ThirdClient-ReadImpl.cpp",
"tests/outputs/several_clusters/jni/FirstClient-InvokeSubscribeImpl.cpp",
"tests/outputs/several_clusters/jni/SecondClient-InvokeSubscribeImpl.cpp",
"tests/outputs/several_clusters/jni/ThirdClient-InvokeSubscribeImpl.cpp",
"tests/outputs/simple_attribute/bridge/BridgeClustersImpl.h",
"tests/outputs/simple_attribute/bridge/BridgeGlobalStructs.h",
"tests/outputs/simple_attribute/bridge/MyClusterServer.h",
"tests/outputs/simple_attribute/jni/MyClusterClient-ReadImpl.cpp",
"tests/outputs/simple_attribute/jni/MyClusterClient-InvokeSubscribeImpl.cpp",
]
sources = [
"__init__.py",
"generators/__init__.py",
"generators/bridge/__init__.py",
"generators/cpp/__init__.py",
"generators/cpp/application/__init__.py",
"generators/filters.py",
"generators/java/__init__.py",
"generators/types.py",
"matter_idl_parser.py",
"matter_idl_types.py",
"xml_parser.py",
"zapxml/__init__.py",
"zapxml/handlers/__init__.py",
"zapxml/handlers/base.py",
"zapxml/handlers/context.py",
"zapxml/handlers/handlers.py",
"zapxml/handlers/parsing.py",
]
tests = [
"test_matter_idl_parser.py",
"test_generators.py",
"test_xml_parser.py",
]
# TODO: at a future time consider enabling all (* or missing) here to get
# pylint checking these files
static_analysis = []
}