docs.rs now allows you to choose your build targets | Rust Blog

栏目: IT技术 · 发布时间: 6年前

内容简介:Recently,By default, docs.rs builds all crates published toThis feature allows you to request building only on specific targets. For example,

Recently, docs.rs added a feature that allows crates to opt-out of building on all targets. If you don't need to build on all targets, you can enable this feature to reduce your build times.

What does the feature do?

By default, docs.rs builds all crates published to crates.io for every tier one target . However, most crates have the same content on all targets. Of the platform-dependent crates, almost all target a single platform, and do not need to be built on other targets. For example, winapi only has documentation on the x86_64-pc-windows-msvc and i686-pc-windows-msvc targets, and is blank on all others.

This feature allows you to request building only on specific targets. For example, winapi could opt into only building windows targets by putting the following in its Cargo.toml :

[package.metadata.docs.rs]
# This also sets the default target to `x86_64-pc-windows-msvc`
targets = ["x86_64-pc-windows-msvc", "i686-pc-windows-msvc"]

If you only need a single target, it's even simpler:

[package.metadata.docs.rs]
# This sets the default target to `x86_64-unknown-linux-gnu`
# and only builds that target
targets = ["x86_64-unknown-linux-gnu"]

See the docs.rs documentation for more details about how to opt-in.

How does this help my crate?

Instead of building for every tier-one target, you can build for only a single target, reducing your documentation build times by a factor of 6. This can especially help large crates or projects with many crates that take several hours to document.

How does this help docs.rs?

Building all crates from crates.io can take a long time! Building fewer targets will allow us to reduce wait times for every crate. Additionally, this will decrease the growth of our storage costs, improving the sustainability of the project.

Possible future changes

We're considering turning this on by default in the future; i.e. only building for one target unless multiple targets are specifically requested. However, we don't want to break anyone's documentation, so we're making this feature opt-in while we decide the migration strategy.

This change will also make it easier for docs.rs to build for targets that are not tier one, such as embedded targets.

How can I learn more?

You can learn more about the change in the issue proposing it and the PR with the implementation . Details on building non-tier-one targets are also available in the issue requesting the feature .

More information on targets and what it means to be a tier-one target is available in theplatform support page.


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

你不是个玩意儿

你不是个玩意儿

杰伦·拉尼尔 / 葛仲君 / 中信出版社 / 2011-8 / 35.00元

“你不是个玩意儿。” 这句话当然不是骂人,这是一个宣言。人当然不是玩意儿,不是机器,而是人。 在网络化程度越来越高的今天,我们每个人似乎都有足够的理由,无限欣喜地拥抱互联网。然而,你有没有想过互联网那些不完美的设计却是某种潜在的威胁…… 为什么如此多的暴民在社交网站上争吵不休,很多骂人的脏话我们在现实的人际交往中可能从来不会使用,但在匿名网络环境中却漫天飞舞? 互联网的本质......一起来看看 《你不是个玩意儿》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试