获取SCons构建器操作中已修改文件的文件

时间:2015-09-04 12:00:50

标签: python scons

Python函数可以是构建器中使用的SCons操作,如SCons user manual中所述。只要有任何来源发生变化,SCons就会调用此函数。源作为SCons Files对象列表传递 在这个函数中我想知道特定的源是否已被更改(因此哪些源文件强制SCons重建构建器的目标)。

所以如果'file.target'是使用'file1.src'和'file2.src'使用调用python函数'custom_build'的自定义构建器构建的:

env.CUSTOM_BUILDER('file.target', ['file1.src', 'file2.src'])

def custom_build(env, source, target):
    # Checks if file1.src has been modified
    if source[0].has_been_modified:  # Does something like this exist??

我在调试时检查了这个File对象,但没有成功。是否有任何属性可以知道SCons构建器中的特定文件已更改?

1 个答案:

答案 0 :(得分:0)

我在Node .__ init__包上搜索时找到了一个可能的解决方案(SCons选项--debug = explain在这里提供了有关每个目标更改的源的信息)。这不是很好,但似乎做了这个工作。至少,它很适合我。关键是在目标上使用 function SubmitMyForm { var Firstname = document.getElementbyId('FirstName').value; var Lastname = document.getElementbyId('LastName').value; var URL="myDBoperations.php?firstname="+Firstname+"&lastname="+Lastname; window.location.href= URL; }

changed_since_last_build