Use newlines in ./pants help $target_type#11355
Merged
Merged
Conversation
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
Eric-Arellano
commented
Dec 21, 2020
Comment on lines
+159
to
+163
| '"macosx_10.12_x86_64-cp-36-cp36m"):\n\n - PLATFORM: the host platform, e.g. ' | ||
| '"linux-x86_64", "macosx-10.12-x86_64".\n - IMPL: the Python implementation ' | ||
| 'abbreviation, e.g. "cp", "pp", "jp".\n - PYVER: a two-digit string representing ' | ||
| 'the Python version, e.g. "27", "36".\n - ABI: the ABI tag, e.g. "cp36m", ' | ||
| '"cp27mu", "abi3", "none".' |
Contributor
Author
There was a problem hiding this comment.
I tweaked the formatting by adding the - list.
| class ProvidesField(Field): | ||
| """An `artifact`, such as `setup_py`, that describes how to represent this target to the outside | ||
| world.""" | ||
| """An `artifact` that describes how to represent this target to the outside world.""" |
Contributor
Author
There was a problem hiding this comment.
This is still docstring as it's a note to other developers, not for end users.
Comment on lines
+169
to
+172
| if hasattr(field, "description"): | ||
| description = field.description | ||
| else: | ||
| description = get_docstring( |
Contributor
Author
There was a problem hiding this comment.
A followup will deprecate using docstring rather than description.
# Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
While deprecated, we want to do the right thing to avoid later deprecation warnings. # Rust tests and lints will be skipped. Delete if not intended. [ci skip-rust] # Building wheels and fs_util will be skipped. Delete if not intended. [ci skip-build-wheels]
Eric-Arellano
added a commit
that referenced
this pull request
Dec 21, 2020
Closes #10060. See https://www.pantsbuild.org/v2.2/docs/reference-all-targets and https://www.pantsbuild.org/v2.2/docs/reference-pex_binary. #11355 will improve the whitespace for these docs. TODOs: * Add an example BUILD file at the top with some/all of the fields. * Consider more intelligent ordering of the fields. * Document which backend the target type comes from. [ci skip-rust] [ci skip-build-wheels]
gshuflin
approved these changes
Dec 21, 2020
gshuflin
approved these changes
Dec 21, 2020
Eric-Arellano
added a commit
that referenced
this pull request
Dec 22, 2020
Before, we would only render the first line of the docstring. Now, we use a `help` property to be able to safely render the entire thing - see #11355 for why we use a property rather than continuing to use the docstring. Before: ``` ▶ ./pants help changed `changed` subsystem options --------------------------- Tell Pants to detect what files and targets have changed from Git. Config section: [changed] ``` After: ``` ▶ ./pants help changed `changed` subsystem options --------------------------- Tell Pants to detect what files and targets have changed from Git. See https://www.pantsbuild.org/docs/advanced-target-selection. Config section: [changed] ``` [ci skip-rust] [ci skip-build-wheels]
Merged
stuhood
added a commit
that referenced
this pull request
Dec 29, 2020
### Internal Changes * Fix too many line breaks for options in docs site ([#11377](#11377)) * Use more newlines in options help messages ([#11372](#11372)) * Fix some newlines not rendering correctly on docsite ([#11371](#11371)) * Fix formatting for `./pants subsystems` and `./pants targets` ([#11368](#11368)) * Simplify `generate_docs.py` to no longer require manually generating the input data ([#11363](#11363)) * Use the whole description for `./pants help $subsystem` ([#11361](#11361)) * Use newlines in `./pants help $target_type` ([#11355](#11355)) * [internal] Install rustup on the lint shards. ([#11392](#11392)) * Install Rust through global, pre-installed Rustup ([#11256](#11256)) * Revert "Add goals to run_info (#11374)" ([#11379](#11379)) * Add goals to run_info ([#11374](#11374)) * Update all rust dependencies within their declared ranges. ([#11366](#11366)) * Update to nails 0.11.0. ([#11370](#11370)) * cleanup some futures-related references ([#11360](#11360)) * [internal] Switch to toolchain pants plugin ([#11357](#11357)) * Simplify and fix the @ensure_daemon decorator. ([#11356](#11356)) * restore some try_future uses that were recently removed ([#11353](#11353)) * remove all remaining uses of futures v0.1.x (in favor of v0.3.x) ([#11352](#11352)) * Prepare the 1.30.2 release notes. ([#11351](#11351)) * remove remaining futures v0.1.x uses from fs/store and downstream callers ([#11346](#11346)) * fix Prost revision that did not get updated in prior PR ([#11345](#11345)) * add extension method for prost::Message for encoding to Bytes ([#11344](#11344)) * Stop installing Cmake, Go, and Protoc when bootstrapping Rust ([#11336](#11336)) * Automatically set the version in generate_docs.py ([#11337](#11337)) * Prepare 2.1.1. ([#11334](#11334)) * Prepare 2.0.1. ([#11333](#11333)) * Prepare the 1.30.2rc3 release notes. ([#11327](#11327)) * Prepare 2.0.1rc4 (again). ([#11323](#11323)) * Add type annotations around Subsystem class ([#11389](#11389)) * Support deprecation_start_version in help info. ([#11350](#11350)) [ci skip-rust]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Newlines are important for readability.
However, we weren't preserving the newlines from target docstring because it's tricky to render correctly. Docstring is written with hard wrapping, whereas our options system uses soft wrapping (e.g. via implicit string concatenation). Because we wrap
./pants helpto 96 characters, this could create weird situations where we could end up with really short lines. Instead, we decided to flatten everything into a single paragraph.This PR changes the description to come from a class property
description, rather than from the class's docstring, which allows for much tighter control of the rendering. Now, authors can limit use of\nto when it is only intentional, rather than unintentionally from their source code having hard wrapping due to line limits.Before:
After:
Added benefit: reclaim docstrings
Before, the docstring for targets/fields had to be user-facing, rather than developer-facing. Now, the docstring can mention the implementation.
[ci skip-rust]