summaryrefslogtreecommitdiffstats
path: root/chromium/tools/deps2git/deps_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/tools/deps2git/deps_utils.py')
-rw-r--r--chromium/tools/deps2git/deps_utils.py135
1 files changed, 0 insertions, 135 deletions
diff --git a/chromium/tools/deps2git/deps_utils.py b/chromium/tools/deps2git/deps_utils.py
deleted file mode 100644
index e103e13d677..00000000000
--- a/chromium/tools/deps2git/deps_utils.py
+++ /dev/null
@@ -1,135 +0,0 @@
-#!/usr/bin/python
-# Copyright (c) 2012 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.
-
-"""Utilities for formatting and writing DEPS files."""
-
-import re
-import sys
-
-# Used by Varify() to automatically convert variable names tagged with this
-# prefix into Var('<variable name>').
-VARIFY_MARKER_TAG_PREFIX = 'VARIFY_MARKER_TAG_'
-
-
-class VarImpl(object):
- """Implement the Var function used within the DEPS file."""
-
- def __init__(self, local_scope):
- self._local_scope = local_scope
-
- def Lookup(self, var_name):
- """Implements the Var syntax."""
- if var_name in self._local_scope.get('vars', {}):
- return self._local_scope['vars'][var_name]
- raise Exception('Var is not defined: %s' % var_name)
-
-
-def GetDepsContent(deps_path):
- """Read a DEPS file and return all the sections."""
- deps_file = open(deps_path, 'rU')
- content = deps_file.read()
- local_scope = {}
- var = VarImpl(local_scope)
- global_scope = {
- 'Var': var.Lookup,
- 'deps': {},
- 'deps_os': {},
- 'include_rules': [],
- 'skip_child_includes': [],
- 'hooks': [],
- }
- exec(content, global_scope, local_scope)
- local_scope.setdefault('deps', {})
- local_scope.setdefault('deps_os', {})
- local_scope.setdefault('include_rules', [])
- local_scope.setdefault('skip_child_includes', [])
- local_scope.setdefault('hooks', [])
- local_scope.setdefault('vars', {})
-
- return (local_scope['deps'], local_scope['deps_os'],
- local_scope['include_rules'], local_scope['skip_child_includes'],
- local_scope['hooks'], local_scope['vars'])
-
-
-def PrettyDeps(deps, indent=0):
- """Stringify a deps dictionary in a pretty way."""
- pretty = ' ' * indent
- pretty += '{\n'
-
- indent += 4
-
- for item in sorted(deps):
- if type(deps[item]) == dict:
- value = PrettyDeps(deps[item], indent)
- else:
- value = ' ' * (indent + 4)
- if deps[item] is None:
- value += str(deps[item])
- else:
- value += '\'%s\'' % str(deps[item])
- pretty += ' ' * indent
- pretty += '\'%s\':\n' % item
- pretty += '%s,\n' % value
-
- indent -= 4
- pretty += ' ' * indent
- pretty += '}'
- return pretty
-
-
-def PrettyObj(obj):
- """Stringify an object in a pretty way."""
- pretty = str(obj).replace('{', '{\n ')
- pretty = pretty.replace('}', '\n}')
- pretty = pretty.replace('[', '[\n ')
- pretty = pretty.replace(']', '\n]')
- pretty = pretty.replace('\':', '\':\n ')
- pretty = pretty.replace(', ', ',\n ')
- return pretty
-
-
-def Varify(deps):
- """Replace all instances of our git server with a git_url var."""
- deps = deps.replace(
- '\'https://chromium.googlesource.com/chromium/blink.git',
- 'Var(\'webkit_url\')')
- deps = deps.replace(
- '\'https://chromium.googlesource.com', 'Var(\'git_url\') + \'')
- deps = deps.replace(
- '\'https://git.chromium.org', 'Var(\'git_url\') + \'')
- deps = deps.replace('VAR_WEBKIT_REV\'', ' + Var(\'webkit_rev\')')
-
- # Try to replace all instances of form "marker_prefix_<name>'" with
- # "' + Var('<name>')". If there are no matches, nothing is done.
- deps = re.sub(VARIFY_MARKER_TAG_PREFIX + '_(\w+)\'',
- lambda match: '\' + Var(\'%s\')' % match.group(1), deps)
- return deps
-
-
-def WriteDeps(deps_file_name, deps_vars, deps, deps_os, include_rules,
- skip_child_includes, hooks):
- """Given all the sections in a DEPS file, write it to disk."""
- new_deps = ('# DO NOT EDIT EXCEPT FOR LOCAL TESTING.\n'
- '# THIS IS A GENERATED FILE.\n',
- '# ALL MANUAL CHANGES WILL BE OVERWRITTEN.\n',
- '# SEE http://code.google.com/p/chromium/wiki/UsingGit\n',
- '# FOR HOW TO ROLL DEPS\n'
- 'vars = %s\n\n' % PrettyObj(deps_vars),
- 'deps = %s\n\n' % Varify(PrettyDeps(deps)),
- 'deps_os = %s\n\n' % Varify(PrettyDeps(deps_os)),
- 'include_rules = %s\n\n' % PrettyObj(include_rules),
- 'skip_child_includes = %s\n\n' % PrettyObj(skip_child_includes),
- 'hooks = %s\n' % PrettyObj(hooks))
- new_deps = ''.join(new_deps)
- if deps_file_name:
- deps_file = open(deps_file_name, 'wb')
- else:
- deps_file = sys.stdout
-
- try:
- deps_file.write(new_deps)
- finally:
- if deps_file_name:
- deps_file.close()