2014-11-24 61 views
0

我試圖發射各種基於android的gradle任務,例如組裝完成後,運行「gradle clean test」。安卓gradle運行測試後通過組裝

一些背景...

我公司擁有詹金斯,它是由一個獨立的團隊管理,所以我不能夠訪問配置它自己。在對遠程倉庫(git)進行任何更改時,jenkins工作將會觸發,運行gradle clean test並使用我們在倉庫中的build.gradle文件。

我被告知這是構建團隊將提供的唯一命令,如果我想要運行任何進一步的操作,我必須在build.gradle腳本中配置它們。

我想像我可以做一些像afterTest(:assemble)或addTestListener()但我似乎無法在谷歌上找到任何示例。

任何人都可以幫助我嗎?這甚至是可能的,還是應該讓我的構建團隊允許我根據我想要的運行差分Gradle任務?

回答

1

統一配置CI作業是個不錯的主意。但是,運行gradle clean test時,沒有好方法執行額外的獨立任務。他們必須至少運行gradle clean build,以便您可以使用build.dependsOn(myTask)添加任務。 (但是,請記住,build已取決於assemble。)或者它們運行一個自定義任務,例如gradle (clean) ciBuild,默認情況下,該自定義任務僅取決於test,並根據需要添加進一步的任務依賴關係。

+0

事情是,如果他們可以運行任何其他命令,那麼他們可以運行我想要的一個!我不確定他們願意做什麼:(但是,這是很好的信息,讓他們有進一步的請求,謝謝。 – 2014-11-24 18:18:48

+0

好吧,快速問題。如果我可以讓他們運行gradle clean ciBuild我怎麼能那麼依賴於測試嗎?我已經嘗試了dependsOn(測試)之前,它說它找不到測試 – 2014-11-24 18:34:45

+0

我相信Android項目只有一個'androidTest'任務''check'將適用於Android和Java項目(但它也會運行爲構建配置的其他代碼質量檢查,例如FindBugs) – 2014-11-24 18:46:41