我正在尝试设置Ant任务,以检查自上次生成.mo文件以来django消息文件(.po)是否已更新。
在我将以下内容放在一起后,这似乎是一项相当简单的任务;
<!-- Check if messages need to be compiled -->
<target name="init.trans.update.check" depends="init.properties">
<outofdate property="trans.required" outputsourcespath="whatsnew_path" verbose="true">
<sourcefiles>
<fileset dir="src">
<include name="**/*.po"/>
</fileset>
</sourcefiles>
<targetfiles>
<fileset dir="src">
<include name="**/*.mo"/>
</fileset>
</targetfiles>
<mapper type="regexp" from="^(.*)\.po$$" to="\1.mo"/>
<sequential>
<echo>The messages do need recompiling, the following files have changed:</echo>
<property refid="whatsnew_path" name="whatsnew"/>
<echo>${whatsnew}</echo>
</sequential>
</outofdate>
</target>
但是,如果启用了verbose
选项,则会向我显示它正在比较不同路径中的文件,因此会显示\src\mysite\locale\en\LC_MESSAGES\django.po outofdate with regard to \src\debug_toolbar\locale\en\LC_MESSAGES\django.mo
。
在进行比较时,是否可以使用此实现来确保每个文件的路径相同?我不想明确列出所有路径。