小编Ben*_* K.的帖子

如何在每次构建scons后运行一些代码?

我正在寻找一种在scons中注册像end-build回调这样的东西的方法.例如,我现在正在做这样的事情:

def print_build_summary():
    failures = SCons.Script.GetBuildFailures()
    notifyExe = 'notify-send '
    if len(failures) > 0:
        notifyExe = notifyExe + ' --urgency=critical Build Failed'
    else:
        notifyExe = notifyExe + ' --urgency=normal Build Succeed'

    os.system(notifyExe)

atexit.register(print_build_summary)
Run Code Online (Sandbox Code Playgroud)

这仅适用于非交互模式.我希望能够在每次构建结束时弹出类似的内容,特别是在交互式scons会话中运行多个"构建"命令时.

我发现的唯一建议,环顾四周,似乎是使用依赖系统或AddPostAction调用glom.我这样做是不对的,因为它不是真正的依赖(严格来说,它甚至不是构建的一部分) - 它只是一个需要在每个构建的结束.

谢谢!

build scons

4
推荐指数
2
解决办法
2848
查看次数

标签 统计

build ×1

scons ×1