use std::env;
use std::fs::{self, File};
-use std::io::{Read, Write};
+use std::io::{self, Read, Write};
use std::path::{PathBuf, Path};
use std::process::{Command, Stdio};
// Man pages
t!(fs::create_dir_all(image.join("share/man/man1")));
- cp_r(&build.src.join("man"), &image.join("share/man/man1"));
+ cp_r(&build.src.join("src/doc/man"), &image.join("share/man/man1"));
// Debugger scripts
builder.ensure(DebuggerScripts {
"config.toml.example",
];
let src_dirs = [
- "man",
"src",
];
fn install(src: &Path, dstdir: &Path, perms: u32) {
let dst = dstdir.join(src.file_name().unwrap());
t!(fs::create_dir_all(dstdir));
- t!(fs::copy(src, &dst));
+ drop(fs::remove_file(&dst));
+ {
+ let mut s = t!(fs::File::open(&src));
+ let mut d = t!(fs::File::create(&dst));
+ io::copy(&mut s, &mut d).expect("failed to copy");
+ }
chmod(&dst, perms);
}
.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))
}
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"));