簡體   English   中英

從SCONS運行ANT腳本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM