diff --git a/chromium_src/python_modules/buildtools/__init__.py b/chromium_src/python_modules/buildtools/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/chromium_src/python_modules/buildtools/checkdeps/__init__.py b/chromium_src/python_modules/buildtools/checkdeps/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/chromium_src/python_modules/buildtools/checkdeps/brave_builddeps.py b/chromium_src/python_modules/buildtools/checkdeps/brave_builddeps.py new file mode 100644 index 00000000000..053d8b4f339 --- /dev/null +++ b/chromium_src/python_modules/buildtools/checkdeps/brave_builddeps.py @@ -0,0 +1,37 @@ +# Copyright (c) 2021 The Brave Authors. All rights reserved. +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at http://mozilla.org/MPL/2.0/. +"""Modifies DEPS checker to support `brave/chromium_src` overrides.""" + +import posixpath + +from builddeps import DepsBuilder, NormalizePath + + +class BraveDepsBuilder(DepsBuilder): + def _ApplyDirectoryRules(self, existing_rules, dir_path_local_abs): + directory_rules, excluded_subdirs = super(DepsBuilder, + self)._ApplyDirectoryRules( + existing_rules, + dir_path_local_abs) + + dir_path_norm = NormalizePath(dir_path_local_abs) + if '/brave/chromium_src' in dir_path_norm: + # Append rules from the original `src/...` dir. + root_src_dir_path_norm = dir_path_norm.replace('/brave/chromium_src', '', + 1) + directory_rules, _ = super(DepsBuilder, self)._ApplyDirectoryRules( + existing_rules, dir_path_local_abs) + + # Add `+src/...` rule. + root_src_relative_dir = 'src/' + posixpath.relpath( + root_src_dir_path_norm, NormalizePath(self.base_directory)) + directory_rules.AddRule('+' + root_src_relative_dir, + root_src_relative_dir, + 'Src rule for ' + root_src_relative_dir) + + return directory_rules, excluded_subdirs + + +DepsBuilder = BraveDepsBuilder diff --git a/patches/buildtools-checkdeps-checkdeps.py.patch b/patches/buildtools-checkdeps-checkdeps.py.patch new file mode 100644 index 00000000000..c2a1d3c9588 --- /dev/null +++ b/patches/buildtools-checkdeps-checkdeps.py.patch @@ -0,0 +1,13 @@ +diff --git a/buildtools/checkdeps/checkdeps.py b/buildtools/checkdeps/checkdeps.py +index 1019914aac41e9f3a029053bb70a8f5137224734..ddb3575be43eb2b679a133b136a7dc5062942c17 100755 +--- a/buildtools/checkdeps/checkdeps.py ++++ b/buildtools/checkdeps/checkdeps.py +@@ -24,7 +24,7 @@ import cpp_checker + import java_checker + import results + +-from builddeps import DepsBuilder ++from buildtools.checkdeps.brave_builddeps import DepsBuilder + from rules import Rule, Rules + +