[英]Running an ANT script from SCONS
是否可以從scons運行特定的ant腳本?
例如,從命令行運行此腳本可以正常工作
/usr/local/bin/ant release -f /Users/dev/pic/src/platform/android/java/build.xml
是否可以在scons中成功運行? 我試試這個:
env.Command('local.properties', [], "/usr/local/bin/ant release -f /Users/dev/pic/src/platform/android/java/build.xml")
但是失敗了,因為它沒有輸出具有正確SDK位置的local.properties文件
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?
這取決於你想要執行ant
方式和時間,但是確實可以。
如果要在每次SCons
執行時執行此ant
腳本,則可以使用SCons Execute()函數,如下所示:
env.Execute("/usr/local/bin/ant release -f /Users/dev/pic/src/platform/android/java/build.xml")
這將每次執行,沒有目標/源依賴性檢查。
如果您只希望在某個目標已過期時執行此ant腳本,則使用SCons Command()函數,如下所示:
env.Command(target='local.properties',
source='/Users/dev/pic/src/platform/android/java/build.xml',
action='/usr/local/bin/ant release -f $SOURCE')
我不確定我的源文件和目標文件是否正確,您可能需要修復它。
請注意, SCons
僅適用於SCons
項目目錄層次結構中或之下的源和目標 。 所述層次結構的根是SConstruct
腳本所在的位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.