首页 > 解决方案 > 如何获取为给定目标计算的所有源依赖项 SCons?

问题描述

我想在构建给定目标后立即以编程方式执行此操作,在 SCons 构建运行期间,而不是使用--tree或任何其他命令到 scons。我有一个目标节点。它可能有一些明确的依赖关系、使用的扫描仪、基于文件扩展名的扫描仪,以及 SCons 计算的任何其他内容。就像:

all_source_nodes = tgt_node.get_all_sources(...)

我搜索了文档和 API。get_stored_implicit仅在 FS 节点上看到。我对此没有任何意见,对于.prerequisites.implicit节点成员也是如此。

我还发现.sourcesNode 成员显示了传递给构建器的直接源。当然,这还不够,因为我基本上需要依赖子树的所有节点,而且还要多得多。

标签: sconsbuild-dependenciesincremental-build

解决方案


在处理 SConstruct/SConscript 时,您不会获得大部分信息。

之后,依赖关系图完全填充。

您可能可以为此使用sconsign。它在 SCons 完成后读取构建数据库,您可以查询特定目标。


推荐阅读