.DEFAULT_GOAL := help
.PHONY: all lint test build buil-all coverage license docs docs-build docs-lib release help run-memory run-files run-all
.PHONY: help
help:
@./scripts/help.sh ./Makefile
all: lint test build
lint:
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
test:
cargo nextest run --show-progress only
test-all:
cargo nextest run --all-features --show-progress only
build:
cargo build --release
build-all:
cargo build --release --all-features
coverage:
cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info
license:
@missing_license=""; \
for file in $$(find . -name "*.rs" -not -path "./target/*" -not -path "./.git/*"); do \
if ! grep -q "Copyright.* Contributors" "$$file"; then \
missing_license="$$missing_license\n$$file"; \
fi; \
done; \
if [ -n "$$missing_license" ]; then \
echo "Files missing license header:$$missing_license"; \
exit 1; \
fi
docs-serve:
cd docs && bundle exec jekyll serve --livereload
docs-build:
cd docs && bundle exec jekyll build
docs-lib:
cargo doc
release:
@./scripts/release.sh $(VERSION)
run: build
./target/release/oxibase repl -d memory://
run-files: build
./target/release/oxibase repl -d file://./examples/oxibase.db
run-all:
cargo build --release --features js,python
./target/release/oxibase repl -d memory://