Index: net/data/update_net_gypi.py |
diff --git a/net/data/update_net_gypi.py b/net/data/update_net_gypi.py |
deleted file mode 100644 |
index 266fa0cef6f90a1bcaf36847efabfac374157699..0000000000000000000000000000000000000000 |
--- a/net/data/update_net_gypi.py |
+++ /dev/null |
@@ -1,142 +0,0 @@ |
-# Copyright 2016 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 os |
-import re |
-import StringIO |
-import sys |
- |
- |
-VARIABLE_PATTERN = re.compile("^(?P<indentation>\s*)'(?P<name>[^']*)':\s*\[$") |
-EXCLUSION_PATTERN = re.compile("^(?:README|OWNERS|.*\.(pyc?|sh|swp)|.*~)$") |
- |
-DATA_SOURCES_PATH_FOR_VARIABLES = { |
- "net_test_support_data_sources": [ |
- "net/data/ssl/certificates", |
- ], |
- "net_unittests_data_sources": [ |
- "net/data/cert_issuer_source_aia_unittest", |
- "net/data/cert_issuer_source_static_unittest", |
- "net/data/certificate_policies_unittest", |
- "net/data/filter_unittests", |
- "net/data/name_constraints_unittest", |
- "net/data/parse_certificate_unittest", |
- "net/data/parse_ocsp_unittest", |
- "net/data/test.html", |
- "net/data/url_request_unittest", |
- "net/data/verify_certificate_chain_unittest", |
- "net/data/verify_name_match_unittest/names", |
- "net/data/verify_signed_data_unittest", |
- "net/third_party/nist-pkits/certs", |
- "net/third_party/nist-pkits/crls", |
- ], |
-} |
- |
- |
-def list_data_sources(root, paths, exclusion): |
- """Returns the list of data source found in |paths|. |
- |
- Args: |
- root: string, path to the repository root |
- paths: list of string, paths relative to repository root |
- exclusion: compiled regular expression, filename matching this pattern |
- will be excluded from the result |
- """ |
- data_sources = [] |
- for path in paths: |
- fullpath = os.path.normpath(os.path.join(root, path)) |
- if os.path.isfile(fullpath): |
- if not exclusion.match(os.path.basename(path)): |
- data_sources.append(path) |
- continue |
- |
- for dirpath, dirnames, filenames in os.walk(fullpath): |
- for filename in filenames: |
- if not exclusion.match(filename): |
- data_sources.append(os.path.normpath(os.path.join(dirpath, filename))) |
- return data_sources |
- |
- |
-def format_data_sources(name, dir, data_sources, indentation): |
- """Converts |data_sources| to a gyp variable assignment. |
- |
- Args: |
- name: string, name of the variable |
- dir: string, path to the directory containing the gyp file |
- data_sources: list of filenames |
- indentation: string |
- """ |
- buffer = StringIO.StringIO() |
- buffer.write("%s'%s': [\n" % (indentation, name)) |
- for data_source in sorted(data_sources): |
- buffer.write(" %s'%s',\n" % ( |
- indentation, os.path.relpath(data_source, dir))) |
- buffer.write("%s],\n" % (indentation,)) |
- return buffer.getvalue() |
- |
- |
-def save_file_if_changed(path, content): |
- """Writes |content| to file at |path| if file has changed. |
- |
- Args: |
- path: string, path of the file to save |
- content: string, content to write to file |
- """ |
- with open(path, "r") as file: |
- old_content = file.read() |
- if content != old_content: |
- with open(path, "w") as file: |
- file.write(content) |
- sys.stdout.write("updated %s, do not forget to run 'git add'\n" % (path,)) |
- |
- |
-def edit_file(path, root, data_sources_for_variables): |
- """Updates file at |path| by rewriting variables values. |
- |
- Args: |
- path: string, path of the file to edit |
- root: string, path to the repository root |
- data_sources_for_variables: dictionary mapping variable names to |
- the list of data sources to use |
- """ |
- dir = os.path.relpath(os.path.dirname(path), root) |
- buffer = StringIO.StringIO() |
- with open(path, "r") as file: |
- indentation = "" |
- current_var = None |
- for line in file: |
- if not current_var: |
- match = VARIABLE_PATTERN.match(line) |
- if not match: |
- buffer.write(line) |
- continue |
- variable = match.group("name") |
- if variable not in data_sources_for_variables: |
- buffer.write(line) |
- continue |
- current_var = variable |
- indentation = match.group("indentation") |
- buffer.write(format_data_sources( |
- variable, dir, data_sources_for_variables[variable], indentation)) |
- else: |
- if line == indentation + "],\n": |
- current_var = None |
- save_file_if_changed(path, buffer.getvalue()) |
- |
- |
-def main(args): |
- root_dir = os.path.normpath(os.path.join( |
- os.path.dirname(__file__), os.pardir, os.pardir)) |
- net_gypi = os.path.normpath(os.path.join(root_dir, "net", "net.gypi")) |
- |
- data_sources_for_variables = {} |
- for variable in DATA_SOURCES_PATH_FOR_VARIABLES: |
- data_sources_for_variables[variable] = list_data_sources( |
- root_dir, DATA_SOURCES_PATH_FOR_VARIABLES[variable], EXCLUSION_PATTERN) |
- |
- edit_file(net_gypi, root_dir, data_sources_for_variables) |
- |
- |
-if __name__ == "__main__": |
- sys.exit(main(sys.argv[1:])) |