cmds.projects.CmdBuild: Support --dep-flavours
CmdBuild supports the targets all, clean and pkg-*. It uses builtin dependency flavours matching those targets to resolve build order. To make it more flexible in general, and allow it to support more targets, e.g. "check" and "test", this commit adds a --dep-flavours option. Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
b7431e5bc6
commit
41ca202142
2 changed files with 36 additions and 21 deletions
|
|
@ -53,6 +53,14 @@ class CmdBuild(Cmd): # export
|
|||
'on the command line'
|
||||
),
|
||||
)
|
||||
parser.add_argument(
|
||||
'--dep-flavours',
|
||||
default = 'auto',
|
||||
help = (
|
||||
'Dependency flavours to take into consideration for build, '
|
||||
'comma or space separated'
|
||||
)
|
||||
)
|
||||
parser.add_argument(
|
||||
'--env-reinit',
|
||||
action = 'store_true',
|
||||
|
|
@ -247,9 +255,12 @@ class CmdBuild(Cmd): # export
|
|||
# -- build
|
||||
order: list[str] = []
|
||||
|
||||
dep_flavours = ['build']
|
||||
if re.match('pkg-.*', target) is not None:
|
||||
dep_flavours = ['build', 'run', 'release', 'devel']
|
||||
if args.dep_flavours != 'auto':
|
||||
dep_flavours = re.split(r'[\s,]', args.dep_flavours)
|
||||
else:
|
||||
dep_flavours = ['build']
|
||||
if re.match('pkg-.*', target) is not None:
|
||||
dep_flavours.extend(['run', 'release', 'devel'])
|
||||
|
||||
if target != 'order' and not args.build_order:
|
||||
log(NOTICE, 'Using prerequisite flavours ' + ' '.join(dep_flavours))
|
||||
|
|
|
|||
Loading…
Reference in a new issue