12 commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a377745e5e | |||
| 95fa2f0d06 | |||
| aefe983920 | |||
| 0b83c863a2 | |||
| c8c5788aeb | |||
| adb9837c63 | |||
| 737f3986df | |||
| 1f26391452 | |||
| e39047e0dd | |||
| c39c268d98 | |||
| ced42938e1 | |||
| 9217d38964 |
Renamed from src/python/jw/build/App.py (Browse further)
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
| a377745e5e |
jw.pkg.App: Make member variables private
With the exception of top_name, which cmds.project.GetVal needs read-access to, all member variables of jw.pkg.App can be made private. Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| 95fa2f0d06 |
jw.pkg.App: Remove .debug() and friends
Replace the jw.pkg.App.debug(), .warn() and .err() methods by the global log() function. There's no obvious benefit in having App know what's logged. Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| aefe983920 |
jw.pkg.App: Support --topdir-format
Add support for --topdir-format. The option supports several different values, affecting the console output of App wherever it knows that the output contains a reference to the projects' toplevel directory. - "unaltered" will have it print the toplevel directory in the same
format as passed to the commandline - "absolute" will try to resolve it to an absolute path before
printing - make:XXX will return the make-varible $(XXX) instead To implement this, the proj_dir() member function is turned into the private member function __proj_dir(), and a new member function find_dir() is supplied, with two additional parameters: search_subdirs and search_absdirs, which will try to find an existing directory relative to the toplevel directory of the given module, or in the search_absdirs list, respectively. Command modules in cmds.projects have been updated to use the new function. Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| 0b83c863a2 |
jw.build.cmds: Move build.cmds -> cmds.projects
Reorganize the Python module structure. Placing the command classes under jw.cmds.projects instead of jw.build.cmds will allow to add a nested command structure, with the current commands, being mostly related to building software, found below a "projects" toplevel command. Other conceivable commands could be "package" for packaging, or "distro" for commands wrapping the distribution's package manager. Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| c8c5788aeb |
jw.pkg.App.proj_dir(): Return absolute path
Make App.proj_dir() return an absolute path. This looks like a good idea, because some of the $(call proj_query xxx) paths end up being relative, because they get proj_dir()'s idea of a directory prepended. This prohibits caching them in $(TOPDIR)/make/.cache.mk for make benefit glorious nation of performance. Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| adb9837c63 |
jw.pkg.App: Remove --debug option
Remove the --debug option, which is superseded by the semantically richer --log-level debug in the base class. Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| 737f3986df |
jw.pkg.App: Use lib.log
Replace print() by log(). Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| 1f26391452 |
jw.pkg.cmds.Cmd: Derive from lib.Cmd
The body of Cmd is pretty much entirely obviated by its base class. Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| e39047e0dd |
jw.pkg.App: Derive from jw.pkg.lib.App
Derive jw.pkg.App from jw.pkg.lib.App. App.run() dissolves as follows: - Its sub-command invocation logic is left to the base class - parser.add_arguments() are moved into self._add_arguments() - So is handling of early-parsed arguments - async def _run() is reimplemented to set some member variables Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| c39c268d98 |
jw-projects.sh: Fix -p / --prefix help message
--prefix doesn't denote an "App Path Prefix", "Parent directory of project source directories" decribes it better. Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| ced42938e1 |
projects.mk / jw-projects.py: Support tmpl_dir && tmpls-dir
For a project to supply templates, it needs to advertise their location. For this, the tmpl_dir make variable is added to projects.mk. If other-project wants to get hold of some-project's templates, it can do, e.g.: TEMPLATES = $(wilcard $(call tmpl_dir,some-project)/*.tmpl) To achieve this, support for the tmpls-dir command is added to jw-projects.py. Signed-off-by: Jan Lindemann <jan@janware.com> |
|||
| 9217d38964 |
Everywhere: Rename package "jw-build" to "jw-pkg"
jw-build doesn't stop at building software, packaging it afterwards is also a core feature, so this commit gives the package a better name. The commit replaces strings s/jw-build/jw-pkg/ in text files and file names. Fallout to the functionality is fixed, variable names are left as they are, though. To be adjusted by later commits. Signed-off-by: Jan Lindemann <jan@janware.com> |