Merge "Allow //visibility:public to override other visibility rules."

This commit is contained in:
Martin Stjernholm
2019-05-29 15:46:34 +00:00
committed by Gerrit Code Review
4 changed files with 463 additions and 103 deletions

View File

@@ -197,8 +197,10 @@ where `//project` is the module's package. e.g. using `[":__subpackages__"]` in
* `["//visibility:legacy_public"]`: The default visibility, behaves as
`//visibility:public` for now. It is an error if it is used in a module.
The visibility rules of `//visibility:public` and `//visibility:private` can
not be combined with any other visibility specifications.
The visibility rules of `//visibility:public` and `//visibility:private` can not
be combined with any other visibility specifications, except
`//visibility:public` is allowed to override visibility specifications imported
through the `defaults` property.
Packages outside `vendor/` cannot make themselves visible to specific packages
in `vendor/`, e.g. a module in `libcore` cannot declare that it is visible to