Running an ANT script from SCONS
是否可以从scons运行特定的ant脚本?
例如,从命令行运行此脚本有效
1 | /usr/local/bin/ant release -f /Users/dev/pic/src/platform/android/java/build.xml |
是否可以在scons中成功运行它?我尝试这样:
1 | env.Command('local.properties', [],"/usr/local/bin/ant release -f /Users/dev/pic/src/platform/android/java/build.xml") |
但是失败了,因为它没有输出带有正确SDK位置的local.properties文件。
1 2 | BUILD FAILED /Users/dev/pic/src/platform/android/java/build.xml:55: sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable. |
但是这些变量是正确的。有没有办法使用scons克服此障碍?
这取决于您要执行
如果要在每次执行
1 | env.Execute("/usr/local/bin/ant release -f /Users/dev/pic/src/platform/android/java/build.xml") |
这将每次执行,不检查目标/源依赖项。
如果仅当某个目标已过期时才希望执行此ant脚本,请按以下方式使用SCons Command()函数:
1 2 3 | env.Command(target='local.properties', source='/Users/dev/pic/src/platform/android/java/build.xml', action='/usr/local/bin/ant release -f $SOURCE') |
不确定我的源文件和目标文件是否正确,您可能需要修复它。
请注意,