[config] skip_core_tasks = true [tasks.ci] run_task = [ { name = "ci-unix", condition = { platforms = ["linux", "mac"] } }, { name = "ci-windows", condition = { platforms = ["windows"] } }, ] [tasks.ci-unix] private = true dependencies = [ "fmt", "check-crossterm", "check-termion", "test-crossterm", "test-termion", "clippy-crossterm", "clippy-termion", "test-doc", ] [tasks.ci-windows] private = true dependencies = [ "fmt", "check-crossterm", "test-crossterm", "clippy-crossterm", "test-doc", ] [tasks.fmt] command = "cargo" args = [ "fmt", "--all", "--", "--check", ] [tasks.check-crossterm] env = { TUI_FEATURES = "serde,crossterm" } run_task = "check" [tasks.check-termion] env = { TUI_FEATURES = "serde,termion" } run_task = "check" [tasks.check] command = "cargo" condition = { env_set = ["TUI_FEATURES"] } args = [ "check", "--no-default-features", "--features", "${TUI_FEATURES}", "--all-targets", ] [tasks.build-crossterm] env = { TUI_FEATURES = "serde,crossterm" } run_task = "build" [tasks.build-termion] env = { TUI_FEATURES = "serde,termion" } run_task = "build" [tasks.build] command = "cargo" condition = { env_set = ["TUI_FEATURES"] } args = [ "build", "--no-default-features", "--features", "${TUI_FEATURES}", "--all-targets", ] [tasks.clippy-crossterm] env = { TUI_FEATURES = "serde,crossterm" } run_task = "clippy" [tasks.clippy-termion] env = { TUI_FEATURES = "serde,termion" } run_task = "clippy" [tasks.clippy] command = "cargo" condition = { env_set = ["TUI_FEATURES"] } args = [ "clippy", "--all-targets", "--no-default-features", "--features", "${TUI_FEATURES}", "--", "-D", "warnings", ] [tasks.test-crossterm] env = { TUI_FEATURES = "serde,crossterm,all-widgets" } run_task = "test" [tasks.test-termion] env = { TUI_FEATURES = "serde,termion,all-widgets" } run_task = "test" [tasks.test] command = "cargo" condition = { env_set = ["TUI_FEATURES"] } args = [ "test", "--no-default-features", "--features", "${TUI_FEATURES}", "--lib", "--tests", "--examples", ] [tasks.test-doc] command = "cargo" args = [ "test", "--doc", ] [tasks.run-example] private = true condition = { env_set = ["TUI_EXAMPLE_NAME"] } command = "cargo" args = [ "run", "--release", "--example", "${TUI_EXAMPLE_NAME}" ] [tasks.build-examples] command = "cargo" args = [ "build", "--examples", "--release" ] [tasks.run-examples] dependencies = ["build-examples"] script = ''' #!@duckscript files = glob_array ./examples/*.rs for file in ${files} name = basename ${file} name = substring ${name} -3 set_env TUI_EXAMPLE_NAME ${name} cm_run_task run-example end '''