2014-01-29 45 views
0

我正在使用帶插件的java插件。我想將測試報告放在與默認(buildDir/testResultsDirName)不同的位置。命令行中的Gradle設置插件屬性

內gradle這個構建文件,我可以通過設置testReportDir做到這一點:

test.testReportDir = file('path') 

現在我想從外面設置此屬性,在命令行的意義。

可惜的是以下不工作,爲什麼我想這樣做是因爲我的CI我要把測試結果別處

gradlew -Dtest.testReportDir=path :subproject:test 

原因。

回答

4

使用gradle這個-P

-P, --project-prop  Set project property for the build script (e.g. -Pmyprop=myvalue). 

我通常建立我的腳本來尋找一個命令行屬性,如果沒有設置使用默認值:

ext.sourceJob = hasProperty('source_job')? source_job : "trunk-integration" 

您也可以在任務(如JavaExec類型):

if(project.hasProperty("jre1_6")) { 
    environment 'JRE1_6', jre1_6 
} 
+0

或者甚至更好的是,在構建腳本中保留CI的所有配置。然後,您將不必使用命令行標誌清除CI作業。 –

+0

「hasProject」必須以「project」爲前綴。 – Soccertrash

+0

這取決於上下文。我展示的第二個是在一項任務中,第一個是全球性的。 –