Add a cargo-make makefile

This will facilitate building each crate with the correct target,
placing the assets in the correct place before running and only
running tests on the stoptime_server crate.
This commit is contained in:
Paul van Tilburg 2019-07-26 14:25:02 +02:00
parent 6a70bbb13e
commit b0a75662bf
1 changed files with 47 additions and 0 deletions

47
Makefile.toml Normal file
View File

@ -0,0 +1,47 @@
[config]
workspace = false
[tasks.build]
clear = true
workspace = false
category = "Build"
description = "Runs the rust compiler for both server and UI"
dependencies = ["build-server", "build-ui"]
[tasks.build-server]
category = "Build"
description = "Runs the rust compiler for the server"
command = "cargo"
args = ["build", "-p", "stoptime_server"]
[tasks.build-ui]
category = "Build"
description = "Runs the rust compiler via cargo-web for the UI"
install-crate = "cargo-web"
command = "cargo"
args = ["web", "build", "-p", "stoptime_ui", "--target", "wasm32-unknown-unknown"]
[tasks.copy-wasm-assets]
description = "Copies the WASM assets generated by cargo-web to the static assets directory"
command = "cp"
args = [
"target/wasm32-unknown-unknown/debug/stoptime_ui.js",
"target/wasm32-unknown-unknown/debug/stoptime_ui.wasm",
"ui/static"
]
dependencies = ["build-ui"]
[tasks.run]
clear = true
workspace = false
description = "Runs the server"
dependencies = ["copy-wasm-assets"]
command = "cargo"
args = ["run", "-p", "stoptime_server"]
[tasks.test]
clear = true
workspace = false
description = "Run all available tests for the server"
command = "cargo"
args = ["test", "-p", "stoptime_server", "--all-features"]