summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2020-12-10 08:20:12 -0700
committerJeff Sharkey <jsharkey@android.com>2020-12-10 08:37:23 -0700
commite2cc3f8becb8f61c978293827b31085cf728baa1 (patch)
tree75858f1592a8bbac5b27a7155f25eb122aa78afc
parentc9dc68f06315ad5a81a400d425e96c6590d19ae6 (diff)
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
-rw-r--r--OWNERS2
-rw-r--r--OWNERS.md34
-rw-r--r--core/java/android/app/OWNERS3
-rw-r--r--core/java/android/os/OWNERS3
-rw-r--r--core/java/android/telephony/OWNERS1
-rw-r--r--core/java/com/android/internal/app/OWNERS1
-rw-r--r--core/java/com/android/internal/notification/OWNERS1
-rw-r--r--core/java/com/android/internal/os/OWNERS1
-rw-r--r--core/java/com/android/internal/telephony/OWNERS1
-rw-r--r--services/core/java/com/android/server/OWNERS2
-rw-r--r--services/tests/servicestests/src/com/android/server/OWNERS2
11 files changed, 48 insertions, 3 deletions
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