首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在配置步骤中使用"subst“功能

在配置步骤中使用"subst“功能
EN

Stack Overflow用户
提问于 2020-05-06 17:48:30
回答 1查看 64关注 0票数 1

网站管家有复制文件的subst功能。在构建上下文中,它可以像这样使用:

代码语言:javascript
复制
def build(bld):
    bld(features='subst', source='wscript', target='wscript_copy', is_copy=True)

但是我需要在configure步骤中使用subst特性:

代码语言:javascript
复制
def configure(conf):
    conf(features='subst', source='wscript', target='wscript_copy', is_copy=True)

但这是不可能的,因为configure没有BuildContext:

代码语言:javascript
复制
TypeError: 'ConfigurationContext' object is not callable

有没有办法做到这一点呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-08 00:38:12

ConfigureContext不打算使用任务。

如果你真的需要它,你可以用conf.check()方法做同样的事情(参见waf书§10.4.2)。它使用waflib.Configure.run_build(self, *k, **kw),这并不是完全公开的。有关check()的用法,请参阅waflib.Tools.c_config

对我来说,这似乎是不必要的复杂性。如果您只需要复制文件来设置您的工作区,请使用普通的python。

代码语言:javascript
复制
from shutil import copyfile

def configure(conf):
    copyfile('wscript', 'wscript_copy')

如果需要,构建部分使用任务管理和任务依赖关系来构建内容。

如果您需要替换环境变量,可以在waf工具中进行编码,如下所示:

代码语言:javascript
复制
def configure(conf):
    conf.load("mysubst")
    conf.substitute(wscript', 'wscript_copy')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61632124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档