diff --git a/js/Makefile.jinja b/js/Makefile.jinja index b4faca1..91c73f0 100644 --- a/js/Makefile.jinja +++ b/js/Makefile.jinja @@ -5,11 +5,21 @@ develop-py: uv pip install -e .[develop] -develop-js: - cd js; pnpm install && npx playwright install +develop-js: requirements-js develop: develop-js develop-py ## setup project for development +.PHONY: requirements-py requirements-js requirements +requirements-py: ## install prerequisite python build requirements + python -m pip install --upgrade pip toml + python -m pip install `python -c 'import toml; c = toml.load("pyproject.toml"); print("\n".join(c["build-system"]["requires"]))'` + python -m pip install `python -c 'import toml; c = toml.load("pyproject.toml"); print(" ".join(c["project"]["optional-dependencies"]["develop"]))'` + +requirements-js: ## install prerequisite javascript build requirements + cd js; pnpm install && npx playwright install + +requirements: requirements-js requirements-py ## setup project for development + .PHONY: build-py build-js build build-py: python -m build -w -n diff --git a/jupyter/Makefile.jinja b/jupyter/Makefile.jinja index f59aead..4518f15 100644 --- a/jupyter/Makefile.jinja +++ b/jupyter/Makefile.jinja @@ -5,11 +5,21 @@ develop-py: uv pip install -e .[develop] -develop-js: - cd js; pnpm install +develop-js: requirements-js develop: develop-js develop-py ## setup project for development +.PHONY: requirements-py requirements-js requirements +requirements-py: ## install prerequisite python build requirements + python -m pip install --upgrade pip toml + python -m pip install `python -c 'import toml; c = toml.load("pyproject.toml"); print("\n".join(c["build-system"]["requires"]))'` + python -m pip install `python -c 'import toml; c = toml.load("pyproject.toml"); print(" ".join(c["project"]["optional-dependencies"]["develop"]))'` + +requirements-js: ## install prerequisite javascript build requirements + cd js; pnpm install && npx playwright install + +requirements: requirements-js requirements-py ## setup project for development + .PHONY: build-py build-js build build-py: python -m build -w -n diff --git a/python/Makefile.jinja b/python/Makefile.jinja index 9a4336f..6d394c3 100644 --- a/python/Makefile.jinja +++ b/python/Makefile.jinja @@ -6,6 +6,11 @@ develop: ## install dependencies and build library uv pip install -e .[develop] +requirements: ## install prerequisite python build requirements + python -m pip install --upgrade pip toml + python -m pip install `python -c 'import toml; c = toml.load("pyproject.toml"); print("\n".join(c["build-system"]["requires"]))'` + python -m pip install `python -c 'import toml; c = toml.load("pyproject.toml"); print(" ".join(c["project"]["optional-dependencies"]["develop"]))'` + build: ## build the python library python -m build -n diff --git a/rust/Makefile.jinja b/rust/Makefile.jinja index e93defd..f60caa3 100644 --- a/rust/Makefile.jinja +++ b/rust/Makefile.jinja @@ -10,6 +10,17 @@ develop-rs: develop: develop-rs develop-py ## setup project for development +.PHONY: requirements-py requirements-rs requirements +requirements-py: ## install prerequisite python build requirements + python -m pip install --upgrade pip toml + python -m pip install `python -c 'import toml; c = toml.load("pyproject.toml"); print("\n".join(c["build-system"]["requires"]))'` + python -m pip install `python -c 'import toml; c = toml.load("pyproject.toml"); print(" ".join(c["project"]["optional-dependencies"]["develop"]))'` + +requirements-rs: ## install prerequisite rust build requirements + make -C rust requirements + +requirements: requirements-rs requirements-py ## setup project for development + .PHONY: build-py build-rs build dev build-py: maturin build diff --git a/rust/rust/Makefile.jinja b/rust/rust/Makefile.jinja index 4045115..9951d42 100644 --- a/rust/rust/Makefile.jinja +++ b/rust/rust/Makefile.jinja @@ -1,11 +1,13 @@ -.PHONY: develop build -develop: ## install required dev dependencies +.PHONY: requirements develop build +requirements: ## install required dev dependencies rustup component add rustfmt rustup component add clippy - cargo install cargo-nextest + cargo install cargo-nextest cargo install cargo-llvm-cov +develop: requirements ## install required dev dependencies + build: ## build release cargo build --release --all-features