如何在BuildGradle任务中使用startParameters?

Ska*_*rab 14 gradle

我想传递deployDir(有价值/my_archive)uploadArchives任务my_project:

task build (type: GradleBuild) {
        buildFile = './my_project/build.gradle'
        tasks = ['uploadArchives']
        /* startParameter =  [deployDir:"/my_archive"] ??? */      
}
Run Code Online (Sandbox Code Playgroud)

我不知道如何声明启动参数.我尝试了不同的方法,例如,

startParameter = [deployDir:"/my_archive"]
Run Code Online (Sandbox Code Playgroud)

没有成功.

如何在GradleBuild任务中声明startParameter

rod*_*ion 21

我假设你的意思是传递deployDir作为项目属性.在这种情况下,您会发现有一种setProjectProperties(Map)方法可以使用:

task build (type: GradleBuild) {
    buildFile = './my_project/build.gradle'
    tasks = ['uploadArchives']
    startParameter.projectProperties = [deployDir: "/my_archive"]
}
Run Code Online (Sandbox Code Playgroud)

这将使您能够deployDir从被调用的构建脚本中作为变量进行访问:

uploadArchives {
 repositories {
  mavenDeployer {
   repository(url: deployDir)
   // --- or, if deployDir can be empty ---
   repository(url: project.properties.get('deployDir', 'file:///default/path'))
  }
 }
}
Run Code Online (Sandbox Code Playgroud)