Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(683)

Unified Diff: android_webview/buildbot/deps_whitelist.py

Issue 1071873003: Delete webview buildbot files. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « android_webview/buildbot/aosp_manifest.xml ('k') | android_webview/buildbot/generate_local_manifest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: android_webview/buildbot/deps_whitelist.py
diff --git a/android_webview/buildbot/deps_whitelist.py b/android_webview/buildbot/deps_whitelist.py
deleted file mode 100755
index 398148f890852a7a1a78c5466f032096ec60423a..0000000000000000000000000000000000000000
--- a/android_webview/buildbot/deps_whitelist.py
+++ /dev/null
@@ -1,251 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2013 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.
-#
-"""Logic to generate lists of DEPS used by various parts of
-the android_webview continuous integration (buildbot) infrastructure.
-
-Note: The root Chromium project (which is not explicitly listed here)
-has a couple of third_party libraries checked in directly into it. This means
-that the list of third parties present in this file is not a comprehensive
-list of third party android_webview dependencies.
-"""
-
-import argparse
-import json
-import logging
-import os
-import sys
-
-# Add android_webview/tools to path to get at known_issues.
-sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'tools'))
-import known_issues
-
-
-class DepsWhitelist(object):
- def __init__(self):
- # If a new DEPS entry is needed for the AOSP bot to compile please add it
- # here first.
- # This is a staging area for deps that are accepted by the android_webview
- # team and are in the process of having the required branches being created
- # in the Android tree.
- self._compile_but_not_snapshot_dependencies = [
- ]
-
- # Dependencies that need to be merged into the Android tree.
- self._snapshot_into_android_dependencies = [
- 'sdch/open-vcdiff',
- 'testing/gtest',
- 'third_party/WebKit',
- 'third_party/angle',
- 'third_party/boringssl/src',
- 'third_party/brotli/src',
- ('third_party/eyesfree/src/android/java/src/com/googlecode/eyesfree/'
- 'braille'),
- 'third_party/freetype',
- 'third_party/icu',
- 'third_party/leveldatabase/src',
- 'third_party/libaddressinput/src',
- 'third_party/libjingle/source/talk',
- 'third_party/libjpeg_turbo',
- 'third_party/libphonenumber/src/phonenumbers',
- 'third_party/libphonenumber/src/resources',
- 'third_party/libsrtp',
- 'third_party/libvpx',
- 'third_party/libyuv',
- 'third_party/mesa/src',
- 'third_party/openmax_dl',
- 'third_party/opus/src',
- 'third_party/ots',
- 'third_party/sfntly/cpp/src',
- 'third_party/skia',
- 'third_party/smhasher/src',
- 'third_party/snappy/src',
- 'third_party/usrsctp/usrsctplib',
- 'third_party/webrtc',
- 'third_party/yasm/source/patched-yasm',
- 'tools/grit',
- 'tools/gyp',
- 'v8',
- ]
-
- # We can save some time by not rsyncing code we don't use.
- self._prune_from_rsync_build = [
- 'third_party/WebKit/LayoutTests',
- ]
-
- # Dependencies required to build android_webview.
- self._compile_dependencies = (self._snapshot_into_android_dependencies +
- self._compile_but_not_snapshot_dependencies)
-
- # Dependencies required to run android_webview tests but not required to
- # compile.
- self._test_data_dependencies = [
- 'chrome/test/data/perf/third_party/octane',
- ]
-
- @staticmethod
- def _read_deps_file(deps_file_path):
- class FileImplStub(object):
- """Stub for the File syntax."""
- def __init__(self, file_location):
- pass
-
- @staticmethod
- def GetPath():
- return ''
-
- @staticmethod
- def GetFilename():
- return ''
-
- @staticmethod
- def GetRevision():
- return None
-
- def from_stub(__, _=None):
- """Stub for the From syntax."""
- return ''
-
- class VarImpl(object):
- def __init__(self, custom_vars, local_scope):
- self._custom_vars = custom_vars
- self._local_scope = local_scope
-
- def Lookup(self, var_name):
- """Implements the Var syntax."""
- if var_name in self._custom_vars:
- return self._custom_vars[var_name]
- elif var_name in self._local_scope.get("vars", {}):
- return self._local_scope["vars"][var_name]
- raise Exception("Var is not defined: %s" % var_name)
-
- local_scope = {}
- var = VarImpl({}, local_scope)
- global_scope = {
- 'File': FileImplStub,
- 'From': from_stub,
- 'Var': var.Lookup,
- 'deps_os': {},
- }
- execfile(deps_file_path, global_scope, local_scope)
- deps = local_scope.get('deps', {})
- deps_os = local_scope.get('deps_os', {})
- for os_specific_deps in deps_os.itervalues():
- deps.update(os_specific_deps)
- return deps.keys()
-
- def _get_known_issues(self):
- issues = []
- for root, paths in known_issues.KNOWN_INCOMPATIBLE.items():
- for path in paths:
- issues.append(os.path.normpath(os.path.join(root, path)))
- return issues
-
- def _make_gclient_blacklist(self, deps_file_path, whitelisted_deps):
- """Calculates the list of deps that need to be excluded from the deps_file
- so that the only deps left are the one in the whitelist."""
- all_deps = self._read_deps_file(deps_file_path)
- # The list of deps read from the DEPS file are prefixed with the source
- # tree root, which is 'src' for Chromium.
- def prepend_root(path):
- return os.path.join('src', path)
- whitelisted_deps = map(prepend_root, whitelisted_deps)
- deps_blacklist = set(all_deps).difference(set(whitelisted_deps))
- return dict(map(lambda(x): (x, None), deps_blacklist))
-
- def _make_blacklist(self, deps_file_path, whitelisted_deps):
- """Calculates the list of paths we should exclude """
- all_deps = self._read_deps_file(deps_file_path)
- def remove_src_prefix(path):
- return path.replace('src/', '', 1)
- all_deps = map(remove_src_prefix, all_deps)
- # Ignore all deps except those whitelisted.
- blacklist = set(all_deps).difference(whitelisted_deps)
- # Ignore the 'known issues'. Typically these are the licence incompatible
- # things checked directly into Chromium.
- blacklist = blacklist.union(self._get_known_issues())
- # Ignore any other non-deps, non-licence paths we don't like.
- blacklist = blacklist.union(self._prune_from_rsync_build)
- return list(blacklist)
-
- def get_deps_for_android_build(self, deps_file_path):
- """This is used to calculate the custom_deps list for the Android bot.
- """
- if not deps_file_path:
- raise Exception('You need to specify a DEPS file path.')
- return self._make_gclient_blacklist(deps_file_path,
- self._compile_dependencies)
-
- def get_deps_for_android_build_and_test(self, deps_file_path):
- """This is used to calculate the custom_deps list for the Android perf bot.
- """
- if not deps_file_path:
- raise Exception('You need to specify a DEPS file path.')
- return self._make_gclient_blacklist(deps_file_path,
- self._compile_dependencies +
- self._test_data_dependencies)
-
- def get_blacklist_for_android_rsync_build(self, deps_file_path):
- """Calculates the list of paths we should exclude when building Android
- either because of license compatibility or because they are large and
- uneeded.
- """
- if not deps_file_path:
- raise Exception('You need to specify a DEPS file path.')
- return self._make_blacklist(deps_file_path, self._compile_dependencies)
-
- def get_deps_for_android_merge(self, _):
- """Calculates the list of deps that need to be merged into the Android tree
- in order to build the C++ and Java android_webview code."""
- return self._snapshot_into_android_dependencies
-
- def get_deps_for_license_check(self, _):
- """Calculates the list of deps that need to be checked for Android license
- compatibility"""
- return self._compile_dependencies
-
-
- def execute_method(self, method_name, deps_file_path):
- methods = {
- 'android_build': self.get_deps_for_android_build,
- 'android_build_and_test':
- self.get_deps_for_android_build_and_test,
- 'android_merge': self.get_deps_for_android_merge,
- 'license_check': self.get_deps_for_license_check,
- 'android_rsync_build': self.get_blacklist_for_android_rsync_build,
- }
- if not method_name in methods:
- raise Exception('Method name %s is not valid. Valid choices are %s' %
- (method_name, methods.keys()))
- return methods[method_name](deps_file_path)
-
-def main():
- parser = argparse.ArgumentParser()
- parser.add_argument('--method', help='Method to use to fetch from whitelist.',
- required=True)
- parser.add_argument('--path-to-deps', help='Path to DEPS file.')
- parser.add_argument('--output-json', help='Name of file to write output to.')
- parser.add_argument('verbose', action='store_true', default=False)
- opts = parser.parse_args()
-
- logging.getLogger().setLevel(logging.DEBUG if opts.verbose else logging.WARN)
-
- deps_whitelist = DepsWhitelist()
- blacklist = deps_whitelist.execute_method(opts.method, opts.path_to_deps)
-
- if (opts.output_json):
- output_dict = {
- 'blacklist' : blacklist
- }
- with open(opts.output_json, 'w') as output_json_file:
- json.dump(output_dict, output_json_file)
- else:
- print blacklist
-
- return 0
-
-
-if __name__ == '__main__':
- sys.exit(main())
« no previous file with comments | « android_webview/buildbot/aosp_manifest.xml ('k') | android_webview/buildbot/generate_local_manifest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698