cmds.projects.CmdRequiredOsPkg: Add --pkg-relations
The OS package list of required-os-pkg, like the build closure, is derived from the [pkg.requires.jw] section only, hard-coded in _run(). Add a --pkg-relations option to required-os-pkg, mirroring the one of CmdBuild. Signed-off-by: Jan Lindemann <jan@janware.com> Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.86.1
This commit is contained in:
parent
5f98de8f5a
commit
32dd507cf5
2 changed files with 23 additions and 8 deletions
|
|
@ -1,5 +1,7 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import re
|
||||||
|
|
||||||
from typing import TYPE_CHECKING, override
|
from typing import TYPE_CHECKING, override
|
||||||
|
|
||||||
from ...App import Scope
|
from ...App import Scope
|
||||||
|
|
@ -36,6 +38,14 @@ class CmdRequiredOsPkg(Cmd): # export
|
||||||
default = False,
|
default = False,
|
||||||
help = 'Put double quotes around each listed dependency',
|
help = 'Put double quotes around each listed dependency',
|
||||||
)
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
'--pkg-relations',
|
||||||
|
default = 'requires',
|
||||||
|
help = (
|
||||||
|
'Relations between packages to take into consideration, '
|
||||||
|
'comma or space separated'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
@override
|
@override
|
||||||
async def _run(self, args: Namespace) -> None:
|
async def _run(self, args: Namespace) -> None:
|
||||||
|
|
@ -48,9 +58,10 @@ class CmdRequiredOsPkg(Cmd): # export
|
||||||
if 'release' in flavours:
|
if 'release' in flavours:
|
||||||
flavours |= set(['run', 'devel', 'build'])
|
flavours |= set(['run', 'devel', 'build'])
|
||||||
log(DEBUG, 'flavours = ' + args.flavours)
|
log(DEBUG, 'flavours = ' + args.flavours)
|
||||||
|
relations = tuple(re.split(r'[,\s]+', args.pkg_relations))
|
||||||
deps = self.app.get_project_refs(
|
deps = self.app.get_project_refs(
|
||||||
modules,
|
modules,
|
||||||
['pkg.requires.jw'],
|
[f'pkg.{rel}.jw' for rel in relations],
|
||||||
list(flavours),
|
list(flavours),
|
||||||
scope = Scope.Subtree,
|
scope = Scope.Subtree,
|
||||||
add_self = True,
|
add_self = True,
|
||||||
|
|
|
||||||
|
|
@ -763,20 +763,24 @@ options:
|
||||||
(default: None)
|
(default: None)
|
||||||
============= Running: jw-pkg.py -t ../../../.. --log-level info projects required-os-pkg --help
|
============= Running: jw-pkg.py -t ../../../.. --log-level info projects required-os-pkg --help
|
||||||
usage: jw-pkg.py projects required-os-pkg [-h] [--skip-excluded] [--quote]
|
usage: jw-pkg.py projects required-os-pkg [-h] [--skip-excluded] [--quote]
|
||||||
|
[--pkg-relations PKG_RELATIONS]
|
||||||
flavours [modules ...]
|
flavours [modules ...]
|
||||||
|
|
||||||
List distribution packages required for a package
|
List distribution packages required for a package
|
||||||
|
|
||||||
positional arguments:
|
positional arguments:
|
||||||
flavours Dependency flavours
|
flavours Dependency flavours
|
||||||
modules Modules (default: None)
|
modules Modules (default: None)
|
||||||
|
|
||||||
options:
|
options:
|
||||||
-h, --help show this help message and exit
|
-h, --help show this help message and exit
|
||||||
--skip-excluded Output empty prerequisite list for excluded modules
|
--skip-excluded Output empty prerequisite list for excluded modules
|
||||||
(default: False)
|
(default: False)
|
||||||
--quote Put double quotes around each listed dependency (default:
|
--quote Put double quotes around each listed dependency
|
||||||
False)
|
(default: False)
|
||||||
|
--pkg-relations PKG_RELATIONS
|
||||||
|
Relations between packages to take into consideration,
|
||||||
|
comma or space separated (default: requires)
|
||||||
============= Running: jw-pkg.py -t ../../../.. --log-level info projects summary --help
|
============= Running: jw-pkg.py -t ../../../.. --log-level info projects summary --help
|
||||||
usage: jw-pkg.py projects summary [-h] [module ...]
|
usage: jw-pkg.py projects summary [-h] [module ...]
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue