mirror of
https://github.com/zellij-org/zellij.git
synced 2026-10-11 22:50:07 +00:00
+3
-2
@@ -6,8 +6,9 @@ edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
anyhow = "1.0"
|
||||
xshell = "= 0.2.7"
|
||||
xflags = "0.3.2"
|
||||
lazy_static = "1.4"
|
||||
xshell = "= 0.2.2"
|
||||
xflags = "0.3.1"
|
||||
which = "4.2"
|
||||
toml = "0.5"
|
||||
prost-build = "0.11.9"
|
||||
|
||||
+6
-4
@@ -22,7 +22,7 @@ pub fn build(sh: &Shell, flags: flags::Build) -> anyhow::Result<()> {
|
||||
std::process::exit(1);
|
||||
}
|
||||
|
||||
for WorkspaceMember { crate_name, .. } in crate::workspace_members()
|
||||
for WorkspaceMember { crate_name, .. } in crate::WORKSPACE_MEMBERS
|
||||
.iter()
|
||||
.filter(|member| member.build)
|
||||
{
|
||||
@@ -32,8 +32,10 @@ pub fn build(sh: &Shell, flags: flags::Build) -> anyhow::Result<()> {
|
||||
if flags.no_plugins {
|
||||
continue;
|
||||
}
|
||||
} else if flags.plugins_only {
|
||||
continue;
|
||||
} else {
|
||||
if flags.plugins_only {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// zellij-utils requires protobuf definition files to be present. Usually these are
|
||||
@@ -151,7 +153,7 @@ pub fn manpage(sh: &Shell) -> anyhow::Result<()> {
|
||||
|
||||
let project_root = crate::project_root();
|
||||
let asset_dir = &project_root.join("assets").join("man");
|
||||
sh.create_dir(asset_dir).context(err_context)?;
|
||||
sh.create_dir(&asset_dir).context(err_context)?;
|
||||
let _pd = sh.push_dir(asset_dir);
|
||||
|
||||
cmd!(sh, "{mandown} {project_root}/docs/MANPAGE.md 1")
|
||||
|
||||
+4
-4
@@ -77,7 +77,7 @@ fn e2e_build(sh: &Shell) -> anyhow::Result<()> {
|
||||
|
||||
sh.remove_path(&data_dir)
|
||||
.and_then(|_| sh.create_dir(&data_dir))
|
||||
.and_then(|_| sh.create_dir(data_dir.join("plugins")))
|
||||
.and_then(|_| sh.create_dir(&data_dir.join("plugins")))
|
||||
.context(err_context)?;
|
||||
|
||||
for plugin in plugins {
|
||||
@@ -119,15 +119,15 @@ fn e2e_test(sh: &Shell, args: Vec<OsString>) -> anyhow::Result<()> {
|
||||
|
||||
// plugin system tests are run here because they're medium-slow
|
||||
let _pd = sh.push_dir(Path::new("zellij-server"));
|
||||
println!();
|
||||
let msg = ">> Testing Plugin System".to_string();
|
||||
println!("");
|
||||
let msg = format!(">> Testing Plugin System");
|
||||
crate::status(&msg);
|
||||
println!("{}", msg);
|
||||
|
||||
cmd!(sh, "{cargo} test -- --ignored --nocapture --test-threads 1")
|
||||
.args(args.clone())
|
||||
.run()
|
||||
.with_context(|| "Failed to run tests for the Plugin System".to_string())?;
|
||||
.with_context(|| format!("Failed to run tests for the Plugin System"))?;
|
||||
Ok(())
|
||||
})
|
||||
.context(err_context)
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ pub fn clippy(sh: &Shell, _flags: flags::Clippy) -> anyhow::Result<()> {
|
||||
.and_then(|_| crate::cargo())
|
||||
.context("failed to run task 'clippy'")?;
|
||||
|
||||
for WorkspaceMember { crate_name, .. } in crate::workspace_members().iter() {
|
||||
for WorkspaceMember { crate_name, .. } in crate::WORKSPACE_MEMBERS.iter() {
|
||||
let _pd = sh.push_dir(Path::new(crate_name));
|
||||
// Tell the user where we are now
|
||||
println!();
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ xflags::xflags! {
|
||||
cmd xtask {
|
||||
/// Deprecation warning. Compatibility to transition from `cargo make`.
|
||||
cmd deprecated {
|
||||
repeated _args: OsString
|
||||
repeated args: OsString
|
||||
}
|
||||
|
||||
/// Tasks for the CI
|
||||
@@ -128,7 +128,7 @@ pub enum XtaskCmd {
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Deprecated {
|
||||
pub _args: Vec<OsString>,
|
||||
pub args: Vec<OsString>,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ pub fn format(sh: &Shell, flags: flags::Format) -> anyhow::Result<()> {
|
||||
.and_then(|_| crate::cargo())
|
||||
.context("failed to run task 'format'")?;
|
||||
|
||||
for WorkspaceMember { crate_name, .. } in crate::workspace_members().iter() {
|
||||
for WorkspaceMember { crate_name, .. } in crate::WORKSPACE_MEMBERS.iter() {
|
||||
let _pd = sh.push_dir(Path::new(crate_name));
|
||||
// Tell the user where we are now
|
||||
println!();
|
||||
|
||||
+18
-67
@@ -19,7 +19,6 @@ use anyhow::Context;
|
||||
use std::{
|
||||
env,
|
||||
path::{Path, PathBuf},
|
||||
sync::OnceLock,
|
||||
time::Instant,
|
||||
};
|
||||
use xshell::Shell;
|
||||
@@ -29,72 +28,24 @@ pub struct WorkspaceMember {
|
||||
build: bool,
|
||||
}
|
||||
|
||||
fn workspace_members() -> &'static Vec<WorkspaceMember> {
|
||||
static WORKSPACE_MEMBERS: OnceLock<Vec<WorkspaceMember>> = OnceLock::new();
|
||||
WORKSPACE_MEMBERS.get_or_init(|| {
|
||||
vec![
|
||||
WorkspaceMember {
|
||||
crate_name: "default-plugins/compact-bar",
|
||||
build: true,
|
||||
},
|
||||
WorkspaceMember {
|
||||
crate_name: "default-plugins/status-bar",
|
||||
build: true,
|
||||
},
|
||||
WorkspaceMember {
|
||||
crate_name: "default-plugins/strider",
|
||||
build: true,
|
||||
},
|
||||
WorkspaceMember {
|
||||
crate_name: "default-plugins/tab-bar",
|
||||
build: true,
|
||||
},
|
||||
WorkspaceMember {
|
||||
crate_name: "default-plugins/fixture-plugin-for-tests",
|
||||
build: true,
|
||||
},
|
||||
WorkspaceMember {
|
||||
crate_name: "default-plugins/session-manager",
|
||||
build: true,
|
||||
},
|
||||
WorkspaceMember {
|
||||
crate_name: "default-plugins/configuration",
|
||||
build: true,
|
||||
},
|
||||
WorkspaceMember {
|
||||
crate_name: "default-plugins/plugin-manager",
|
||||
build: true,
|
||||
},
|
||||
WorkspaceMember {
|
||||
crate_name: "default-plugins/about",
|
||||
build: true,
|
||||
},
|
||||
WorkspaceMember {
|
||||
crate_name: "zellij-utils",
|
||||
build: false,
|
||||
},
|
||||
WorkspaceMember {
|
||||
crate_name: "zellij-tile-utils",
|
||||
build: false,
|
||||
},
|
||||
WorkspaceMember {
|
||||
crate_name: "zellij-tile",
|
||||
build: false,
|
||||
},
|
||||
WorkspaceMember {
|
||||
crate_name: "zellij-client",
|
||||
build: false,
|
||||
},
|
||||
WorkspaceMember {
|
||||
crate_name: "zellij-server",
|
||||
build: false,
|
||||
},
|
||||
WorkspaceMember {
|
||||
crate_name: ".",
|
||||
build: true,
|
||||
},
|
||||
]
|
||||
})
|
||||
lazy_static::lazy_static! {
|
||||
pub static ref WORKSPACE_MEMBERS: Vec<WorkspaceMember> = vec![
|
||||
WorkspaceMember{crate_name: "default-plugins/compact-bar", build: true},
|
||||
WorkspaceMember{crate_name: "default-plugins/status-bar", build: true},
|
||||
WorkspaceMember{crate_name: "default-plugins/strider", build: true},
|
||||
WorkspaceMember{crate_name: "default-plugins/tab-bar", build: true},
|
||||
WorkspaceMember{crate_name: "default-plugins/fixture-plugin-for-tests", build: true},
|
||||
WorkspaceMember{crate_name: "default-plugins/session-manager", build: true},
|
||||
WorkspaceMember{crate_name: "default-plugins/configuration", build: true},
|
||||
WorkspaceMember{crate_name: "default-plugins/plugin-manager", build: true},
|
||||
WorkspaceMember{crate_name: "default-plugins/about", build: true},
|
||||
WorkspaceMember{crate_name: "zellij-utils", build: false},
|
||||
WorkspaceMember{crate_name: "zellij-tile-utils", build: false},
|
||||
WorkspaceMember{crate_name: "zellij-tile", build: false},
|
||||
WorkspaceMember{crate_name: "zellij-client", build: false},
|
||||
WorkspaceMember{crate_name: "zellij-server", build: false},
|
||||
WorkspaceMember{crate_name: ".", build: true},
|
||||
];
|
||||
}
|
||||
|
||||
fn main() -> anyhow::Result<()> {
|
||||
|
||||
@@ -317,7 +317,7 @@ pub fn publish(sh: &Shell, flags: flags::Publish) -> anyhow::Result<()> {
|
||||
}
|
||||
|
||||
// Publish all the crates
|
||||
for WorkspaceMember { crate_name, .. } in crate::workspace_members().iter() {
|
||||
for WorkspaceMember { crate_name, .. } in crate::WORKSPACE_MEMBERS.iter() {
|
||||
if crate_name.contains("plugin") || crate_name.contains("xtask") {
|
||||
continue;
|
||||
}
|
||||
|
||||
+5
-5
@@ -20,15 +20,15 @@ pub fn test(sh: &Shell, flags: flags::Test) -> anyhow::Result<()> {
|
||||
)
|
||||
.context(err_context)?;
|
||||
|
||||
for WorkspaceMember { crate_name, .. } in crate::workspace_members().iter() {
|
||||
for WorkspaceMember { crate_name, .. } in crate::WORKSPACE_MEMBERS.iter() {
|
||||
// the workspace root only contains e2e tests, skip it
|
||||
if crate_name == &"." {
|
||||
if *crate_name == "." {
|
||||
continue;
|
||||
}
|
||||
|
||||
let _pd = sh.push_dir(Path::new(crate_name));
|
||||
// Tell the user where we are now
|
||||
println!();
|
||||
println!("");
|
||||
let msg = format!(">> Testing '{}'", crate_name);
|
||||
crate::status(&msg);
|
||||
println!("{}", msg);
|
||||
@@ -60,9 +60,9 @@ pub fn host_target_triple(sh: &Shell) -> anyhow::Result<String> {
|
||||
return None;
|
||||
}
|
||||
if let Some((_, triple)) = line.split_once(": ") {
|
||||
Some(triple.to_string())
|
||||
return Some(triple.to_string());
|
||||
} else {
|
||||
None
|
||||
return None;
|
||||
}
|
||||
})
|
||||
.collect::<Vec<String>>();
|
||||
|
||||
Reference in New Issue
Block a user