feat: Makefile with common workflows
This commit is contained in:
parent
148f1cb70d
commit
080ecceabd
3 changed files with 46 additions and 1 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,3 +1,5 @@
|
|||
/target
|
||||
**/*.rs.bk
|
||||
Cargo.locktarpaulin-report.html
|
||||
cobertura.xml
|
||||
tarpaulin-report.html
|
||||
|
|
43
Makefile
Normal file
43
Makefile
Normal file
|
@ -0,0 +1,43 @@
|
|||
# SPDX-FileCopyrightText: 2023 Aravinth Manivannan <realaravinth@batsense.net>
|
||||
#
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
define test_core
|
||||
cargo test --no-fail-fast
|
||||
endef
|
||||
|
||||
default: ## Build library in debug mode
|
||||
cargo build
|
||||
|
||||
check: ## Check for syntax errors on all workspaces
|
||||
cargo check --workspace --tests --all-features
|
||||
|
||||
clean: ## Delete build artifacts
|
||||
@cargo clean
|
||||
|
||||
doc: ## Generate documentation
|
||||
cargo doc --no-deps --workspace --all-features
|
||||
|
||||
env: ## Setup development environtment
|
||||
cargo fetch
|
||||
|
||||
lint: ## Lint codebase
|
||||
cargo fmt -v --all -- --emit files
|
||||
cargo clippy --workspace --tests --all-features
|
||||
|
||||
release: ## Build library with release optimizations
|
||||
cargo build --release
|
||||
|
||||
test: ## Run all available tests
|
||||
$(call test_core)
|
||||
|
||||
test.cov.html: ## Generate code coverage report in HTML format
|
||||
cargo tarpaulin -t 1200 --out Html
|
||||
|
||||
test.cov.xml: ## Generate code coverage report in XML format
|
||||
cargo tarpaulin -t 1200 --out Xml
|
||||
|
||||
test.core: ## Run all core tests
|
||||
$(call test_core)
|
||||
|
||||
help: ## Prints help for targets with comments
|
||||
@cat $(MAKEFILE_LIST) | grep -E '^[a-zA-Z_-].+:.*?## .*$$' | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
|
|
@ -25,7 +25,7 @@ use std::marker::PhantomData;
|
|||
use derive_builder::Builder;
|
||||
//use num::Num;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use sha2::{Digest, digest::Update, Sha256};
|
||||
use sha2::{digest::Update, Digest, Sha256};
|
||||
|
||||
/// Proof of Work over concrete type T. T can be any type that implements serde::Serialize.
|
||||
#[derive(Serialize, Builder, Deserialize, PartialEq, Clone, Debug)]
|
||||
|
|
Loading…
Reference in a new issue