From e2cc3f8becb8f61c978293827b31085cf728baa1 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Thu, 10 Dec 2020 08:20:12 -0700 Subject: [PATCH] Additional per-file OWNERS for shared directories. Iteration based on areas of tree where detailed ownership was found to be missing during routine code reviews. Also add more detailed examples to OWNERS.md. Bug: 174932174 Exempt-From-Owner-Approval: refactoring with team leads buy-in Change-Id: I46ccef33b34594181ae8dc62973d68020f827d6b --- OWNERS | 2 +- OWNERS.md | 34 +++++++++++++++++++ core/java/android/app/OWNERS | 3 ++ core/java/android/os/OWNERS | 3 ++ core/java/android/telephony/OWNERS | 1 + core/java/com/android/internal/app/OWNERS | 1 + .../com/android/internal/notification/OWNERS | 1 + core/java/com/android/internal/os/OWNERS | 1 + .../com/android/internal/telephony/OWNERS | 1 + services/core/java/com/android/server/OWNERS | 2 +- .../src/com/android/server/OWNERS | 2 +- 11 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 core/java/android/telephony/OWNERS create mode 100644 core/java/com/android/internal/app/OWNERS create mode 100644 core/java/com/android/internal/notification/OWNERS create mode 100644 core/java/com/android/internal/telephony/OWNERS diff --git a/OWNERS b/OWNERS index 4f89f7dde6af..458ddd1c03bc 100644 --- a/OWNERS +++ b/OWNERS @@ -16,7 +16,7 @@ svetoslavganov@google.com yamasani@google.com # Support bulk translation updates -per-file */res*/values*/*.xml = byi@google.com +per-file */res*/values*/*.xml = byi@google.com, delphij@google.com per-file Android.bp = file:platform/build/soong:/OWNERS per-file Android.mk = file:platform/build/soong:/OWNERS diff --git a/OWNERS.md b/OWNERS.md index 6428c59fd793..601b5c641f21 100644 --- a/OWNERS.md +++ b/OWNERS.md @@ -1,3 +1,5 @@ +# Background + As general background, `OWNERS` files expedite code reviews by helping code authors quickly find relevant reviewers, and they also ensure that stakeholders are involved in code changes in their areas. @@ -27,8 +29,40 @@ main `services/core/` project: * `media/` * `wifi/` +# Design + Area maintainers are strongly encouraged to list people in a single authoritative `OWNERS` file in **exactly one** location. Then, other paths should reference that single authoritative `OWNERS` file using an include directive. This approach ensures that updates are applied consistently across the tree, reducing maintenance burden. + +# Examples + +The exact syntax of `OWNERS` files can be difficult to get correct, so here are +some common examples: + +``` +# Complete include of top-level owners from this repo +include /ZYGOTE_OWNERS +# Partial include of top-level owners from this repo +per-file ZygoteFile.java = file:/ZYGOTE_OWNERS +``` +``` +# Complete include of subdirectory owners from this repo +include /services/core/java/com/android/server/net/OWNERS +# Partial include of subdirectory owners from this repo +per-file NetworkFile.java = file:/services/core/java/com/android/server/net/OWNERS +``` +``` +# Complete include of top-level owners from another repo +include platform/libcore:/OWNERS +# Partial include of top-level owners from another repo +per-file LibcoreFile.java = file:platform/libcore:/OWNERS +``` +``` +# Complete include of subdirectory owners from another repo +include platform/frameworks/av:/camera/OWNERS +# Partial include of subdirectory owners from another repo +per-file CameraFile.java = file:platform/frameworks/av:/camera/OWNERS +``` diff --git a/core/java/android/app/OWNERS b/core/java/android/app/OWNERS index 633d093435ee..f10853abf42d 100644 --- a/core/java/android/app/OWNERS +++ b/core/java/android/app/OWNERS @@ -1 +1,4 @@ +per-file *Alarm* = file:/apex/jobscheduler/OWNERS +per-file *AppOp* = file:/core/java/android/permission/OWNERS +per-file *Notification* = file:/packages/SystemUI/OWNERS per-file *Zygote* = file:/ZYGOTE_OWNERS diff --git a/core/java/android/os/OWNERS b/core/java/android/os/OWNERS index 0fb6e6b4a76d..6aa1be92c3b5 100644 --- a/core/java/android/os/OWNERS +++ b/core/java/android/os/OWNERS @@ -24,4 +24,7 @@ per-file PowerComponents.java = file:/BATTERY_STATS_OWNERS per-file GraphicsEnvironment.java = chrisforbes@google.com, cnorthrop@google.com, lpy@google.com, timvp@google.com, zzyiwei@google.com +per-file *Network* = file:/services/core/java/com/android/server/net/OWNERS +per-file *Power* = file:/services/core/java/com/android/server/power/OWNERS +per-file *Telephony* = file:/telephony/OWNERS per-file *Zygote* = file:/ZYGOTE_OWNERS diff --git a/core/java/android/telephony/OWNERS b/core/java/android/telephony/OWNERS new file mode 100644 index 000000000000..640baf2297b4 --- /dev/null +++ b/core/java/android/telephony/OWNERS @@ -0,0 +1 @@ +include /telephony/OWNERS diff --git a/core/java/com/android/internal/app/OWNERS b/core/java/com/android/internal/app/OWNERS new file mode 100644 index 000000000000..108ab92f0e9b --- /dev/null +++ b/core/java/com/android/internal/app/OWNERS @@ -0,0 +1 @@ +per-file *AppOp* = file:/core/java/android/permission/OWNERS diff --git a/core/java/com/android/internal/notification/OWNERS b/core/java/com/android/internal/notification/OWNERS new file mode 100644 index 000000000000..396fd1213aca --- /dev/null +++ b/core/java/com/android/internal/notification/OWNERS @@ -0,0 +1 @@ +include /services/core/java/com/android/server/notification/OWNERS diff --git a/core/java/com/android/internal/os/OWNERS b/core/java/com/android/internal/os/OWNERS index ae962f244a1a..8f78b2a3a5ea 100644 --- a/core/java/com/android/internal/os/OWNERS +++ b/core/java/com/android/internal/os/OWNERS @@ -1,3 +1,4 @@ +per-file *Power* = file:/services/core/java/com/android/server/power/OWNERS per-file *Zygote* = file:/ZYGOTE_OWNERS # BatteryStats diff --git a/core/java/com/android/internal/telephony/OWNERS b/core/java/com/android/internal/telephony/OWNERS new file mode 100644 index 000000000000..640baf2297b4 --- /dev/null +++ b/core/java/com/android/internal/telephony/OWNERS @@ -0,0 +1 @@ +include /telephony/OWNERS diff --git a/services/core/java/com/android/server/OWNERS b/services/core/java/com/android/server/OWNERS index b62ec4fd72eb..3d9d20968e86 100644 --- a/services/core/java/com/android/server/OWNERS +++ b/services/core/java/com/android/server/OWNERS @@ -12,7 +12,7 @@ per-file ZramWriteback.java = minchan@google.com, rajekumar@google.com, srnvs@go per-file UserspaceRebootLogger.java = ioffe@google.com, tomcherry@google.com per-file *Alarm* = file:/apex/jobscheduler/OWNERS -per-file *AppOps* = file:/core/java/android/permission/OWNERS +per-file *AppOp* = file:/core/java/android/permission/OWNERS per-file *Bluetooth* = file:/core/java/android/bluetooth/OWNERS per-file *Gnss* = file:/services/core/java/com/android/server/location/OWNERS per-file *Location* = file:/services/core/java/com/android/server/location/OWNERS diff --git a/services/tests/servicestests/src/com/android/server/OWNERS b/services/tests/servicestests/src/com/android/server/OWNERS index 2463fc617f0b..6561778cb47d 100644 --- a/services/tests/servicestests/src/com/android/server/OWNERS +++ b/services/tests/servicestests/src/com/android/server/OWNERS @@ -1,5 +1,5 @@ per-file *Alarm* = file:/apex/jobscheduler/OWNERS -per-file *AppOps* = file:/core/java/android/permission/OWNERS +per-file *AppOp* = file:/core/java/android/permission/OWNERS per-file *Bluetooth* = file:/core/java/android/bluetooth/OWNERS per-file *Gnss* = file:/services/core/java/com/android/server/location/OWNERS per-file *Network* = file:/services/core/java/com/android/server/net/OWNERS