about summary refs log tree commit diff
path: root/src/librustdoc/Cargo.toml
AgeCommit message (Collapse)AuthorLines
2020-02-14Update pulldown-cmark dependencyGuillaume Gomez-1/+1
2019-12-24Show value for consts in the documentationOhad Ravid-0/+1
2019-12-12replace serialize with serde in rustdocAndy Russell-0/+2
2019-10-07Rebase rustc-rayon on rayon-1.2Josh Stone-1/+1
See also https://github.com/rust-lang/rustc-rayon/pull/3
2019-08-11Remove ReentrantMutexMark Rousskov-1/+0
This drops the parking_lot dependency; the ReentrantMutex type appeared to be unused (at least, no compilation failures occurred). This is technically a possible change in behavior of its users, as lock() would wait on other threads releasing their guards, but since we didn't actually remove any threading or such in this code, it appears that we never used that behavior (the behavior change is only noticeable if the type previously was used in two threads, in a single thread ReentrantMutex is useless).
2019-07-28Update minifier-rs versionGuillaume Gomez-1/+1
2019-07-20Update pulldown-cmark versionGuillaume Gomez-1/+1
2019-06-21Add DocFS layer to rustdocRobert Collins-0/+1
* Move fs::create_dir_all calls into DocFS to provide a clean extension point if async extension there is needed. * Convert callsites of create_dir_all to ensure_dir to reduce syscalls. * Convert fs::write usage to DocFS.write (which also removes a lot of try_err! usage for easier reading) * Convert File::create calls to use Vec buffers and then DocFS.write in order to consistently reduce syscalls as well, make deferring to threads cleaner and avoid leaving dangling content if writing to existing files.... * Convert OpenOptions usage similarly - I could find no discussion on the use of create_new for that one output file vs all the other files render creates, if link redirection attacks are a concern DocFS will provide a good central point to introduce systematic create_new usage. (fs::write/File::create is vulnerable to link redirection attacks). * DocFS::write defers to rayon for IO on Windows producing a modest speedup: before this patch on my development workstation: $ time cargo +mystg1 doc -p winapi:0.3.7 Documenting winapi v0.3.7 Finished dev [unoptimized + debuginfo] target(s) in 6m 11s real 6m11.734s Afterwards: $ time cargo +mystg1 doc -p winapi:0.3.7 Compiling winapi v0.3.7 Documenting winapi v0.3.7 Finished dev [unoptimized + debuginfo] target(s) in 49.53s real 0m49.643s I haven't measured how much time is in the compilation logic vs in the IO and outputting etc, but this takes it from frustating to tolerable for me, at least for now.
2019-05-29upgrade rustdoc's `pulldown-cmark` to 0.5.2Andy Russell-1/+1
Fixes #60482.
2019-04-23Fix index-page generationGuillaume Gomez-1/+1
2019-04-22upgrade rustdoc's pulldown-cmark to 0.4.1Andy Russell-1/+1
2019-03-27Speed up rustdoc run a bitGuillaume Gomez-1/+1
2019-02-23Auto merge of #57051 - Eijebong:parking_lot, r=nikomatsakisbors-1/+1
Update parking_lot to 0.7 Unfortunately this'll dupe parking_lot until the data_structures crate is published and be updated in rls in conjunction with crossbeam-channel
2019-02-23Transition librustdoc to 2018 editionHirokazu Hata-0/+1
2019-02-22Update parking_lot to 0.7Bastien Orivel-1/+1
Unfortunately this'll dupe parking_lot until the data_structures crate is published and be updated in rls in conjunction with crossbeam-channel
2019-01-25Update minifier versionGuillaume Gomez-1/+1
2019-01-17End fixing search index minificationGuillaume Gomez-1/+1
2019-01-17Reduce search-index.js sizeGuillaume Gomez-1/+1
2018-10-11Update minifier versionGuillaume Gomez-1/+1
2018-09-20shuffle ownership of `external_traits`QuietMisdreavus-0/+1
constraints: - clean/inline.rs needs this map to fill in traits when inlining - fold.rs needs this map to allow passes to fold trait items - html/render.rs needs this map to seed the Cache.traits map of all known traits The first two are the real problem, since `DocFolder` only operates on `clean::Crate` but `clean/inline.rs` only sees the `DocContext`. The introduction of early passes means that these two now exist at the same time, so they need to share ownership of the map. Even better, the use of `Crate` in a rustc thread pool means that it needs to be Sync, so it can't use `Lrc<Lock>` to manually activate thread-safety. `parking_lot` is reused from elsewhere in the tree to allow use of its `ReentrantMutex`, as the relevant parts of rustdoc are still single-threaded and this allows for easier use in that context.
2018-08-15Fix links' colorGuillaume Gomez-1/+1
2018-06-25Minify cssGuillaume Gomez-1/+1
2018-06-20Replace tempdir by tempfile in librustdocBastien Orivel-1/+1
2018-05-12Add minification processGuillaume Gomez-0/+1
2018-02-22Auto merge of #48343 - Mark-Simulacrum:release-step, r=kennytmbors-2/+0
Update nightly to 1.26.0 and bootstrap from beta.
2018-02-20stage0 cfg cleanupMark Simulacrum-2/+0
2018-02-18bump pulldownManish Goregaokar-1/+1
2018-02-16Remove hoedown from rustdocGuillaume Gomez-6/+0
Is it really time? Have our months, no, *years* of suffering come to an end? Are we finally able to cast off the pall of Hoedown? The weight which has dragged us down for so long? ----- So, timeline for those who need to catch up: * Way back in December 2016, [we decided we wanted to switch out the markdown renderer](https://github.com/rust-lang/rust/issues/38400). However, this was put on hold because the build system at the time made it difficult to pull in dependencies from crates.io. * A few months later, in March 2017, [the first PR was done, to switch out the renderers entirely](https://github.com/rust-lang/rust/pull/40338). The PR itself was fraught with CI and build system issues, but eventually landed. * However, not all was well in the Rustdoc world. During the PR and shortly after, we noticed [some differences in the way the two parsers handled some things](https://github.com/rust-lang/rust/issues/40912), and some of these differences were major enough to break the docs for some crates. * A couple weeks afterward, [Hoedown was put back in](https://github.com/rust-lang/rust/pull/41290), at this point just to catch tests that Pulldown was "spuriously" running. This would at least provide some warning about spurious tests, rather than just breaking spontaneously. * However, the problems had created enough noise by this point that just a few days after that, [Hoedown was switched back to the default](https://github.com/rust-lang/rust/pull/41431) while we came up with a solution for properly warning about the differences. * That solution came a few weeks later, [as a series of warnings when the HTML emitted by the two parsers was semantically different](https://github.com/rust-lang/rust/pull/41991). But that came at a cost, as now rustdoc needed proc-macro support (the new crate needed some custom derives farther down its dependency tree), and the build system was not equipped to handle it at the time. It was worked on for three months as the issue stumped more and more people. * In that time, [bootstrap was completely reworked](https://github.com/rust-lang/rust/pull/43059) to change how it ordered compilation, and [the method by which it built rustdoc would change](https://github.com/rust-lang/rust/pull/43482), as well. This allowed it to only be built after stage1, when proc-macros would be available, allowing the "rendering differences" PR to finally land. * The warnings were not perfect, and revealed a few [spurious](https://github.com/rust-lang/rust/pull/44368) [differences](https://github.com/rust-lang/rust/pull/45421) between how we handled the renderers. * Once these were handled, [we flipped the switch to turn on the "rendering difference" warnings all the time](https://github.com/rust-lang/rust/pull/45324), in October 2017. This began the "warning cycle" for this change, and landed in stable in 1.23, on 2018-01-04. * Once those warnings hit stable, and after a couple weeks of seeing whether we would get any more reports than what we got from sitting on nightly/beta, [we switched the renderers](https://github.com/rust-lang/rust/pull/47398), making Pulldown the default but still offering the option to use Hoedown. And that brings us to the present. We haven't received more new issues from this in the meantime, and the "switch by default" is now on beta. Our reasoning is that, at this point, anyone who would have been affected by this has run into it already.
2018-01-15Update html-diff crate => fix unicode parsing and invalid pathsGuillaume Gomez-1/+1
2017-12-05Auto merge of #46503 - Aaron1011:librustdoc_log, r=Mark-Simulacrumbors-1/+0
Remove librustdoc dependency on log This change should have been included in PR #46386. Since librustdoc doesn't explicitly depend on internal crates (such as librustc_driver) through its Cargo.toml, it ends up using the sysroot to resolve them. By removing the dependency on 'log', we ensure that the syroot is used to resolve `log` as well. This ensures that only one version of log is in use, so that `env_logger::init()` enables all uses of `log!` macros.
2017-12-04Remove librustdoc dependency on logAaron Hill-1/+0
This change should have been included in PR #46386. Since librustdoc doesn't explicitly depend on internal crates (such as librustc_driver) through its Cargo.toml, it ends up using the sysroot to resolve them. By removing the dependency on 'log', we ensure that the syroot is used to resolve `log` as well. This ensures that only one version of log is in use, so that `env_logger::init()` enables all uses of `log!` macros.
2017-12-04rustc_back: replace tempdir with crates.io version.Irina-Gabriela Popa-0/+1
2017-11-29Remove librustdoc dependency on env_loggerAaron Hill-1/+0
We want librustdoc to pickup the env_logger dependency from the sysroot. This ensures that the same copy of env_logger is used for both internal crates (e.g. librustc_driver, libsyntax) and librustdoc Closes #46383
2017-11-26update Cargo.lock & rustdocAriel Ben-Yehuda-1/+1
This is required because the old version depended on tendril 0.3.1, which used `repr(packed)` incorrectly - see https://github.com/kuchiki-rs/kuchiki/pull/38
2017-10-21rustdoc: update pulldown rendererQuietMisdreavus-1/+1
fixes #45420
2017-10-11Bump cc to 1.01 to include x86_64-unknown-linux-gnux32 supportMarco A L Barbosa-1/+1
2017-09-28Update to the `cc` crateAlex Crichton-1/+1
This is the name the `gcc` crate has moved to
2017-09-05Test rustdoc unit tests.Mark Simulacrum-0/+2
Doc tests are temporarily disabled until next release cycle, since current beta Cargo errors on them. Upgrade should be smooth as the relevant tests are already fixed in this commit.
2017-09-02Update html-diff-rs versionGuillaume Gomez-1/+1
2017-08-30Print warning whatever the rendering modeGuillaume Gomez-2/+0
2017-08-30Update unstable-crate testGuillaume Gomez-2/+2
2017-08-30Add warnings when rustdoc html rendering differsGuillaume Gomez-0/+3
2017-07-27Build rustdoc on-demand.Mark Simulacrum-15/+0
Rustdoc is no longer compiled in every stage, alongside rustc, instead it is only compiled when requested, and generally only for the last stage.
2017-06-01Support VS 2017Brian Anderson-1/+1
Fixes #38584
2017-05-03remove use of `ast_ty_to_ty_cache` from librustdocNiko Matsakis-0/+1
2017-04-17Rollup merge of #41310 - eddyb:demand-const-eval, r=nikomatsakisCorey Farwell-1/+0
[on-demand] Turn monomorphic_const_eval into a proper query, not just a cache. The error definitions and reporting logic, alongside with `eval_length` were moved to `librustc`. Both local and cross-crate constant evaluation is on-demand now, but the latter is only used for `enum` discriminants, to replace the manual insertion into the cache which was done when decoding variants. r? @nikomatsakis
2017-04-17Hoedown big comeback!Guillaume Gomez-0/+1
2017-04-16rustc: expose monomorphic const_eval through on-demand.Eduard-Mihai Burtescu-1/+0
2017-03-28Update to last pulldown versionGuillaume Gomez-1/+1
2017-03-28Update pulldown version after fix mergedGuillaume Gomez-1/+1