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 26 27 28 29 30 31 32 33 34 35
|
# 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
|