2016-08-25 109 views
0

我有一個應該運行shell腳本的任務。在搖籃中,我定義如下:Gradle沒有執行我的任務

defaultTasks 'renaming' 
... some other stuff goes here ... 
task renaming(type: Exec) { 
    commandLine 'sh', 'src/main/bin/rename.sh' 
} 

我有我的src/main/bin中模塊下的shell腳本/
但是,沒有得到運行(用於測試目的,殼創建一個目錄稱爲「asfasf」)。我怎樣才能解決這個問題?

+0

您是否嘗試了像/Users/you/AndroidStudioProjects/yourProject/app/src/main/bin/rename.sh這樣的完整路徑? – HendraWD

+0

該項目將被編譯在不同的機器上,所以我不知道如何在這種情況下得到完整的路徑。 –

+0

您是否嘗試手動運行腳本?可能有錯誤 – minas

回答

0

當您給sh一個相對路徑時,它會針對Exec任務的工作目錄進行解析。設置Exec任務的工作目錄或使用file('src/main/bin/rename.sh')作爲commandLine的第二個參數。

+0

使用commandLine'sh',file('src/main/build/rename.sh')仍然沒有任何作用。 –

+0

什麼是「無」意思?它沒有執行?據說它是最新的?它會產生一個錯誤?什麼?你正在運行的是什麼命令?添加'-i'還是添加'-d'會添加更多幫助您查看錯誤的信息?如果不是,則將'-i'的輸出添加到您的問題中。 – Vampire

+0

「沒有」,因爲編譯得很好,但似乎根本沒有運行腳本。 shell腳本只運行這個命令:mkdir -p「asfasf」。從終端運行腳本工作正常,所以我假設我在Gradle中聲明任務的方式是錯誤的,或者它只是沒有找到正確的路徑。 –