Skip to content

Commit c2d1ec8

Browse files
committed
add tests to makefile
1 parent d123c65 commit c2d1ec8

2 files changed

Lines changed: 22 additions & 1 deletion

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ __pycache__
33
.coverage
44
*.egg-info
55
/.mxmake/
6+
/dist/
67
/reports/
78
/requirements-mxdev.txt
89
/.claude/

Makefile

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@ INCLUDE_MAKEFILE?=include.mk
3939
# No default value.
4040
EXTRA_PATH?=
4141

42+
# Path to Python project relative to Makefile (repository root).
43+
# Leave empty if Python project is in the same directory as Makefile.
44+
# For monorepo setups, set to subdirectory name (e.g., `backend`).
45+
# Future-proofed for multi-language monorepos (e.g., PROJECT_PATH_NODEJS).
46+
# No default value.
47+
PROJECT_PATH_PYTHON?=
48+
4249
## core.mxenv
4350

4451
# Primary Python interpreter to use. It is used to create the
@@ -156,6 +163,9 @@ FORMAT_TARGETS?=
156163

157164
export PATH:=$(if $(EXTRA_PATH),$(EXTRA_PATH):,)$(PATH)
158165

166+
# Helper variable: adds trailing slash to PROJECT_PATH_PYTHON only if non-empty
167+
PYTHON_PROJECT_PREFIX=$(if $(PROJECT_PATH_PYTHON),$(PROJECT_PATH_PYTHON)/,)
168+
159169
# Defensive settings for make: https://tech.davis-hansson.com/p/make/
160170
SHELL:=bash
161171
.ONESHELL:
@@ -299,6 +309,11 @@ CLEAN_TARGETS+=mxenv-clean
299309
# ruff
300310
##############################################################################
301311

312+
# Adjust RUFF_SRC to respect PROJECT_PATH_PYTHON if still at default
313+
ifeq ($(RUFF_SRC),src)
314+
RUFF_SRC:=$(PYTHON_PROJECT_PREFIX)src
315+
endif
316+
302317
RUFF_TARGET:=$(SENTINEL_FOLDER)/ruff.sentinel
303318
$(RUFF_TARGET): $(MXENV_TARGET)
304319
@echo "Install Ruff"
@@ -334,6 +349,11 @@ CLEAN_TARGETS+=ruff-clean
334349
# isort
335350
##############################################################################
336351

352+
# Adjust ISORT_SRC to respect PROJECT_PATH_PYTHON if still at default
353+
ifeq ($(ISORT_SRC),src)
354+
ISORT_SRC:=$(PYTHON_PROJECT_PREFIX)src
355+
endif
356+
337357
ISORT_TARGET:=$(SENTINEL_FOLDER)/isort.sentinel
338358
$(ISORT_TARGET): $(MXENV_TARGET)
339359
@echo "Install isort"
@@ -391,7 +411,7 @@ else
391411
@echo "[settings]" > $(PROJECT_CONFIG)
392412
endif
393413

394-
LOCAL_PACKAGE_FILES:=$(wildcard pyproject.toml setup.cfg setup.py requirements.txt constraints.txt)
414+
LOCAL_PACKAGE_FILES:=$(wildcard $(PYTHON_PROJECT_PREFIX)pyproject.toml $(PYTHON_PROJECT_PREFIX)setup.cfg $(PYTHON_PROJECT_PREFIX)setup.py $(PYTHON_PROJECT_PREFIX)requirements.txt $(PYTHON_PROJECT_PREFIX)constraints.txt)
395415

396416
FILES_TARGET:=requirements-mxdev.txt
397417
$(FILES_TARGET): $(PROJECT_CONFIG) $(MXENV_TARGET) $(SOURCES_TARGET) $(LOCAL_PACKAGE_FILES)

0 commit comments

Comments
 (0)