# Ebuild/eclass experts!  These reviewers should be used with general packaging
# questions.  Rarely should they be the main code reviewer as they usually do
# not have domain expertise in random packages.  Basically think of this list as
# good for advice, CR+1, and OWNERS coverage, but not for actual CR+2 review.

# Prefer sending reviews to the alias, since it
# allows the load to be spread around.
ebuild-reviews@google.com

# Individual reviewers if needed.
# When adding/removing people here, remember to update the gwsq group:
# http://g/ebuild-reviews
allenwebb@google.com #{LAST_RESORT_SUGGESTION}
bmgordon@chromium.org #{LAST_RESORT_SUGGESTION}
jrosenth@chromium.org #{LAST_RESORT_SUGGESTION}
manojgupta@chromium.org #{LAST_RESORT_SUGGESTION}

include chromiumos/owners:v1:/infra/OWNERS.build #{LAST_RESORT_SUGGESTION}

# b/240953811: This OWNERship is intended only for stamping changes related to
# the dev-rust/third-party-crates-src migration (which extend outside of
# chromiumos-overlay/dev-rust/). Remove after the migration is complete.
gbiv@chromium.org #{LAST_RESORT_SUGGESTION}
