别名依赖项

时间:2010-08-26 10:53:50

标签: scons

我有一些复杂的别名。

Alias('build', [ Program(), Install()...])
Alias('test', [Program(), Install(), RunTest()]
Alias('dist', [Install()])

最后

Alias('all', [ Alias('build'), Alias('test'), Alias('dist')])

问题:
如何在别名('all')中对别名('dist')依赖Alias('dist')? 我尝试过Depends()变种,但似乎我做错了。

欢呼声 P上。

更新

我自己设法做到了。

build = Alias('build', [ Program(), Install()...])
test = Alias('test', [Program(), Install(), RunTest()]
dist = Alias('dist', [Install()])

Depends(test, build)
Depends(dist, test)

Default('dist')

1 个答案:

答案 0 :(得分:0)

我倾向于为所有内容(使用依赖项)创建命名目标,然后将我要发布的目标别名发布给运行SCons的任何人。

prog = env.Program(..., libs)
install = env.Install(..., prog)
test = env.RunTest(..., libs)

Alias('build', prog)
Alias('test', test)
Alias('dist', [ test, install, bump_version ])

我不知道有理由偏爱另一种方法。对我来说,在内部设置依赖项似乎更自然,然后使用Alias发布需要用户可运行的目标。