10 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
fc6f2fbb65 |
|||
| d7d4ffa640 | |||
| bc883deed4 | |||
| b77d92794e | |||
| a404be15b9 | |||
| 7fb117a4c4 | |||
| a935715036 | |||
| ba314df490 | |||
| 55f9b50562 | |||
| 9505e9ab40 |
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
fc6f2fbb65 |
python-tools.sh: Fix __init__.py linter complaints
The __init__.py files as gnerated by python-tools.sh contain multiple issues, fix them: - Make the machinery fail if the same type name is imported from
different modules - Support relative imports from .Module import Module instead of
having to use the entire module path as import source - Import types explicitly re-exported with "as": from .Module import Module as Module Otherwise ruff will regard the type as "imported but not used" - Add "# ruff: noqa: E501" near the top. The import lines can get
long and are beyond manual control (except for renaming the
modules themselves, that is). This can cause ruff to fail, so get
it to accept long lines in __init__.py. The style violation
doesn't make much of a difference in generated code, anyway,
because nobody reads that. Plus what's happening in the code
isn't rocket science, so good style wouldn't help much with
understanding, either. This promptly digs up two symbol name conflicts lib.pm.dpkg and lib.pm.rpm. Fix them along with this commit to keep it from breaking the build. Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| d7d4ffa640 |
py-run.mk, python-tools.sh: Re-add files necessary for jw-client-devops-web
jw-client-devops-web needs py-run.mk and python-tools.sh, add them. Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| bc883deed4 |
Everywhere: Remove everything non-essential for "make clean all"
This commit removes everything not strictly necessary for running "make clean all" inside jw-build. packaging jw-devtest. This cuts the repo down from 24077 to 4725 lines of code. The idea is to 1) Further remove bloat from the remaining bits 2) Re-add what's necessary to build and package other essential repos. The decision should be based on whether or not jw-build can also be useful in a non-janware context. Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| b77d92794e |
python-tools.sh: Fix __path__ type check in __init__.py
Don't check __path__ as Interable[str] anylonger, this somehow broke (Don't remember how). Use type: ignore instead. Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| a404be15b9 |
make, scripts: Add support for static Python typechecking
This commit adds support for static typechecking with mypy. Notable additions: - A new target "check" which does the type checking - Py-mods.mk, meant to be included from a directory containing python modules
in subdirectories, but not being a python module itself. It makes the all
target depend on check only if PY_RUN_CHECK_AFTER_BUILD is defined and
true. That's because pypy is under heavy development, and the Ubuntu 18.04
version is too old to work for lots of the code. Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| 7fb117a4c4 |
python-tools.sh: Make __init__py recognize multiple package modules
import my.mod.thing, my.mod.thang wouldn't work, if the modules where not in the same directory hierarchy, e.g. in $(HOME)/blah/my/mod/thing.py and $(HOME)/blub/my/mod/thang.py, not even with PYTHONPATH=$(HOME)/blah:$(HOME)/blub. This commit fixes that. See https://stackoverflow.com/questions/1675734 Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| a935715036 |
python-tools.sh: Code beautification
This commit beautifies module import path deduction a little. It also adds (disabled) code for importing submodules, which may or may not be enabled by a command-line option in the future. Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| ba314df490 |
python-tools.mk: Fix __init__.py generation
Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| 55f9b50562 |
py-defs.mk, py-mod.mk, python-tools.sh: Improve python module handling
- Fix superflous dots in module names - Generate PYTHONPATH in projects.py - Add support for __init__.py.tmpl Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| 9505e9ab40 |
python-tools.sh: Add python-tools.sh
Signed-off-by: Jan Lindemann <jan@janware.com> |