load("@poetry//:dependencies.bzl", "dependency") py_binary( name = "codeowners", srcs = [ "codeowners_generate.py", "parsers/owners_v1.py", "parsers/owners_v2.py", "validate_codeowners.py", "//utils:evergreen_git.py", ], data = [ "@codeowners_binary//:codeowners", "@codeowners_validator//:codeowners-validator", ], env = { "CODEOWNERS_VALIDATOR_PATH": "$(rootpath @codeowners_validator//:codeowners-validator)", "CODEOWNERS_BINARY_PATH": "$(rootpath @codeowners_binary//:codeowners)", } | select({ ":add_auto_approve_user": { "ADD_AUTO_APPROVE_USER": "true", }, "//conditions:default": {}, }) | select({ ":dont_check_new_files": { "CODEOWNERS_CHECK_NEW_FILES": "false", }, "//conditions:default": {}, }) | select({ ":have_allowed_unowned_files": { "ALLOWED_UNOWNED_FILES_PATH": "$(codeowners_allowed_unowned_files_path)", }, "//conditions:default": {}, }) | select({ ":have_default_owner": { "CODEOWNERS_DEFAULT_OWNER": "$(codeowners_default_owner)", }, "//conditions:default": {}, }), main = "codeowners_generate.py", visibility = ["//visibility:public"], deps = [ dependency( "pyyaml", ), dependency( "gitpython", ), ], ) config_setting( name = "add_auto_approve_user", define_values = { "codeowners_add_auto_approve_user": "True", }, ) config_setting( name = "dont_check_new_files", define_values = { "codeowners_dont_check_new_files": "True", }, ) config_setting( name = "have_allowed_unowned_files", define_values = { "codeowners_have_allowed_unowned_files": "True", }, ) config_setting( name = "have_default_owner", define_values = { "codeowners_have_default_owner": "True", }, )