def _cond(key): return cfgv.Conditional( key, cfgv.check_string, condition_key='repo', condition_value=cfgv.NotIn(_LOCAL_SENTINEL, _META_SENTINEL), ensure_absent=True, )
def _cond(key: str) -> cfgv.Conditional: return cfgv.Conditional( key, cfgv.check_string, condition_key='repo', condition_value=cfgv.NotIn(LOCAL, META), ensure_absent=True, )
# are optional. # No defaults are provided here as the config is merged on top of the # manifest. *[ cfgv.OptionalNoDefault(item.key, item.check_fn) for item in MANIFEST_HOOK_DICT.items if item.key != 'id' ]) CONFIG_REPO_DICT = cfgv.Map( 'Repository', 'repo', cfgv.Required('repo', cfgv.check_string), cfgv.ConditionalRecurse( 'hooks', cfgv.Array(CONFIG_HOOK_DICT), 'repo', cfgv.NotIn(LOCAL, META), ), cfgv.ConditionalRecurse( 'hooks', cfgv.Array(MANIFEST_HOOK_DICT), 'repo', LOCAL, ), cfgv.ConditionalRecurse( 'hooks', cfgv.Array(META_HOOK_DICT), 'repo', META, ), MigrateShaToRev(), cfgv.WarnAdditionalKeys(('repo', 'rev', 'hooks'), warn_unknown_keys_repo),
*( cfgv.OptionalNoDefault(item.key, item.check_fn) for item in MANIFEST_HOOK_DICT.items if item.key != 'id' ), OptionalSensibleRegexAtHook('files', cfgv.check_string), OptionalSensibleRegexAtHook('exclude', cfgv.check_string), ) CONFIG_REPO_DICT = cfgv.Map( 'Repository', 'repo', cfgv.Required('repo', cfgv.check_string), cfgv.ConditionalRecurse( 'hooks', cfgv.Array(CONFIG_HOOK_DICT), 'repo', cfgv.NotIn(LOCAL, META), ), cfgv.ConditionalRecurse( 'hooks', cfgv.Array(MANIFEST_HOOK_DICT), 'repo', LOCAL, ), cfgv.ConditionalRecurse( 'hooks', cfgv.Array(META_HOOK_DICT), 'repo', META, ), MigrateShaToRev(), WarnMutableRev( 'rev', cfgv.check_string, '',
*[ cfgv.OptionalNoDefault(item.key, item.check_fn) for item in MANIFEST_HOOK_DICT.items if item.key != 'id' ] ) CONFIG_REPO_DICT = cfgv.Map( 'Repository', 'repo', cfgv.Required('repo', cfgv.check_string), cfgv.RequiredRecurse('hooks', cfgv.Array(CONFIG_HOOK_DICT)), cfgv.Conditional( 'sha', cfgv.check_string, condition_key='repo', condition_value=cfgv.NotIn(_LOCAL_SENTINEL, _META_SENTINEL), ensure_absent=True, ), ) CONFIG_SCHEMA = cfgv.Map( 'Config', None, cfgv.RequiredRecurse('repos', cfgv.Array(CONFIG_REPO_DICT)), cfgv.Optional('exclude', cfgv.check_regex, '^$'), cfgv.Optional('fail_fast', cfgv.check_bool, False), ) def is_local_repo(repo_entry): return repo_entry['repo'] == _LOCAL_SENTINEL
# All keys in manifest hook dict are valid in a config hook dict, but # are optional. # No defaults are provided here as the config is merged on top of the # manifest. *( cfgv.OptionalNoDefault(item.key, item.check_fn) for item in MANIFEST_HOOK_DICT.items if item.key != "id" ), ) CONFIG_REPO_DICT = cfgv.Map( "Repository", "repo", cfgv.Required("repo", cfgv.check_string), cfgv.ConditionalRecurse( "hooks", cfgv.Array(CONFIG_HOOK_DICT), "repo", cfgv.NotIn(LOCAL, META), ), cfgv.ConditionalRecurse("hooks", cfgv.Array(MANIFEST_HOOK_DICT), "repo", LOCAL,), cfgv.ConditionalRecurse("hooks", cfgv.Array(META_HOOK_DICT), "repo", META,), MigrateShaToRev(), cfgv.WarnAdditionalKeys(("repo", "rev", "hooks"), warn_unknown_keys_repo), ) DEFAULT_LANGUAGE_VERSION = cfgv.Map( "DefaultLanguageVersion", None, cfgv.NoAdditionalKeys(all_languages), *(cfgv.Optional(x, cfgv.check_string, C.DEFAULT) for x in all_languages), ) CONFIG_SCHEMA = cfgv.Map( "Config", None,