diff --git a/Cargo.lock b/Cargo.lock index 0724609dc5a..a3b3ef4b549 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -77,7 +77,7 @@ name = "backtrace-sys" version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -155,15 +155,15 @@ dependencies = [ [[package]] name = "cargo" -version = "0.42.0" -source = "git+https://github.com/rust-lang/cargo?rev=626f0f40efd32e6b3dbade50cd53fdfaa08446ba#626f0f40efd32e6b3dbade50cd53fdfaa08446ba" +version = "0.43.0" +source = "git+https://github.com/rust-lang/cargo?rev=86134e7666a088682f20b76278c3ee096a315218#86134e7666a088682f20b76278c3ee096a315218" dependencies = [ "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", "bytesize 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cargo-platform 0.1.0 (git+https://github.com/rust-lang/cargo?rev=626f0f40efd32e6b3dbade50cd53fdfaa08446ba)", + "cargo-platform 0.1.1 (git+https://github.com/rust-lang/cargo?rev=86134e7666a088682f20b76278c3ee096a315218)", "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "crates-io 0.30.0 (git+https://github.com/rust-lang/cargo?rev=626f0f40efd32e6b3dbade50cd53fdfaa08446ba)", + "crates-io 0.30.0 (git+https://github.com/rust-lang/cargo?rev=86134e7666a088682f20b76278c3ee096a315218)", "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "crypto-hash 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "curl 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", @@ -174,8 +174,8 @@ dependencies = [ "flate2 1.0.11 (registry+https://github.com/rust-lang/crates.io-index)", "fs2 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "fwdansi 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "git2 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", - "git2-curl 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "git2 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "git2-curl 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "hex 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "home 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -186,7 +186,7 @@ dependencies = [ "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "libgit2-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libgit2-sys 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "miow 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -215,8 +215,8 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.0" -source = "git+https://github.com/rust-lang/cargo?rev=626f0f40efd32e6b3dbade50cd53fdfaa08446ba#626f0f40efd32e6b3dbade50cd53fdfaa08446ba" +version = "0.1.1" +source = "git+https://github.com/rust-lang/cargo?rev=86134e7666a088682f20b76278c3ee096a315218#86134e7666a088682f20b76278c3ee096a315218" dependencies = [ "serde 1.0.99 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -245,8 +245,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.40" +version = "1.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "jobserver 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", + "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "cfg-if" @@ -334,7 +338,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "crates-io" version = "0.30.0" -source = "git+https://github.com/rust-lang/cargo?rev=626f0f40efd32e6b3dbade50cd53fdfaa08446ba#626f0f40efd32e6b3dbade50cd53fdfaa08446ba" +source = "git+https://github.com/rust-lang/cargo?rev=86134e7666a088682f20b76278c3ee096a315218#86134e7666a088682f20b76278c3ee096a315218" dependencies = [ "curl 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -449,7 +453,7 @@ name = "curl-sys" version = "0.4.24" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", "libnghttp2-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", @@ -678,12 +682,12 @@ dependencies = [ [[package]] name = "git2" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", - "libgit2-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "libgit2-sys 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "openssl-sys 0.9.49 (registry+https://github.com/rust-lang/crates.io-index)", @@ -692,11 +696,11 @@ dependencies = [ [[package]] name = "git2-curl" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "curl 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)", - "git2 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", + "git2 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -962,10 +966,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "libgit2-sys" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", "libssh2-sys 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", @@ -978,7 +982,7 @@ name = "libnghttp2-sys" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -987,7 +991,7 @@ name = "libssh2-sys" version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)", "openssl-sys 0.9.49 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1000,7 +1004,7 @@ name = "libz-sys" version = "1.0.25" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1076,7 +1080,7 @@ name = "miniz-sys" version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1201,7 +1205,7 @@ version = "0.9.49" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)", + "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1599,7 +1603,7 @@ dependencies = [ name = "rls" version = "1.41.0" dependencies = [ - "cargo 0.42.0 (git+https://github.com/rust-lang/cargo?rev=626f0f40efd32e6b3dbade50cd53fdfaa08446ba)", + "cargo 0.43.0 (git+https://github.com/rust-lang/cargo?rev=86134e7666a088682f20b76278c3ee096a315218)", "cargo_metadata 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)", "clippy_lints 0.0.212 (git+https://github.com/rust-lang/rust-clippy?rev=b245fbd0f2bdbd002611a45d0758f9be44eaf66b)", "crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2691,11 +2695,11 @@ dependencies = [ "checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" "checksum bytesize 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "716960a18f978640f25101b5cbf1c6f6b0d3192fab36a2d98ca96f0ecbe41010" "checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101" -"checksum cargo 0.42.0 (git+https://github.com/rust-lang/cargo?rev=626f0f40efd32e6b3dbade50cd53fdfaa08446ba)" = "" -"checksum cargo-platform 0.1.0 (git+https://github.com/rust-lang/cargo?rev=626f0f40efd32e6b3dbade50cd53fdfaa08446ba)" = "" +"checksum cargo 0.43.0 (git+https://github.com/rust-lang/cargo?rev=86134e7666a088682f20b76278c3ee096a315218)" = "" +"checksum cargo-platform 0.1.1 (git+https://github.com/rust-lang/cargo?rev=86134e7666a088682f20b76278c3ee096a315218)" = "" "checksum cargo_metadata 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "700b3731fd7d357223d0000f4dbf1808401b694609035c3c411fbc0cd375c426" "checksum cargo_metadata 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8d2d1617e838936c0d2323a65cc151e03ae19a7678dd24f72bccf27119b90a5d" -"checksum cc 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "b548a4ee81fccb95919d4e22cfea83c7693ebfd78f0495493178db20b3139da7" +"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76" "checksum cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33" "checksum clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9" "checksum clippy_lints 0.0.212 (git+https://github.com/rust-lang/rust-clippy?rev=b245fbd0f2bdbd002611a45d0758f9be44eaf66b)" = "" @@ -2705,7 +2709,7 @@ dependencies = [ "checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120" "checksum core-foundation 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171" "checksum core-foundation-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" -"checksum crates-io 0.30.0 (git+https://github.com/rust-lang/cargo?rev=626f0f40efd32e6b3dbade50cd53fdfaa08446ba)" = "" +"checksum crates-io 0.30.0 (git+https://github.com/rust-lang/cargo?rev=86134e7666a088682f20b76278c3ee096a315218)" = "" "checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1" "checksum crossbeam-channel 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c8ec7fcd21571dc78f96cc96243cab8d8f035247c3efd16c687be154c3fa9efa" "checksum crossbeam-deque 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "05e44b8cf3e1a625844d1750e1f7820da46044ff6d28f4d43e455ba3e5bb2c13" @@ -2743,8 +2747,8 @@ dependencies = [ "checksum fwdansi 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "34dd4c507af68d37ffef962063dfa1944ce0dd4d5b82043dbab1dabe088610c3" "checksum getopts 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)" = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" "checksum getrandom 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "6171a6cc63fbabbe27c2b5ee268e8b7fe5dc1eb0dd2dfad537c1dfed6f69117e" -"checksum git2 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "327d698f86a7ebdfeb86a4238ccdb004828939d3a3555b6ead679541d14e36c0" -"checksum git2-curl 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cd6527e480187ce19aaf4fa6acfb7657b25628ce31cb8ffabdfca3bf731524c5" +"checksum git2 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "77519ef7c5beee314d0804d4534f01e0f9e8d9acdee2b7a48627e590b27e0ec4" +"checksum git2-curl 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d2559abb1d87d27668d31bd868a000f0e2e0065d10e78961b62da95d7a7f1cc7" "checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" "checksum globset 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "925aa2cac82d8834e2b2a4415b6f6879757fb5c0928fc445ae76461a12eed8f2" "checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205" @@ -2774,7 +2778,7 @@ dependencies = [ "checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14" "checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f" "checksum libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba" -"checksum libgit2-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8c2078aec6f4b16d1b89f6a72e4f6eb1e75ffa85312023291e89c6d3087bc8fb" +"checksum libgit2-sys 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9ec6bca50549d34a392611dde775123086acbd994e3fff64954777ce2dc2e51" "checksum libnghttp2-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02254d44f4435dd79e695f2c2b83cd06a47919adea30216ceaf0c57ca0a72463" "checksum libssh2-sys 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "126a1f4078368b163bfdee65fbab072af08a1b374a5551b21e87ade27b1fbf9d" "checksum libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe" diff --git a/Cargo.toml b/Cargo.toml index ce530a0eaff..ea0b522e785 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,7 +29,7 @@ rls-span = "0.5" rls-vfs = "0.8" rls-ipc = { version = "0.1.0", path = "rls-ipc", optional = true } -cargo = { git = "https://github.com/rust-lang/cargo", rev = "626f0f40efd32e6b3dbade50cd53fdfaa08446ba" } +cargo = { git = "https://github.com/rust-lang/cargo", rev = "86134e7666a088682f20b76278c3ee096a315218" } cargo_metadata = "0.8" clippy_lints = { git = "https://github.com/rust-lang/rust-clippy", rev = "b245fbd0f2bdbd002611a45d0758f9be44eaf66b", optional = true } env_logger = "0.7" diff --git a/rls/src/build/cargo.rs b/rls/src/build/cargo.rs index a317ba78d59..53d1a75a6a9 100644 --- a/rls/src/build/cargo.rs +++ b/rls/src/build/cargo.rs @@ -17,7 +17,7 @@ use cargo::core::{ }; use cargo::ops::{compile_with_exec, CompileFilter, CompileOptions, Packages}; use cargo::util::{ - errors::ManifestError, homedir, important_paths, CargoResult, Config as CargoConfig, + config as cargo_config, errors::ManifestError, homedir, important_paths, CargoResult, ConfigValue, ProcessBuilder, }; use failure::{self, format_err, Fail}; @@ -166,7 +166,7 @@ fn run_cargo_ws( inner_lock: environment::InnerLock, mut restore_env: Environment<'_>, manifest_path: &PathBuf, - config: &CargoConfig, + config: &cargo_config::Config, ws: &Workspace<'_>, ) -> CargoResult { let (all, packages) = match package_arg { @@ -649,8 +649,8 @@ pub fn make_cargo_config( target_dir: Option<&Path>, cwd: &Path, shell: Shell, -) -> CargoConfig { - let config = CargoConfig::new(shell, cwd.to_path_buf(), homedir(build_dir).unwrap()); +) -> cargo_config::Config { + let config = cargo_config::Config::new(shell, cwd.to_path_buf(), homedir(build_dir).unwrap()); // Cargo is expecting the config to come from a config file and keeps // track of the path to that file. We'll make one up, it shouldn't be @@ -662,9 +662,10 @@ pub fn make_cargo_config( let mut config_value_map = config.load_values().unwrap(); { - let build_value = config_value_map - .entry("build".to_owned()) - .or_insert_with(|| ConfigValue::Table(HashMap::new(), config_path.clone())); + let build_value = config_value_map.entry("build".to_owned()).or_insert_with(|| { + let def = cargo_config::Definition::Path(config_path.clone()); + ConfigValue::Table(HashMap::new(), def) + }); let target_dir = target_dir.map(|d| d.to_str().unwrap().to_owned()).unwrap_or_else(|| { // Try to use .cargo/config build.target-dir + "/rls" @@ -686,7 +687,8 @@ pub fn make_cargo_config( cargo_target.join("rls").to_str().unwrap().to_owned() }); - let td_value = ConfigValue::String(target_dir, config_path); + let def = cargo_config::Definition::Path(config_path); + let td_value = ConfigValue::String(target_dir, def); if let ConfigValue::Table(ref mut build_table, _) = *build_value { build_table.insert("target-dir".to_owned(), td_value); } else { diff --git a/rls/src/project_model.rs b/rls/src/project_model.rs index a419cb58169..ef3f61f2f47 100644 --- a/rls/src/project_model.rs +++ b/rls/src/project_model.rs @@ -48,7 +48,7 @@ impl ProjectModel { // Enable nightly flag for cargo(see #1043) cargo::core::enable_nightly_features(); // frozen = false, locked = false, offline = false - config.configure(0, Some(true), &None, false, false, false, &None, &[])?; + config.configure(0, Some(true), None, false, false, false, &None, &[], &[])?; let ws = Workspace::new(&ws_manifest, &config)?; // get resolve from lock file let prev = {