Tree: cee38cd30d
-
Auto merge of #4715 - alexcrichton:beta-next, r=matklad
[beta] Fix dep info showing up with a build script This is a backport of #4711
-
Do not update semantically equivalent lockfiles with --frozen/--locked.
A previous patch in #4684 attempted to fix this, but didn't work for the case where the [root] crate wasn't the first crate in the sorted package array.
-
Fix dep info showing up with a build script
Cargo would erroneously bail out early and accidentally forget to emit a dep info file if any dependency used a build script, so this fixes that!
-
Auto merge of #4687 - matklad:rust-1.22.0-backport, r=alexcrichton
[beta] Don't update lockfiles from previous Cargo versions if `--locked` is passed
-
Auto merge of #4616 - kennytm:fix-4490, r=alexcrichton
Uplift *.dSYM Fixed #4490. The solution is based on #4570. Simply adding `.dSYM` into `add_target_specific_suffixes` will cause cargo trying to actually run that `.dSYM` folder, so I've upgraded the `linkable` boolean into a 3-value enum `TargetFileType`, to tell `cargo run` and `cargo test` to avoid these debug symbol files. (I haven't checked if it can solve #4056, don't wanna mess with Spotlight
😝 ) -
Auto merge of #4618 - integer32llc:config-in-home, r=alexcrichton
Clarify that $HOME/.cargo is always checked
-
-
Verified
This commit was signed with a verified signature.GPG key ID: FEF6C8051D0E013C Learn about signing commits
-
Auto merge of #4610 - hdhoang:patch-1, r=alexcrichton
layout: fix typo, and improve pronoun "it" is ambiguous between `new` and `at` (the most recent noun).
-
Auto merge of #4314 - nodakai:phantom-type-in-projectbuilder, r=matklad
cargotest/support: remove internal mutability in favor of switching types `Cell<bool>` was removed from `ProjectBuilder`. Instead `PhantomData<T>` was added to it (and `RepoBuilder`) to manage state transition in the type level (`T` is either `Configuring` or `Done`.) `ProjectBuilder::cargo_process()` was removed as its design heavily depended on the internal mutability. Also added `#[must_use]` to `ProjectBuilder` and `RepoBuilder` to check for call sites of their `build()` method.
-
layout: fix typo, and improve pronoun
"it" is ambiguous between `new` and `at` (the most recent noun).
-
Auto merge of #4608 - vmx:patch-1, r=alexcrichton
Remove wrong information about git repository Dependencies cannot be a git repository when published to crates.io.
-
Remove wrong information about git repository
Dependencies cannot be a git repository when published to crates.io.
-
Auto merge of #4594 - behnam:workspace, r=alexcrichton
[core/workspace] Create WorkspaceRootConfig Create `WorkspaceRootConfig`, which knows its `root_dir` and lists of `members` and `excludes`, to answer queries on which paths are a member and which are not. ---- This is the first step of the fix, that's only a codemod to put together the relevant parts : `workspace.members`, `workspace.excludes`, and the `root_dir` (where `members` and `excludes` are relative to). There's no logic change in this PR to keep review easier. The added tests are commented out, because they fail with the current logic. The next step to get these steps to pass. Tracker: <#4089> Old PR: <#4297>
-
Auto merge of #4581 - tamird:master, r=alexcrichton
cargo_rustc: remove workaround for fixed upstream issue Fixed in rust-lang/rust#25411. Also, the removed code is implicated in test failures observed in rust-lang/rust#44515. r? @alexcrichton
-
Auto merge of #4602 - ehuss:fix-new-test-windows, r=alexcrichton
Allow test to pass if user has ~/.gitconfig on Windows. The `new` test will fail on Windows if you have `~/.gitconfig` configured with a username/email. This is because libgit2 searches quite a few environment variables hunting for a config file. Rather than adjusting other environment variables (I think at a minimum it would be `%HOMEDRIVE%%HOMEPATH%` and `%USERPROFILE%`), this just adds an empty config file since libgit2 will stop at the first one it finds.
-
cargo_rustc: remove workaround for fixed upstream issue
Fixed in rust-lang/rust#25411. Also, the removed code is implicated in test failures observed in rust-lang/rust#44515.
Verified
This commit was signed with a verified signature.tamird Tamir Duberstein
GPG key ID: 1C1E98CC8E17BB89 Learn about signing commits -
cargotest/support: remove internal mutability in favor of switching t…
…ypes Remove is_build: Cell<bool> from ProjectBuilder and introduce a new type Project. is_build==false <-> ProjectBuilder is_build==true <-> Project Also add #[must_use] to ProjectBuilder to confirm its instances are surely consumed by its build() method to produce Project. The same goes for RepoBuilder. ProjectBuilder::cargo_process() was removed as its design heavily depended on the internal mutability. Signed-off-by: NODA, Kai <nodakai@gmail.com>
Verified
This commit was signed with a verified signature.nodakai NODA, Kai
GPG key ID: 44244F38D93C6B7E Learn about signing commits -
-
Auto merge of #4570 - tatsuya6502:target-specific-artifacts, r=alexcr…
…ichton Handle target specific outputs such as .wasm or .dll.lib Fixes #4500, #4535 Until now, Cargo does not have any knowledge about target-specific output files. It relies solely on rustc for this sort of information (`rustc --print=file-names ...`). As a result, Cargo does not place some build artifacts (files) to target/{debug,release} directory. These files include *.wasm for wasm32-unknown-emscripten target and *.dll.lib for *-pc-windows-msvc cdylib target. This commit will add such knowledge to Cargo so that *.wasm and *.dll.lib will be placed in target/{debug,release} directory. **EDIT**: I added [a summary of changes](#4570 (comment)). Please read it for more details of changes. **IMPORTANT** Although I added test cases for both wasm32-unknown-emscripten and *-pc-windows-msvc cdylib targets, ~I did not do manual testing on wasm32-unknown-emscripten target as I do not have an environment with emscripten installed. It will be appreciated if anybody tests this change for wasm32-unknown-emscripten target.~ **EDIT**: Tested for both wasm32-unknown-emscripten and x86_64-pc-windows-msvc. Thanks @Herschel for the help.
-
Auto merge of #4597 - andreevlex:fix-cargo-doc, r=alexcrichton
Fixed spelling error in manifest.md
-
-
Auto merge of #4595 - treiff:update-appveyor-badge-documentation, r=a…
…lexcrichton Update docs for appveyor badge. Can now optionally specify the appveyor `project_name`. Related PR: [rust-lang/crates.io#1111](rust-lang/crates.io#1111) Related Issue: [rust-lang/crates.io#587](rust-lang/crates.io#587)
-
-
Plus some little codemod.
-
[core/workspace] Create WorkspaceRootConfig
Create `WorkspaceRootConfig`, which knows its `root_dir` and lists of `members` and `excludes`, to answer queries on which paths are a member and which are not.
-
Auto merge of #4578 - derekdreery:refactor/cargo_util_config, r=alexc…
…richton Remove some cells from Config In most cases it makes sense to not use interior mutability in Config, so that mutability is more transparent. This PR removes Cells in these cases. It leaves those cases where parameters are only initialized on first access (LazyCell).
-
-
Auto merge of #4586 - lukaslueg:issue4534, r=alexcrichton
Report hint if single failure with --no-fail-fast There are two things going on in #4534: * The doctest-kind masks the unittest-kind if doctests are executed during `--no-fail-fast`, no doctests fail and tests errors have already piled up. This is bug, fixed. * Cargo would previously not report any unittest-hints if running with `--no-fail-fast`. This behavior has been changed to report a specific hint iif exactly one error has bubbled up during `--no-fail-fast`. The hint in #4534 is now `...pass '--test integ'`.
-
Report hint if single failure with --no-fail-fast
If a single unit-test fails, report a rerun-hint for it, even with --no-fail-fast. Fixes reporting a doctest-hint if doctest succeeds while unittest fail with --no-fail-fast. Fixes #4534
-
Auto merge of #4583 - alexcrichton:unstable, r=matklad
Fix [patch] causing updates with a virtual manifest This commit fixes the [patch] implementation to avoid causing spurious updates of the registry when specified inside of a virtual manifest via a path dependency that was otherwise outside of the workspace. Cargo previously attempted to learn about path dependencies through the configuration of the workspace by looking at members, their path dependencies, and their replace sections. The replace/patch sections, however, only matter at the root of the workspace and those weren't looked at! This commit fixes this problem by explicitly looking at the workspace's replace/patch sections and avoiding looking at other manifest replace/patch which shouldn't matter. Closes #4552
-
Fix [patch] causing updates with a virtual manifest
This commit fixes the [patch] implementation to avoid causing spurious updates of the registry when specified inside of a virtual manifest via a path dependency that was otherwise outside of the workspace. Cargo previously attempted to learn about path dependencies through the configuration of the workspace by looking at members, their path dependencies, and their replace sections. The replace/patch sections, however, only matter at the root of the workspace and those weren't looked at! This commit fixes this problem by explicitly looking at the workspace's replace/patch sections and avoiding looking at other manifest replace/patch which shouldn't matter. Closes #4552
-
Handle target specific outputs such as .wasm
Fixes #4535 - Do not add metadata to wasm32 bin target because generated .js will refer corresponding .wasm. - Handle different usages of "-" and "_" in .js and .wasm file names. (e.g "foo-bar.js" vs. "foo_bar.wasm") - Change file mode of cargo_rustc/context.rs (100755 -> 100644)