From 8f1154892f8c4e001d80afeefff02a814e4462d1 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Tue, 16 Jun 2026 10:52:25 +0200 Subject: [PATCH] py-mod.mk: Extract symbols in __all__ Symbols in the __all__ list of a module marked with "# export" arent't currently added to __init__.py. Fix that. Signed-off-by: Jan Lindemann --- make/py-mod.mk | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/make/py-mod.mk b/make/py-mod.mk index 882db095..d61856ac 100644 --- a/make/py-mod.mk +++ b/make/py-mod.mk @@ -4,7 +4,10 @@ include $(JWBDIR)/make/dirs.mk include $(JWBDIR)/make/dev-utils.mk PY_INIT_TMPL = $(wildcard __init__.py.tmpl) -PY_SED_EXTRACT_EXPORT ?= /\(\(class\|def\)\s\+[a-zA-Z_].*\|^ *\S\+\s*=.*\)\# *export/ !d; /^\s*\#/ d; s/\(async\)* *\(class\|def\) *//; s/[(:=].*// +PY_SED_EXTRACT_EXPORT_DEF := /\(\(class\|def\)\s\+[a-zA-Z_].*\|^ *\S\+\s*=.*\|^\s\+\"\S\+\",\)\s*\#\s*export/!d; +PY_SED_EXTRACT_EXPORT_DEF := $(PY_SED_EXTRACT_EXPORT_DEF) /^\s*\#/ d; s/\(async\)*\s*\(class\|def\)\s*//; +PY_SED_EXTRACT_EXPORT_DEF := $(PY_SED_EXTRACT_EXPORT_DEF) s/[(:=].*//; s/^\s\+\"\(\S\+\)\",.*/\1/ +PY_SED_EXTRACT_EXPORT ?= $(PY_SED_EXTRACT_EXPORT_DEF) PY_INIT_FILTER ?= cat PY_GENERATE_INIT_PY ?= /bin/bash $(JWB_SCRIPT_DIR)/python-tools.sh create-init -m . -e "$(PY_SED_EXTRACT_EXPORT)" ifneq ($(PY_SYMBOL_FILTER),)