Skip to content

Commit 76a0b8f

Browse files
authored
Updated compatibility policy based on changes to repo structure (#3695)
This shouldn't come off as any policy changing. The goal is only to account for changes to the repo's structure.
1 parent f10694c commit 76a0b8f

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

COMPATIBILITY.md

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -66,24 +66,31 @@ Process for moving a best effort platform to a supported platform is consensus-b
6666

6767
## What are the stable APIs of `rules_rust`?
6868

69-
`//rust:defs.bzl` is subject to the backwards compatibility policy. That means
70-
that anything directly accessible from this file is considered stable.
69+
`//**/private/...` (any `private` directory and it's contents) is not subject to the backwards
70+
compatibility policy. All starlark symbols and targets is an implementation detail.
7171

72-
`//rust/private/…` is not subject to the backwards compatibility policy. Content
73-
of this package is an implementation detail.
72+
`//rust` is subject to the backwards compatibility policy. That means that anything directly
73+
accessible from this file is considered stable.
7474

75-
`//cargo/...` is subject to the backwards compatibility policy.
75+
`//cargo` is subject to the backwards compatibility policy.
7676

77-
`//util`, `//tools`, `//test`, `//examples`, `//extensions`, `//ffi`, `//nix` and any packages
78-
not mentioned by this document are by default not subject to the backwards compatibility
79-
policy.
77+
`//crate_universe`, `//examples`, `//extensions`, `//ffi`, `//nix`, `//test`, `//tools`, `//util`
78+
and any packages not mentioned by this document are by default not subject to the backwards
79+
compatibility policy.
8080

8181
Experimental build settings are not subject to the backward compatibility
82-
policy. They should be added to `//rust:experimental.bzl`.
82+
policy.
8383

8484
Incompatible build settings are subject to the backward compatibility policy,
8585
meaning the behavior of the flag cannot change in a backwards incompatible way.
86-
They should be added to `//rust:incompatible.bzl`.
86+
87+
Experimental and incompatible flags should be added to `settings.bzl` files based on the scope
88+
of the change.
89+
90+
| scope | file to update |
91+
| ------------- | ------------------------------- |
92+
| `//rust/...` | `//rust/settings:settings.bzl` |
93+
| `//cargo/...` | `//cargo/settings:settings.bzl` |
8794

8895
Bug fixes are not a breaking change by default. We'll use Common Sense (and we
8996
will pull in more maintainers and the community to discuss) if we see a certain

0 commit comments

Comments
 (0)