# Only used for PyTorch open source BUCK build IGNORED_ATTRIBUTE_PREFIX = [ "apple", "fbobjc", "windows", "fbandroid", "macosx", ] IGNORED_ATTRIBUTES = [ "feature", "platforms", "contacts", ] # TODO (huydhn): PyTorch OSS is still built with old buck not buck2, and there # aren't available options https://buck.build/rule/cxx_library.html. This can # be removed when we migrate OSS to buck2 ONLY_AVAILABLE_IN_BUCK2 = [ "supports_shlib_interfaces", ] def filter_attributes(kwgs): keys = list(kwgs.keys()) # drop unncessary attributes for key in keys: if key in IGNORED_ATTRIBUTES or key in ONLY_AVAILABLE_IN_BUCK2: kwgs.pop(key) else: for invalid_prefix in IGNORED_ATTRIBUTE_PREFIX: if key.startswith(invalid_prefix): kwgs.pop(key) return kwgs