2014-01-29 44 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

这取决于上下文。我展示的第二个是在一项任务中,第一个是全球性的。 –