2023-07-04 03:58:25 +00:00
|
|
|
# This is a configuration file for the bacon tool
|
|
|
|
#
|
|
|
|
# Bacon repository: https://github.com/Canop/bacon
|
|
|
|
# Complete help on configuration: https://dystroy.org/bacon/config/
|
|
|
|
# You can also check bacon's own bacon.toml file
|
|
|
|
# as an example: https://github.com/Canop/bacon/blob/main/bacon.toml
|
|
|
|
|
|
|
|
default_job = "check"
|
|
|
|
|
|
|
|
[jobs.check]
|
2024-11-19 18:21:12 +00:00
|
|
|
command = ["cargo", "check", "--all-features"]
|
2023-07-04 03:58:25 +00:00
|
|
|
need_stdout = false
|
|
|
|
|
|
|
|
[jobs.check-all]
|
2024-11-19 18:21:12 +00:00
|
|
|
command = ["cargo", "check", "--all-targets", "--all-features"]
|
2023-07-04 03:58:25 +00:00
|
|
|
need_stdout = false
|
|
|
|
|
2023-07-14 08:37:00 +00:00
|
|
|
[jobs.check-crossterm]
|
2024-11-18 22:19:21 +00:00
|
|
|
command = [
|
|
|
|
"cargo",
|
|
|
|
"check",
|
|
|
|
"--all-targets",
|
|
|
|
"--no-default-features",
|
|
|
|
"--features",
|
|
|
|
"crossterm",
|
|
|
|
]
|
2023-07-14 08:37:00 +00:00
|
|
|
need_stdout = false
|
|
|
|
|
|
|
|
[jobs.check-termion]
|
2024-11-18 22:19:21 +00:00
|
|
|
command = [
|
|
|
|
"cargo",
|
|
|
|
"check",
|
|
|
|
"--all-targets",
|
|
|
|
"--no-default-features",
|
|
|
|
"--features",
|
|
|
|
"termion",
|
|
|
|
]
|
2023-07-14 08:37:00 +00:00
|
|
|
need_stdout = false
|
|
|
|
|
|
|
|
[jobs.check-termwiz]
|
2023-07-04 03:58:25 +00:00
|
|
|
command = [
|
2024-11-18 22:19:21 +00:00
|
|
|
"cargo",
|
|
|
|
"check",
|
2023-07-04 03:58:25 +00:00
|
|
|
"--all-targets",
|
2024-11-18 22:19:21 +00:00
|
|
|
"--no-default-features",
|
|
|
|
"--features",
|
|
|
|
"termwiz",
|
2023-07-04 03:58:25 +00:00
|
|
|
]
|
|
|
|
need_stdout = false
|
|
|
|
|
2024-11-18 22:19:21 +00:00
|
|
|
[jobs.clippy]
|
2024-11-19 18:21:12 +00:00
|
|
|
command = ["cargo", "clippy", "--all-targets"]
|
2024-11-18 22:19:21 +00:00
|
|
|
need_stdout = false
|
|
|
|
|
2023-07-04 03:58:25 +00:00
|
|
|
[jobs.test]
|
2024-11-19 18:21:12 +00:00
|
|
|
command = ["cargo", "test", "--all-features"]
|
2023-07-04 03:58:25 +00:00
|
|
|
need_stdout = true
|
|
|
|
|
2024-02-06 00:26:23 +00:00
|
|
|
[jobs.test-unit]
|
2024-11-19 18:21:12 +00:00
|
|
|
command = ["cargo", "test", "--lib", "--all-features"]
|
2024-02-06 00:26:23 +00:00
|
|
|
need_stdout = true
|
|
|
|
|
2023-07-04 03:58:25 +00:00
|
|
|
[jobs.doc]
|
|
|
|
command = [
|
2024-11-18 22:19:21 +00:00
|
|
|
"cargo",
|
|
|
|
"+nightly",
|
|
|
|
"doc",
|
|
|
|
"-Zunstable-options",
|
|
|
|
"-Zrustdoc-scrape-examples",
|
2023-07-04 03:58:25 +00:00
|
|
|
"--all-features",
|
|
|
|
"--no-deps",
|
|
|
|
]
|
|
|
|
env.RUSTDOCFLAGS = "--cfg docsrs"
|
|
|
|
need_stdout = false
|
|
|
|
|
|
|
|
# If the doc compiles, then it opens in your browser and bacon switches
|
|
|
|
# to the previous job
|
|
|
|
[jobs.doc-open]
|
|
|
|
command = [
|
2024-11-18 22:19:21 +00:00
|
|
|
"cargo",
|
|
|
|
"+nightly",
|
|
|
|
"doc",
|
|
|
|
"-Zunstable-options",
|
|
|
|
"-Zrustdoc-scrape-examples",
|
2023-07-04 03:58:25 +00:00
|
|
|
"--all-features",
|
|
|
|
"--no-deps",
|
|
|
|
"--open",
|
|
|
|
]
|
|
|
|
env.RUSTDOCFLAGS = "--cfg docsrs"
|
|
|
|
need_stdout = false
|
|
|
|
on_success = "job:doc" # so that we don't open the browser at each change
|
|
|
|
|
2023-07-14 08:37:00 +00:00
|
|
|
[jobs.coverage]
|
2023-07-04 03:58:25 +00:00
|
|
|
command = [
|
2024-11-18 22:19:21 +00:00
|
|
|
"cargo",
|
|
|
|
"llvm-cov",
|
|
|
|
"--lcov",
|
|
|
|
"--output-path",
|
|
|
|
"target/lcov.info",
|
2024-02-27 11:39:37 +00:00
|
|
|
"--all-features",
|
2023-07-04 03:58:25 +00:00
|
|
|
]
|
|
|
|
|
2023-07-14 08:37:00 +00:00
|
|
|
[jobs.coverage-unit-tests-only]
|
|
|
|
command = [
|
2024-11-18 22:19:21 +00:00
|
|
|
"cargo",
|
|
|
|
"llvm-cov",
|
|
|
|
"--lcov",
|
|
|
|
"--output-path",
|
|
|
|
"target/lcov.info",
|
2023-07-14 08:37:00 +00:00
|
|
|
"--lib",
|
|
|
|
"--all-features",
|
2024-11-18 22:19:21 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
[jobs.hack]
|
|
|
|
command = [
|
|
|
|
"cargo",
|
|
|
|
"hack",
|
|
|
|
"test",
|
|
|
|
"--lib",
|
|
|
|
"--each-feature",
|
|
|
|
# "--all-targets",
|
|
|
|
"--workspace",
|
2023-07-14 08:37:00 +00:00
|
|
|
]
|
2023-07-04 03:58:25 +00:00
|
|
|
|
|
|
|
# You may define here keybindings that would be specific to
|
|
|
|
# a project, for example a shortcut to launch a specific job.
|
|
|
|
# Shortcuts to internal functions (scrolling, toggling, etc.)
|
|
|
|
# should go in your personal global prefs.toml file instead.
|
|
|
|
[keybindings]
|
2024-11-18 22:19:21 +00:00
|
|
|
ctrl-h = "job:hack"
|
2023-07-04 03:58:25 +00:00
|
|
|
ctrl-c = "job:check-crossterm"
|
|
|
|
ctrl-t = "job:check-termion"
|
|
|
|
ctrl-w = "job:check-termwiz"
|
2023-07-14 08:37:00 +00:00
|
|
|
v = "job:coverage"
|
2024-02-06 00:26:23 +00:00
|
|
|
ctrl-v = "job:coverage-unit-tests-only"
|
|
|
|
u = "job:test-unit"
|
|
|
|
n = "job:nextest"
|