def _SetNode(self, key, value, node): self.data[key] = (value, node) def _NodeDictSchema(dict_schema): """Validate dict_schema after converting _NodeDict to a regular dict.""" def validate(d): schema.Schema(dict_schema).validate(dict(d)) return True return validate # See https://github.com/keleshev/schema for docs how to configure schema. _GCLIENT_DEPS_SCHEMA = _NodeDictSchema({ schema.Optional(basestring): schema.Or( None, basestring, _NodeDictSchema({ # Repo and revision to check out under the path # (same as if no dict was used). 'url': basestring, # Optional condition string. The dep will only be processed # if the condition evaluates to True. schema.Optional('condition'): basestring, schema.Optional('dep_type', default='git'): basestring,
# Copyright 2017 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import ast import collections from third_party import schema # See https://github.com/keleshev/schema for docs how to configure schema. _GCLIENT_DEPS_SCHEMA = { schema.Optional(basestring): schema.Or( None, basestring, { # Repo and revision to check out under the path # (same as if no dict was used). 'url': basestring, # Optional condition string. The dep will only be processed # if the condition evaluates to True. schema.Optional('condition'): basestring, }, ), } _GCLIENT_HOOKS_SCHEMA = [{ # Hook action: list of command-line arguments to invoke. 'action': [basestring],
# Copyright 2017 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import ast from third_party import schema # See https://github.com/keleshev/schema for docs how to configure schema. _GCLIENT_HOOKS_SCHEMA = [{ # Hook action: list of command-line arguments to invoke. 'action': [basestring], # Name of the hook. Doesn't affect operation. schema.Optional('name'): basestring, # Hook pattern (regex). Originally intended to limit some hooks to run # only when files matching the pattern have changed. In practice, with git, # gclient runs all the hooks regardless of this field. schema.Optional('pattern'): basestring, }] _GCLIENT_SCHEMA = schema.Schema({ # List of host names from which dependencies are allowed (whitelist). # NOTE: when not present, all hosts are allowed. # NOTE: scoped to current DEPS file, not recursive. schema.Optional('allowed_hosts'): [basestring], # Mapping from paths to repo and revision to check out under that path.