build: setup.py ohne OctoPrint-Build-Abhängigkeit (dict_merge Fallback); project requirements.txt; build script nutzt requirements.txt

This commit is contained in:
Markus F.J. Busche
2025-09-21 12:28:43 +02:00
parent ac3298c40e
commit dd89c5f650
3 changed files with 24 additions and 2 deletions

View File

@@ -88,7 +88,18 @@ setup_parameters = octoprint_setuptools.create_plugin_setup_parameters(
)
if len(additional_setup_parameters):
from octoprint.util import dict_merge
try:
from octoprint.util import dict_merge
except Exception:
# Fallback to allow building without the octoprint package installed
def dict_merge(a, b):
result = dict(a)
for k, v in b.items():
if k in result and isinstance(result[k], dict) and isinstance(v, dict):
result[k] = dict_merge(result[k], v)
else:
result[k] = v
return result
setup_parameters = dict_merge(setup_parameters, additional_setup_parameters)
setup(**setup_parameters)