cmds.projects.CmdBuild: Support --dep-flavours
CmdBuild caters for the needs of 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 support more targets, e.g. check and test, add a --dep-flavours option. Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
parent
b53fdd2fea
commit
68cda8197e
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