gpt4 book ai didi

installation - 如何使用waf递归安装目录

转载 作者:行者123 更新时间:2023-12-02 20:31:51 28 4
gpt4 key购买 nike

我目前使用以下 valadoc 构建任务为我的 vala 应用程序生成 API 文档:

doc = bld.new_task_gen (
features = 'valadoc',
output_dir = '../doc/html',
package_name = bld.env['PACKAGE_NAME'],
package_version = bld.env['VERSION'],
packages = 'gtk+-3.0 gee-1.0 libxml-2.0 x11 gdk-x11-3.0 libpeas-gtk-1.0 libpeas-1.0 config xtst gdk-3.0',
vapi_dirs = '../vapi',
force = True)

path = bld.path.find_dir ('../src')
doc.files = path.ant_glob (incl='**/*.vala')

此任务在输出目录中创建一个目录 html,其中包括几个包含 html 和图片文件的子目录。

据我所知,尝试做的是将这些文件安装到/usr/share/doc/projectname/html/。为此,我将以下内容添加到 wscript_build 文件中(按照我找到的文档 here ):

output_dir = doc.bld.path.find_or_declare('../doc/html')
doc.outputs = output_dir.ant_glob (incl='**/*')
doc.bld.install_files('${PREFIX}/share/doc/projectname/html', doc.outputs)

然而,这会导致错误“缺少节点签名”。有谁知道如何解决这个错误?或者有没有一种简单的方法可以使用waf递归安装目录?

您可以找到完整的示例 here .

最佳答案

我对生成的文件有类似的问题,并且必须更新相应 Node 对象的签名。尝试创建一个任务:

def signature_task(task):
for x in task.generator.bld.path.find_dir('../doc/html').ant_glob('**/*', remove=False):
x.sig = Utils.h_file(x.abspath())

在构建规则的顶部,尝试添加:

#Support running task groups serially
bld.post_mode = Build.POST_LAZY

然后在构建结束时添加:

#Previous tasks belong to a group
bld.add_group()
#This task runs last
bld(rule=signature_task, always=True, name="signature_task")

关于installation - 如何使用waf递归安装目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10054528/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com