Skip to content

Commit 0570ccb

Browse files
committed
Typo Fixes and Rearangement
1 parent 2997902 commit 0570ccb

File tree

1 file changed

+26
-12
lines changed

1 file changed

+26
-12
lines changed

text/0000-rustdoc-types-maintainers.md

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,23 @@ The [rustdoc-types](https://crates.io/crates/rustdoc-types) crate will go from b
1111
# Motivation
1212
[motivation]: #motivation
1313

14-
[`rustdoc-types`](https://crates.io/crates/rustdoc-types) is a crate published on crates.io. It is used by users of the unstable [rustdoc JSON](https://github.com/rust-lang/rust/issues/76578) backend to provided a type representing the output of `rustdoc --output-format json`.
14+
[`rustdoc-types`](https://crates.io/crates/rustdoc-types) is a crate published on crates.io. It is used by users of the unstable [rustdoc JSON](https://github.com/rust-lang/rust/issues/76578) backend to provided a type representing the output of `rustdoc --output-format json`. It's published on crates.io to be used by out-of-tree tools that take rustdoc-json as an input. Eg:.
1515

16+
| Name | Purpose |
17+
|--|--|
18+
| [awslabs/cargo-check-external-types] | Home-rolled version of [RFC 1977] "private dependencies". Checks if any types from the private dependency are used in a crate's public API. |
19+
| [Enselic/cargo-public-api] | Compares the public API of two crates. Used to check for semver violations. |
20+
| [obi1kenobi/trustfall-rustdoc-adapter] | Higher-level database-ish API for querying Rust API's. Used by [obi1kenobi/cargo-semver-checks] |
21+
22+
[awslabs/cargo-check-external-types]: https://github.com/awslabs/cargo-check-external-types/blob/dc15c5ee7674a495d807481402fee46fdbdbb140/Cargo.toml#L16
23+
24+
[Enselic/cargo-public-api]: https://github.com/Enselic/cargo-public-api/blob/19f15ce4146835691d489ec9db3518e021b638e8/public-api/Cargo.toml#L27
25+
26+
[obi1kenobi/trustfall-rustdoc-adapter]: https://github.com/obi1kenobi/trustfall-rustdoc-adapter/blob/92cbbf9bc6c9dfaf40bba8adfbc56c0bb7aff12f/Cargo.toml#L15
27+
28+
[obi1kenobi/cargo-semver-checks]: https://github.com/obi1kenobi/cargo-semver-checks
29+
30+
[RFC 1977]: https://rust-lang.github.io/rfcs/1977-public-private-dependencies.html
1631

1732
Currently I ([`@aDotInTheVoid`](https://github.com/aDotInTheVoid/)) maintain the `rustdoc-types` crate on [my personal github](https://github.com/aDotInTheVoid/rustdoc-types/). No-one else has either github or crates.io permissions. This means if I become unable (or more likely disinterested), the crate will not see updates.
1833

@@ -29,12 +44,11 @@ This involves:
2944
# Reference-level explanation
3045
[reference-level-explanation]: #reference-level-explanation
3146

32-
`rustdoc-types` is a republishing of the in-tree [`rustdoc-json-types`](https://github.com/rust-lang/rust/tree/b8536c1aa1973dd2438841815b1eeec129480e45/src/rustdoc-json-types) crate. `rustdoc-json-types` is a dependency of `librustdoc`, and is the canonical source of truth for the canonical description of the rustdoc-json output format. Changes to the format are made a a PR to `rust-lang/rust`, and will modify `src/rustdoc-json-types`, `src/librustdoc/json` and `tests/rustdoc-json`. None of this will change.
47+
`rustdoc-types` is a republishing of the in-tree [`rustdoc-json-types`](https://github.com/rust-lang/rust/tree/b8536c1aa1973dd2438841815b1eeec129480e45/src/rustdoc-json-types) crate. `rustdoc-json-types` is a dependency of `librustdoc`, and is the canonical source of truth for the rustdoc-json output format. Changes to the format are made a a PR to `rust-lang/rust`, and will modify `src/rustdoc-json-types`, `src/librustdoc/json` and `tests/rustdoc-json`. None of this will change.
3348

34-
However, the publishing of this to crates.io, so that it can be used by out-of-tree tools that take rustdoc-json as an input
35-
([eg](https://github.com/awslabs/cargo-check-external-types/blob/dc15c5ee7674a495d807481402fee46fdbdbb140/Cargo.toml#L16),
36-
[eg](https://github.com/Enselic/cargo-public-api/blob/19f15ce4146835691d489ec9db3518e021b638e8/public-api/Cargo.toml#L27),
37-
[eg](https://github.com/obi1kenobi/trustfall-rustdoc-adapter/blob/92cbbf9bc6c9dfaf40bba8adfbc56c0bb7aff12f/Cargo.toml#L15)). This is done with [a scipt](https://github.com/aDotInTheVoid/rustdoc-types/blob/577a774c2433beda669271102a201910c4169c0c/update.sh) so that it is as low maintence as possible. This also ensures that all format/documentation changes happen in the rust-lang/rust repo, and go through the normal review process there.
49+
Republishing `rustdoc-json-types` as `rustdoc-types` is done with [a script](https://github.com/aDotInTheVoid/rustdoc-types/blob/577a774c2433beda669271102a201910c4169c0c/update.sh) so that it is as low maintenance as possible. This also ensures that all format/documentation changes happen in the rust-lang/rust repo, and go through the normal review process there.
50+
51+
`rustdoc-types` is a republishing of the in-tree [`rustdoc-json-types`](https://github.com/rust-lang/rust/tree/b8536c1aa1973dd2438841815b1eeec129480e45/src/rustdoc-json-types) crate. `rustdoc-json-types` is a dependency of `librustdoc`, and is the canonical source of truth for the canonical description of the rustdoc-json output format. Changes to the format are made a a PR to `rust-lang/rust`, and will modify `src/rustdoc-json-types`, `src/librustdoc/json` and `tests/rustdoc-json`. None of this will change.
3852

3953
The update/publishing process will be moved to T-Rustdoc. In the medium term, I (`@aDotInTheVoid`) will still do it, but
4054
- In an offical capacity
@@ -50,7 +64,7 @@ Github has a [list of requirements](https://docs.github.com/en/repositories/crea
5064
- When you transfer a repository that you own to another personal account, the new owner will receive a confirmation email. The confirmation email includes instructions for accepting the transfer. If the new owner doesn't accept the transfer within one day, the invitation will expire.
5165
- N/A: Not transfering to
5266
- To transfer a repository that you own to an organization, you must have permission to create a repository in the target organization.
53-
- I (`@aDotInTheVoid`) don't have create-repo perms in the `rust-lang` org. Therefor I'll add a member of T-Infra as an owner to `aDotInTheVoid/rustdoc-types` (I can't add teams, as it's not in an org). They'll then move it to the repo to the `rust-lang` org. Once moved, T-Infra can become owners.
67+
- I (`@aDotInTheVoid`) don't have create-repo perms in the `rust-lang` org. Therefore I'll add a member of T-Infra as an owner to `aDotInTheVoid/rustdoc-types` (I can't add teams, as it's not in an org). They'll then move it to the repo to the `rust-lang` org. Once moved, T-Infra can become owners.
5468
- The target account must not have a repository with the same name, or a fork in the same network.
5569
- OK.
5670
- The original owner of the repository is added as a collaborator on the transferred repository. Other collaborators to the transferred repository remain intact.
@@ -62,7 +76,7 @@ At the end of this we should have a crate in the rust-lang github org with T-Rus
6276

6377
### crates.io
6478

65-
crats.io ownership is managed [via the command line](https://doc.rust-lang.org/cargo/reference/publishing.html#cargo-owner).
79+
crates.io ownership is managed [via the command line](https://doc.rust-lang.org/cargo/reference/publishing.html#cargo-owner).
6680

6781
I will run the following commands to move ownership.
6882

@@ -72,13 +86,13 @@ cargo owner --add rust-lang-owner
7286
cargo owner --remove aDotInTheVoid
7387
```
7488

75-
The `rust-lang-owner` is neaded because team owners cannot add new owners.
89+
The `rust-lang-owner` is needed because team owners cannot add new owners.
7690

7791
# Drawbacks
7892
[drawbacks]: #drawbacks
7993

80-
- Adds additional maintenence burden to rustdoc team.
81-
- One-time maintenece burden to infra team to support move.
94+
- Adds additional maintenance burden to rustdoc team.
95+
- One-time maintenance burden to infra team to support move.
8296

8397

8498
# Rationale and alternatives
@@ -108,5 +122,5 @@ None yet
108122
# Future possibilities
109123
[future-possibilities]: #future-possibilities
110124

111-
When the rustdoc-json feature is stabilized, we'll should release 1.0.0 to crates.io. How we can evolve the format post stabilization is an unanswered question. It's a blocker for stabilization, but not this RFC
125+
When the rustdoc-json feature is stabilized, we should release 1.0.0 to crates.io. How we can evolve the format post stabilization is an unanswered question. It's a blocker for stabilization, but not this RFC
112126

0 commit comments

Comments
 (0)