Commit c5a1457c authored by Brandon Wylie's avatar Brandon Wylie Committed by Commit Bot

Restrict dependencies on ChromeActivity through DEPS and add exceptions

This CL will enforce DEPS restrictions for any class trying to depend on
ChromeActivity. Valid dependencies should add their own DEPS file to the
relevant directory. Other cases should seek other means of dependency
acquisition.

Bug: 1055811
Change-Id: Iba5e0514743c3f887cdf645106cca2d747b524cd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2349413
Commit-Queue: Brandon Wylie <wylieb@chromium.org>
Reviewed-by: default avatarDavid Trainor <dtrainor@chromium.org>
Cr-Commit-Position: refs/heads/master@{#802485}
parent aed36984
include_rules = [
# Restricting uses of ChromeActivity in favor of direct dependency aquisition. Code that lives
# under java/src/.../chrome/browser has a seperate exception under that same directory.
# Exceptions can be found under "specific_include_rules" below. Valid ChromeActivity dependents
# should add an allow rule to a DEPS file in the relevant directory.
"-chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
"+chrome/browser/browser_controls/android",
"+chrome/browser/enterprise",
"+chrome/browser/feedback/android",
......@@ -65,4 +71,105 @@ specific_include_rules = {
"chrome/android/java/src/org/chromium/chrome/browser/AppHooks.java": [
"+chrome/browser/xsurface/android",
],
}
# Tests and test-oriented classes are allowed to rely on ChromeActivity for DEPS. When committing
# a file that doesn't conform to these patterns, add an allow rule to the DEPS file to the
# testing directory.
".*Test\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
".*TestRule\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
# Exceptions to the ChromeActivity dependency restriction. These will all eventually be removed
# new code should rely on acceptable dependency aquisition patterns. These are sorted by package,
# but the package to work with the filename matching done by checkdeps.
"AssistantCoordinator\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"AssistantRootViewContainer\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"AutofillAssistantUiController\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"FeedbackContext\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"AutofillAssistantFacade\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"AutofillKeyboardAccessoryViewBridge\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"ManualFillingComponentBridge\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"ManualFillingMediator\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"ExploreSurfaceCoordinator\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"ExploreSurfaceCoordinator\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"StartSurfaceCoordinator\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"StartSurfaceDelegate\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"MostVisitedListCoordinator\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"SingleTabSwitcherCoordinator\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"TasksSurfaceCoordinator\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"TabGroupPopupUi\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"TabGroupPopupUiCoordinator\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"TabGroupUi\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"TabGroupUiCoordinator\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"TabListCoordinator\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"TabManagementDelegate\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"TabManagementDelegateImpl\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"VrDelegate\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"VrDelegateFallback\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"VrDelegateImpl\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"VrShell\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"VrShellDelegate\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"VrWindowAndroid\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"FeedSurfaceCoordinator\.java": [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
}
\ No newline at end of file
include_rules = [
"+components/browser_ui/widget/android",
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
"+chrome/browser/password_manager/android_test_helpers",
"-content/public/android",
"+content/public/android/java/src/org/chromium/content_public/browser",
......
include_rules = [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
# To observer web contents swaps on the tab.
"+chrome/browser/tab/java/src/org/chromium/chrome/browser/tab",
]
include_rules = [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
"+components/browser_ui/styles/android",
"+content/public/android/java/src/org/chromium/content_public/browser"
]
This diff is collapsed.
include_rules = [
"+chrome/app",
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
"+chrome/browser/android/lifecycle",
"+chrome/browser/image_fetcher",
"+chrome/browser/password_check/android",
......
include_rules = [
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
"!clank/java/src/org/chromium/chrome/browser/AppHooksImpl.java",
"+chrome/browser/android/lifecycle",
"+chrome/browser/image_fetcher",
......
......@@ -2,6 +2,12 @@ include_rules = [
"+apps",
"+cc/paint",
"+cc/test",
# Restricting uses of ChromeActivity in favor of direct dependency aquisition. Code that lives
# under java/src/.../chrome/browser has a seperate exception under that same directory.
# Exceptions can be found under "specific_include_rules" below.
"-chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
"+chrome/android/native_j_unittests_jni_headers",
"+chrome/android/chrome_jni_headers",
"+chrome/android/features/autofill_assistant/jni_headers",
......@@ -457,6 +463,7 @@ specific_include_rules = {
'.*Test\.java': [
# Android instrumentation tests depend on the whole app.
"+chrome/android",
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
],
"platform_util_linux.cc": [
# The following is used to call the org.freedesktop.FileManager1
......
......@@ -3,6 +3,7 @@ include_rules = [
# rely on components.
"+ash",
"+chrome",
"+chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActivity.java",
"+chrome/grit",
"+chromeos",
"+components/autofill/content",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment