mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-27 11:24:45 +08:00
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
116 lines
2.0 KiB
Makefile
116 lines
2.0 KiB
Makefile
# = Parameters
|
|
# Override envars using -e
|
|
|
|
#
|
|
# = Common
|
|
#
|
|
|
|
# Checks two given strings for equality.
|
|
eq = $(if $(or $(1),$(2)),$(and $(findstring $(1),$(2)),\
|
|
$(findstring $(2),$(1))),1)
|
|
|
|
|
|
ROOT_DIR_WITH_SLASH := $(dir $(realpath $(lastword $(MAKEFILE_LIST))))
|
|
ROOT_DIR := $(realpath $(ROOT_DIR_WITH_SLASH))
|
|
|
|
#
|
|
# = Targets
|
|
#
|
|
|
|
.PHONY : \
|
|
doc \
|
|
fmt \
|
|
clippy \
|
|
test \
|
|
audit \
|
|
git.sync \
|
|
build \
|
|
push \
|
|
shell \
|
|
run \
|
|
start \
|
|
stop \
|
|
rm \
|
|
release
|
|
|
|
|
|
# Check a local package and all of its dependencies for errors
|
|
#
|
|
# Usage :
|
|
# make check
|
|
check:
|
|
cargo check
|
|
|
|
|
|
# Compile application for running on local machine
|
|
#
|
|
# Usage :
|
|
# make build
|
|
build :
|
|
cargo build
|
|
|
|
# Generate crates documentation from Rust sources.
|
|
#
|
|
# Usage :
|
|
# make doc [private=(yes|no)] [open=(yes|no)] [clean=(no|yes)]
|
|
|
|
doc :
|
|
ifeq ($(clean),yes)
|
|
@rm -rf target/doc/
|
|
endif
|
|
cargo doc --all-features --package router \
|
|
$(if $(call eq,$(private),no),,--document-private-items) \
|
|
$(if $(call eq,$(open),no),,--open)
|
|
|
|
# Format Rust sources with rustfmt.
|
|
#
|
|
# Usage :
|
|
# make fmt [dry_run=(no|yes)]
|
|
|
|
fmt :
|
|
cargo +nightly fmt --all $(if $(call eq,$(dry_run),yes),-- --check,)
|
|
|
|
# Lint Rust sources with Clippy.
|
|
#
|
|
# Usage :
|
|
# make clippy
|
|
|
|
clippy :
|
|
cargo clippy --all-features --all-targets -- -D warnings
|
|
|
|
# Build the DSL crate as a WebAssembly JS library
|
|
#
|
|
# Usage :
|
|
# make euclid-wasm
|
|
|
|
euclid-wasm:
|
|
wasm-pack build --target web --out-dir $(ROOT_DIR)/wasm --out-name euclid $(ROOT_DIR)/crates/euclid_wasm -- --features dummy_connector
|
|
|
|
# Run Rust tests of project.
|
|
#
|
|
# Usage :
|
|
# make test
|
|
|
|
test :
|
|
cargo test --all-features
|
|
|
|
|
|
# Next-generation test runner for Rust.
|
|
# cargo nextest ignores the doctests at the moment. So if you are using it locally you also have to run `cargo test --doc`.
|
|
# Usage:
|
|
# make nextest
|
|
|
|
nextest:
|
|
cargo nextest run
|
|
|
|
# Run format clippy test and tests.
|
|
#
|
|
# Usage :
|
|
# make precommit
|
|
|
|
precommit : fmt clippy test
|
|
|
|
|
|
hack:
|
|
cargo hack check --workspace --each-feature --all-targets
|