.PHONY: build
build: go rust


.PHONY: check
check:
	cargo clippy --all-targets -- --no-deps
	cargo test --all-targets -- --show-output --test-threads=1
	go test ./...


.PHONY: clean
clean:
	-rm -r src/generated/*
	-rm -r onprem/*
	cargo clean


.PHONY: dependencies
dependencies:
	go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
	go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2


.PHONY: fmt
fmt:
	cargo fmt --all
	go fmt ./...


.PHONY: generate
generate:
	go generate ./...


.PHONY: go
go:
	go install ./...


.PHONY: outdated
outdated:
	cargo install --locked cargo-outdated
	cargo outdated -R

.PHONY: rust
rust:
	cargo build
