-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Add a --dry-run
flag to the install
command
#14280
Merged
Merged
Conversation
This file contains 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
rustbot
added
A-cli
Area: Command-line interface, option parsing, etc.
Command-install
S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
labels
Jul 21, 2024
Flowrey
force-pushed
the
dry-run-install
branch
4 times, most recently
from
July 21, 2024 10:55
0e553f7
to
f25a3a0
Compare
epage
reviewed
Jul 22, 2024
epage
reviewed
Jul 22, 2024
epage
reviewed
Jul 22, 2024
epage
reviewed
Jul 22, 2024
epage
reviewed
Jul 22, 2024
Flowrey
force-pushed
the
dry-run-install
branch
4 times, most recently
from
July 22, 2024 19:52
9894bbb
to
275615b
Compare
epage
reviewed
Jul 22, 2024
epage
reviewed
Jul 22, 2024
epage
reviewed
Jul 22, 2024
epage
reviewed
Jul 22, 2024
epage
reviewed
Jul 23, 2024
epage
reviewed
Jul 23, 2024
epage
reviewed
Jul 23, 2024
Flowrey
force-pushed
the
dry-run-install
branch
2 times, most recently
from
July 24, 2024 19:41
a1df193
to
a332bdc
Compare
epage
force-pushed
the
dry-run-install
branch
3 times, most recently
from
August 27, 2024 19:59
4b81fe7
to
36867ee
Compare
epage
reviewed
Aug 27, 2024
epage
reviewed
Aug 27, 2024
Note: I tweaked the commits to make this easier to review. |
Flowrey
force-pushed
the
dry-run-install
branch
3 times, most recently
from
September 1, 2024 07:36
3440b31
to
e1cbe81
Compare
Thanks, sorry if i made a mess with the commits 😅 |
weihanglo
reviewed
Sep 17, 2024
Flowrey
force-pushed
the
dry-run-install
branch
from
September 20, 2024 23:18
e1cbe81
to
b0e08fc
Compare
weihanglo
approved these changes
Sep 21, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great job! This should be ready to merge.
@bors r+ |
bors
added
S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
and removed
S-waiting-on-review
Status: Awaiting review from the assignee but also interested parties.
labels
Sep 21, 2024
☀️ Test successful - checks-actions |
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
Sep 28, 2024
Update cargo 19 commits in eaee77dc1584be45949b75e4c4c9a841605e3a4b..80d82ca22abbee5fb7b51fa1abeb1ae34e99e88a 2024-09-19 21:10:23 +0000 to 2024-09-27 17:56:01 +0000 - Update cc to 1.1.22 (rust-lang/cargo#14607) - feat: lockfile path implies --locked on cargo install (rust-lang/cargo#14556) - feat(toml): Add `autolib` (rust-lang/cargo#14591) - fix: correct error count for `cargo check --message-format json` (rust-lang/cargo#14598) - test: relax panic output assertion (rust-lang/cargo#14602) - feat(timings): support dark color scheme in HTML output (rust-lang/cargo#14588) - feat: add CARGO_MANIFEST_PATH env variable (rust-lang/cargo#14404) - fix(config): Don't double-warn about `$CARGO_HOME/config` (rust-lang/cargo#14579) - fix(cargo-rustc): give trailing flags higher precedence on nightly (rust-lang/cargo#14587) - feat: make lockfile v4 the default (rust-lang/cargo#14595) - perf: Improve quality of completion performance traces (rust-lang/cargo#14592) - test: Remove completion tests (rust-lang/cargo#14590) - feat: Add support for completing `cargo update <TAB>` (rust-lang/cargo#14552) - test: Migrate remaining with_stdout/with_stderr calls (rust-lang/cargo#14577) - fix(resolve): Improve multi-MSRV workspaces (rust-lang/cargo#14569) - chore: Bump MSRV to 1.81 (rust-lang/cargo#14585) - Add a `--dry-run` flag to the `install` command (rust-lang/cargo#14280) - fix(resolve): Don't list transitive, incompatible dependencies as available (rust-lang/cargo#14568) - feat(complete): Upgrade clap_complete (rust-lang/cargo#14573)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-cli
Area: Command-line interface, option parsing, etc.
A-cli-help
Area: built-in command-line help
A-documenting-cargo-itself
Area: Cargo's documentation
A-testing-cargo-itself
Area: cargo's tests
Command-install
S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
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.
What does this PR try to resolve?
This PR add the
--dry-run
flag to thecargo install
command (see #11123).I've tried to do the bare minimal for this flag to work without changing anything in the output.
In my opinion, the
--dry-run
flag should mimic as close as possible the behavior of the normal command to avoid missing potential issue in the normal execution.Currently we're missing information about where the binary will be installed.Unlike #13598 this PR:
BuildContext
instead ofInstallablePackage::new
unit_graph
, it add adry_run
to theCompileOptions
and return aCompilation::new
from the functioncompile_ws
without actually compiling.remove some warning not relevant in the case of a--dry-run
Like #13598, the version check and crate downloads still occur.
How should we test and review this PR?
The first commit include a unit tests to ensure that no binary is actually installed after the dry run.
There is also a snapshot test that show the diff output of the
--help
flag.Additional information
Tests and documentation done in #13598, may be cherry picked into this PR if needed.