Auto merge of #44357 - nrc:rls-manifest-beta-2, r=alexcrichton
[beta] Attempt to fix the component manifest problem for rls-preview cc #44270 see #44352
This commit is contained in:
commit
ea1fd7d422
11 changed files with 59 additions and 37 deletions
18
.travis.yml
18
.travis.yml
|
|
@ -1,6 +1,8 @@
|
|||
language: shell
|
||||
sudo: required
|
||||
dist: trusty
|
||||
# FIXME(#44398) shouldn't need to be here
|
||||
group: deprecated-2017Q3
|
||||
services:
|
||||
- docker
|
||||
|
||||
|
|
@ -125,9 +127,9 @@ matrix:
|
|||
env:
|
||||
global:
|
||||
- SCCACHE_BUCKET=rust-lang-ci-sccache
|
||||
- AWS_ACCESS_KEY_ID=AKIAIMX7VLAS3PZAVLUQ
|
||||
- AWS_ACCESS_KEY_ID=AKIAJAMV3QAMMA6AXHFQ
|
||||
# AWS_SECRET_ACCESS_KEY=...
|
||||
- secure: "Pixhh0hXDqGCdOyLtGFjli3J2AtDWIpyb2btIrLe956nCBDRutRoMm6rv5DI9sFZN07Mms7VzNNvhc9wCW1y63JAm414d2Co7Ob8kWMZlz9l9t7ACHuktUiis8yr+S4Quq1Vqd6pqi7pf2J++UxC8R/uLeqVrubzr6+X7AbmEFE="
|
||||
- secure: "j96XxTVOSUf4s4r4htIxn/fvIa5DWbMgLqWl7r8z2QfgUwscmkMXAwXuFNc7s7bGTpV/+CgDiMFFM6BAFLGKutytIF6oA02s9b+usQYnM0th7YQ2AIgm9GtMTJCJp4AoyfFmh8F2faUICBZlfVLUJ34udHEe35vOklix+0k4WDo="
|
||||
|
||||
before_install:
|
||||
# If we are building a pull request, do the build if $ALLOW_PR == 1
|
||||
|
|
@ -260,9 +262,9 @@ deploy:
|
|||
upload_dir: rustc-builds
|
||||
acl: public_read
|
||||
region: us-east-1
|
||||
access_key_id: AKIAIPQVNYF2T3DTYIWQ
|
||||
access_key_id: AKIAJVBODR3IA4O72THQ
|
||||
secret_access_key:
|
||||
secure: "FBqDqOTeIPMu6v/WYPf4CFSlh9rLRZGKVtpLa5KkyuOhXRTrnEzBduEtS8/FMIxdQImvurhSvxWvqRybMOi4qoVfjMqqpHAI7uBbidbrvAcJoHNsx6BgUNVCIoH6a0UsAjTUtm6/YPIpzbHoLZXPL0GrHPMk6Mu04qVSmcYNWn4="
|
||||
secure: "kUGd3t7JcVWFESgIlzvsM8viZgCA9Encs3creW0xLJaLSeI1iVjlJK4h/2/nO6y224AFrh/GUfsNr4/4AlxPuYb8OU5oC5Lv+Ff2JiRDYtuNpyQSKAQp+bRYytWMtrmhja91h118Mbm90cUfcLPwkdiINgJNTXhPKg5Cqu3VYn0="
|
||||
on:
|
||||
branch: auto
|
||||
condition: $DEPLOY = 1
|
||||
|
|
@ -274,9 +276,9 @@ deploy:
|
|||
upload_dir: rustc-builds-try
|
||||
acl: public_read
|
||||
region: us-east-1
|
||||
access_key_id: AKIAIPQVNYF2T3DTYIWQ
|
||||
access_key_id: AKIAJVBODR3IA4O72THQ
|
||||
secret_access_key:
|
||||
secure: "FBqDqOTeIPMu6v/WYPf4CFSlh9rLRZGKVtpLa5KkyuOhXRTrnEzBduEtS8/FMIxdQImvurhSvxWvqRybMOi4qoVfjMqqpHAI7uBbidbrvAcJoHNsx6BgUNVCIoH6a0UsAjTUtm6/YPIpzbHoLZXPL0GrHPMk6Mu04qVSmcYNWn4="
|
||||
secure: "kUGd3t7JcVWFESgIlzvsM8viZgCA9Encs3creW0xLJaLSeI1iVjlJK4h/2/nO6y224AFrh/GUfsNr4/4AlxPuYb8OU5oC5Lv+Ff2JiRDYtuNpyQSKAQp+bRYytWMtrmhja91h118Mbm90cUfcLPwkdiINgJNTXhPKg5Cqu3VYn0="
|
||||
on:
|
||||
branch: try
|
||||
condition: $DEPLOY = 1 && $ALLOW_TRY = 1
|
||||
|
|
@ -290,9 +292,9 @@ deploy:
|
|||
upload_dir: rustc-builds-alt
|
||||
acl: public_read
|
||||
region: us-east-1
|
||||
access_key_id: AKIAIPQVNYF2T3DTYIWQ
|
||||
access_key_id: AKIAJVBODR3IA4O72THQ
|
||||
secret_access_key:
|
||||
secure: "FBqDqOTeIPMu6v/WYPf4CFSlh9rLRZGKVtpLa5KkyuOhXRTrnEzBduEtS8/FMIxdQImvurhSvxWvqRybMOi4qoVfjMqqpHAI7uBbidbrvAcJoHNsx6BgUNVCIoH6a0UsAjTUtm6/YPIpzbHoLZXPL0GrHPMk6Mu04qVSmcYNWn4="
|
||||
secure: "kUGd3t7JcVWFESgIlzvsM8viZgCA9Encs3creW0xLJaLSeI1iVjlJK4h/2/nO6y224AFrh/GUfsNr4/4AlxPuYb8OU5oC5Lv+Ff2JiRDYtuNpyQSKAQp+bRYytWMtrmhja91h118Mbm90cUfcLPwkdiINgJNTXhPKg5Cqu3VYn0="
|
||||
on:
|
||||
branch: auto
|
||||
condition: $DEPLOY_ALT = 1
|
||||
|
|
|
|||
12
appveyor.yml
12
appveyor.yml
|
|
@ -1,8 +1,8 @@
|
|||
environment:
|
||||
SCCACHE_BUCKET: rust-lang-ci-sccache
|
||||
AWS_ACCESS_KEY_ID: AKIAIMX7VLAS3PZAVLUQ
|
||||
AWS_ACCESS_KEY_ID: AKIAJAMV3QAMMA6AXHFQ
|
||||
AWS_SECRET_ACCESS_KEY:
|
||||
secure: 1UkmbiDd15tWtYbMm5O2Uqm0b0Ur8v1MoSlydxl4ojcroPeerRMlUges0l57py8c
|
||||
secure: 7Y+JiquYedOAgnUU26uL0DPzrxmTtR+qIwG6rNKSuWDffqU3vVZxbGXim9QpTO80
|
||||
SCCACHE_DIGEST: f808afabb4a4eb1d7112bcb3fa6be03b61e93412890c88e177c667eb37f46353d7ec294e559b16f9f4b5e894f2185fe7670a0df15fd064889ecbd80f0c34166c
|
||||
|
||||
# By default schannel checks revocation of certificates unlike some other SSL
|
||||
|
|
@ -185,9 +185,9 @@ before_deploy:
|
|||
deploy:
|
||||
- provider: S3
|
||||
skip_cleanup: true
|
||||
access_key_id: AKIAIPQVNYF2T3DTYIWQ
|
||||
access_key_id: AKIAJVBODR3IA4O72THQ
|
||||
secret_access_key:
|
||||
secure: +11jsUNFTQ9dq5Ad1i2+PeUJaXluFJ0zIJAXESE1dFT3Kdjku4/eDdgyjgsB6GnV
|
||||
secure: tQWIE+DJHjXaV4np/3YeETkEmXngtIuIgAO/LYKQaUshGLgN8cBCFGG3cHx5lKLt
|
||||
bucket: rust-lang-ci
|
||||
set_public: true
|
||||
region: us-east-1
|
||||
|
|
@ -202,9 +202,9 @@ deploy:
|
|||
# different upload directory and a slightly different trigger
|
||||
- provider: S3
|
||||
skip_cleanup: true
|
||||
access_key_id: AKIAIPQVNYF2T3DTYIWQ
|
||||
access_key_id: AKIAJVBODR3IA4O72THQ
|
||||
secret_access_key:
|
||||
secure: +11jsUNFTQ9dq5Ad1i2+PeUJaXluFJ0zIJAXESE1dFT3Kdjku4/eDdgyjgsB6GnV
|
||||
secure: tQWIE+DJHjXaV4np/3YeETkEmXngtIuIgAO/LYKQaUshGLgN8cBCFGG3cHx5lKLt
|
||||
bucket: rust-lang-ci
|
||||
set_public: true
|
||||
region: us-east-1
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ pub const CFG_RELEASE_NUM: &str = "1.21.0";
|
|||
// An optional number to put after the label, e.g. '.2' -> '-beta.2'
|
||||
// Be sure to make this starts with a dot to conform to semver pre-release
|
||||
// versions (section 9)
|
||||
pub const CFG_PRERELEASE_VERSION: &str = ".2";
|
||||
pub const CFG_PRERELEASE_VERSION: &str = ".3";
|
||||
|
||||
pub struct GitInfo {
|
||||
inner: Option<Info>,
|
||||
|
|
|
|||
|
|
@ -1081,8 +1081,14 @@ impl Step for Rls {
|
|||
.arg("--output-dir").arg(&distdir(build))
|
||||
.arg("--non-installed-overlay").arg(&overlay)
|
||||
.arg(format!("--package-name={}-{}", name, target))
|
||||
.arg("--component-name=rls")
|
||||
.arg("--legacy-manifest-dirs=rustlib,cargo");
|
||||
|
||||
if build.config.channel == "nightly" {
|
||||
cmd.arg("--component-name=rls");
|
||||
} else {
|
||||
cmd.arg("--component-name=rls-preview");
|
||||
}
|
||||
|
||||
build.run(&mut cmd);
|
||||
distdir(build).join(format!("{}-{}.tar.gz", name, target))
|
||||
}
|
||||
|
|
@ -1279,9 +1285,12 @@ impl Step for Extended {
|
|||
cp_r(&work.join(&format!("{}-{}", pkgname(build, "rust-std"), target))
|
||||
.join(format!("rust-std-{}", target)),
|
||||
&exe.join("rust-std"));
|
||||
cp_r(&work.join(&format!("{}-{}", pkgname(build, "rls"), target))
|
||||
.join("rls"),
|
||||
&exe.join("rls"));
|
||||
let rls_path = if build.config.channel == "nightly" {
|
||||
work.join(&format!("{}-{}", pkgname(build, "rls"), target)).join("rls")
|
||||
} else {
|
||||
work.join(&format!("{}-{}", pkgname(build, "rls"), target)).join("rls-preview")
|
||||
};
|
||||
cp_r(&rls_path, &exe.join("rls"));
|
||||
cp_r(&work.join(&format!("{}-{}", pkgname(build, "rust-analysis"), target))
|
||||
.join(format!("rust-analysis-{}", target)),
|
||||
&exe.join("rust-analysis"));
|
||||
|
|
|
|||
|
|
@ -200,7 +200,7 @@ install!((self, builder, _config),
|
|||
builder.ensure(dist::Src);
|
||||
install_src(builder, self.stage);
|
||||
}, ONLY_BUILD;
|
||||
Rustc, "src/librustc", _config.extended, only_hosts: true, {
|
||||
Rustc, "src/librustc", true, only_hosts: true, {
|
||||
builder.ensure(dist::Rustc {
|
||||
compiler: builder.compiler(self.stage, self.target),
|
||||
});
|
||||
|
|
|
|||
|
|
@ -754,39 +754,39 @@ pub unsafe fn transmute_copy<T, U>(src: &T) -> U {
|
|||
/// Opaque type representing the discriminant of an enum.
|
||||
///
|
||||
/// See the `discriminant` function in this module for more information.
|
||||
#[unstable(feature = "discriminant_value", reason = "recently added, follows RFC", issue = "24263")]
|
||||
#[stable(feature = "discriminant_value", since = "1.21.0")]
|
||||
pub struct Discriminant<T>(u64, PhantomData<*const T>);
|
||||
|
||||
// N.B. These trait implementations cannot be derived because we don't want any bounds on T.
|
||||
|
||||
#[unstable(feature = "discriminant_value", reason = "recently added, follows RFC", issue = "24263")]
|
||||
#[stable(feature = "discriminant_value", since = "1.21.0")]
|
||||
impl<T> Copy for Discriminant<T> {}
|
||||
|
||||
#[unstable(feature = "discriminant_value", reason = "recently added, follows RFC", issue = "24263")]
|
||||
#[stable(feature = "discriminant_value", since = "1.21.0")]
|
||||
impl<T> clone::Clone for Discriminant<T> {
|
||||
fn clone(&self) -> Self {
|
||||
*self
|
||||
}
|
||||
}
|
||||
|
||||
#[unstable(feature = "discriminant_value", reason = "recently added, follows RFC", issue = "24263")]
|
||||
#[stable(feature = "discriminant_value", since = "1.21.0")]
|
||||
impl<T> cmp::PartialEq for Discriminant<T> {
|
||||
fn eq(&self, rhs: &Self) -> bool {
|
||||
self.0 == rhs.0
|
||||
}
|
||||
}
|
||||
|
||||
#[unstable(feature = "discriminant_value", reason = "recently added, follows RFC", issue = "24263")]
|
||||
#[stable(feature = "discriminant_value", since = "1.21.0")]
|
||||
impl<T> cmp::Eq for Discriminant<T> {}
|
||||
|
||||
#[unstable(feature = "discriminant_value", reason = "recently added, follows RFC", issue = "24263")]
|
||||
#[stable(feature = "discriminant_value", since = "1.21.0")]
|
||||
impl<T> hash::Hash for Discriminant<T> {
|
||||
fn hash<H: hash::Hasher>(&self, state: &mut H) {
|
||||
self.0.hash(state);
|
||||
}
|
||||
}
|
||||
|
||||
#[unstable(feature = "discriminant_value", reason = "recently added, follows RFC", issue = "24263")]
|
||||
#[stable(feature = "discriminant_value", since = "1.21.0")]
|
||||
impl<T> fmt::Debug for Discriminant<T> {
|
||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||
fmt.debug_tuple("Discriminant")
|
||||
|
|
@ -811,7 +811,6 @@ impl<T> fmt::Debug for Discriminant<T> {
|
|||
/// the actual data:
|
||||
///
|
||||
/// ```
|
||||
/// #![feature(discriminant_value)]
|
||||
/// use std::mem;
|
||||
///
|
||||
/// enum Foo { A(&'static str), B(i32), C(i32) }
|
||||
|
|
@ -820,7 +819,7 @@ impl<T> fmt::Debug for Discriminant<T> {
|
|||
/// assert!(mem::discriminant(&Foo::B(1)) == mem::discriminant(&Foo::B(2)));
|
||||
/// assert!(mem::discriminant(&Foo::B(3)) != mem::discriminant(&Foo::C(3)));
|
||||
/// ```
|
||||
#[unstable(feature = "discriminant_value", reason = "recently added, follows RFC", issue = "24263")]
|
||||
#[stable(feature = "discriminant_value", since = "1.21.0")]
|
||||
pub fn discriminant<T>(v: &T) -> Discriminant<T> {
|
||||
unsafe {
|
||||
Discriminant(intrinsics::discriminant_value(v), PhantomData)
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@
|
|||
#![feature(conservative_impl_trait)]
|
||||
#![feature(const_fn)]
|
||||
#![feature(core_intrinsics)]
|
||||
#![feature(discriminant_value)]
|
||||
#![feature(i128_type)]
|
||||
#![cfg_attr(windows, feature(libc))]
|
||||
#![feature(never_type)]
|
||||
|
|
@ -34,7 +33,6 @@
|
|||
#![feature(slice_patterns)]
|
||||
#![feature(specialization)]
|
||||
#![feature(unboxed_closures)]
|
||||
#![feature(discriminant_value)]
|
||||
#![feature(trace_macros)]
|
||||
#![feature(test)]
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,6 @@
|
|||
#![feature(unsize)]
|
||||
#![feature(i128_type)]
|
||||
#![feature(conservative_impl_trait)]
|
||||
#![feature(discriminant_value)]
|
||||
#![feature(specialization)]
|
||||
|
||||
#![cfg_attr(unix, feature(libc))]
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@
|
|||
#![feature(quote)]
|
||||
#![feature(rustc_diagnostic_macros)]
|
||||
#![feature(specialization)]
|
||||
#![feature(discriminant_value)]
|
||||
#![feature(rustc_private)]
|
||||
|
||||
#[macro_use]
|
||||
|
|
|
|||
|
|
@ -106,14 +106,32 @@ pub fn build_link_meta(incremental_hashes_map: &IncrementalHashesMap) -> LinkMet
|
|||
pub fn get_linker(sess: &Session) -> (String, Command, Vec<(OsString, OsString)>) {
|
||||
let envs = vec![("PATH".into(), command_path(sess))];
|
||||
|
||||
// If our linker looks like a batch script on Windows then to execute this
|
||||
// we'll need to spawn `cmd` explicitly. This is primarily done to handle
|
||||
// emscripten where the linker is `emcc.bat` and needs to be spawned as
|
||||
// `cmd /c emcc.bat ...`.
|
||||
//
|
||||
// This worked historically but is needed manually since #42436 (regression
|
||||
// was tagged as #42791) and some more info can be found on #44443 for
|
||||
// emscripten itself.
|
||||
let cmd = |linker: &str| {
|
||||
if cfg!(windows) && linker.ends_with(".bat") {
|
||||
let mut cmd = Command::new("cmd");
|
||||
cmd.arg("/c").arg(linker);
|
||||
cmd
|
||||
} else {
|
||||
Command::new(linker)
|
||||
}
|
||||
};
|
||||
|
||||
if let Some(ref linker) = sess.opts.cg.linker {
|
||||
(linker.clone(), Command::new(linker), envs)
|
||||
(linker.clone(), cmd(linker), envs)
|
||||
} else if sess.target.target.options.is_like_msvc {
|
||||
let (cmd, envs) = msvc_link_exe_cmd(sess);
|
||||
("link.exe".to_string(), cmd, envs)
|
||||
} else {
|
||||
let linker = &sess.target.target.options.linker;
|
||||
(linker.clone(), Command::new(&linker), envs)
|
||||
(linker.clone(), cmd(linker), envs)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
#![feature(discriminant_value)]
|
||||
|
||||
use std::mem;
|
||||
|
||||
enum ADT {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue