Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mergeable rustdoc cross-crate info #3662

Merged
merged 28 commits into from
Sep 21, 2024
Merged
Changes from 1 commit
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
542dcbb
add `mergable_rustdoc_cross_crate_info`
EtomicBomb Jun 19, 2024
fdc1b70
generates no files by default
EtomicBomb Jun 20, 2024
8c78a93
fix typos
EtomicBomb Jun 20, 2024
08ac8a2
merged -> rendered in flags
EtomicBomb Jun 20, 2024
ef10ed5
fix typos
EtomicBomb Jun 20, 2024
4994251
whitespace and clear lines
EtomicBomb Jun 20, 2024
0f01c9b
typo
EtomicBomb Jun 20, 2024
7db0a4a
remove work in progress
EtomicBomb Jun 20, 2024
23e34e0
address comments from P1n3appl3
EtomicBomb Jun 21, 2024
97cf6c6
changes in response to jsha and notriddle
EtomicBomb Jun 24, 2024
3326b10
typos
EtomicBomb Jun 24, 2024
cbd62bb
nits
EtomicBomb Jun 25, 2024
eba7fc4
--include-info-json and --write-info-json take path directly to crate…
EtomicBomb Jun 28, 2024
7b82ab9
typos, --mode=auto -> --mode=read-write
EtomicBomb Jul 16, 2024
63107f9
add versioning, --include-rendered-docs flag
EtomicBomb Jul 16, 2024
3d0dd8c
version number is prefixed with V
EtomicBomb Jul 17, 2024
0ddbcf6
remove detail of crate-info, suggested workflow
EtomicBomb Jul 18, 2024
f639365
type impl,buck2 link,extern-html-root-url,period
EtomicBomb Jul 31, 2024
627a0ba
rename flags per camelid, clarify workflow
EtomicBomb Jul 31, 2024
b0dc37d
move extern-html-root-url, remove no_emit_shared
EtomicBomb Jul 31, 2024
4b076f6
manishearth nits + stabilize crate-info.json
EtomicBomb Aug 2, 2024
d7ea3b5
del --include-rendered-docs, doc.parts suggestions
EtomicBomb Aug 3, 2024
628c7a9
fix typo in merge sentence
EtomicBomb Aug 3, 2024
c765097
editorial changes in response to @jsha
EtomicBomb Aug 13, 2024
ac9208c
resolve in favor of no index crate
EtomicBomb Aug 13, 2024
e66bb63
fix typo identified by jsha
EtomicBomb Aug 20, 2024
665a58f
editorial fixes from @aDotInTheVoid's suggestions
EtomicBomb Aug 21, 2024
e1b5e5b
replace WIP -> implementation, per camelid
EtomicBomb Aug 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix typo identified by jsha
typo in --merge=finalize description: can links
  • Loading branch information
EtomicBomb committed Aug 20, 2024
commit e66bb63588b18386b74e4042c1706d42f3bdce5c
2 changes: 1 addition & 1 deletion text/0000-mergeable-rustdoc-cross-crate-info.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ More details are in the Reference-level explanation.
* `--include-parts-dir=path/to/doc.parts/<crate-name>`: Include cross-crate information from this previously written `doc.parts` directories into a collection that will be written by the current invocation of rustdoc. May only be provided with `--merge=finalize`. May be provided any number of times.
* `--merge=none`: Do not write cross-crate information to the `--out-dir`. The flag `--parts-out-dir` may instead be provided with the destination of the current crate's cross-crate information parts.
EtomicBomb marked this conversation as resolved.
Show resolved Hide resolved
* `--merge=shared` (default): Append information from the current crate to any info files found in the `--out-dir`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we plan to deprecate --merge=shared anyway, what do you think about not adding it in the first place? --merge already has to be an optional flag to avoid breaking changes.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uniformity and ease of documentation. It's the same reason you're allowed to write edition = 2015, even though that's the default if you don't specify anything.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair enough. I guess we won't ever be able to remove the shared implementation anyway, so it doesn't matter. And if we somehow did find a way to remove it while maintaining the outward behavior, that wouldn't be a breaking change anyway since it's an implementation detail.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you say we won't ever be able to remove the shared implementation? I've been assuming that after updating Cargo and docs.rs, and providing a decently long deprecation period we could remove it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, I'm trying to remember what I was thinking ^^. I think I was worried that there might be existing build systems or other tools that were depending on the shared representation, but we never guaranteed stability of it. So perhaps it would be fine to remove after all.

* `--merge=finalize`: Write cross-crate information from the current crate and any crates included via `--include-parts-dir` to the `--out-dir`, overwriting conflicting files. This flag may be used with or without an input crate root, as it can links existing docs.
* `--merge=finalize`: Write cross-crate information from the current crate and any crates included via `--include-parts-dir` to the `--out-dir`, overwriting conflicting files. This flag may be used with or without an input crate root, in which case it only links crates included via `--include-parts-dir`.

## Example

Expand Down