如何使用命令行参数调用另一个projects build.gradle文件

如何使用命令行参数调用另一个projects build.gradle文件,gradle,Gradle,我完成了以下步骤并成功地实现了一个任务,该任务从另一个项目调用build.gradle文件。i、 e.@karl提供的解决方案对我有效 但是我需要一些关于这个的东西 有人能帮我知道如何在调用另一个build.gradle时传递命令行参数吗?命令行参数应该是我从当前build.gradle文件生成的变量。 在我的例子中,我定义了一个buildNumber,并执行如下操作: def buildNumber = '10.0.0.1' def projectToBuild = 'projectName'

我完成了以下步骤并成功地实现了一个任务,该任务从另一个项目调用
build.gradle
文件。i、 e.@karl提供的解决方案对我有效

但是我需要一些关于这个的东西

有人能帮我知道如何在调用另一个build.gradle时传递命令行参数吗?命令行参数应该是我从当前build.gradle文件生成的变量。

在我的例子中,我定义了一个buildNumber,并执行如下操作:

def buildNumber = '10.0.0.1'
def projectToBuild = 'projectName'
def projectPath = "Path_till_my_Project_Dir"
task executeSubProj << {
    def tempTask = tasks.create(name: "execute_$projectToBuild", type: GradleBuild)

    // ****** I need to pass buildNumber as command line argument in "$projectPath/$projectToBuild/build.gradle" ******

    tempTask.tasks = ['build']
    tempTask.buildFile = "$projectPath/$projectToBuild/build.gradle"
    tempTask.execute()
}
def buildNumber='10.0.0.1'
def projectToBuild='projectName'
def projectPath=“路径直到我的项目目录”
任务执行subproj您不应该直接在任何gradle对象上调用
execute
。事实上,它是可行的,但并不意味着它应该被执行,这是非常不鼓励的,因为您侵入了内部gradle的执行图结构

您需要的是类型为的任务,该任务具有可用于承载构建选项的字段

因此:

可以找到完整的演示,导航到
p1
目录并运行
gradlebuildp2

应按以下方式修改脚本:

def buildNumber = '10.0.0.1'
def projectToBuild = 'projectName'
def projectPath = "Path_till_my_Project_Dir"

task executeSubProj(type: GradleBuild) {
    buildFile = "$projectPath/$projectToBuild/build.gradle"
    tasks = ['build']
    startParameter.projectProperties = [buildNumber: '10.0.0.1']
}
在执行的项目中,使用
project.findProperty('buildNumber')
获取所需的值。

决不能直接对任何gradle对象调用
execute
。事实上,它是可行的,但并不意味着它应该被执行,这是非常不鼓励的,因为您侵入了内部gradle的执行图结构

您需要的是类型为的任务,该任务具有可用于承载构建选项的字段

因此:

可以找到完整的演示,导航到
p1
目录并运行
gradlebuildp2

应按以下方式修改脚本:

def buildNumber = '10.0.0.1'
def projectToBuild = 'projectName'
def projectPath = "Path_till_my_Project_Dir"

task executeSubProj(type: GradleBuild) {
    buildFile = "$projectPath/$projectToBuild/build.gradle"
    tasks = ['build']
    startParameter.projectProperties = [buildNumber: '10.0.0.1']
}

在执行的项目中,使用
project.findProperty('buildNumber')
获取所需的值。

我迷路了,现在如何运行其他build.gradle文件?我是一名初学者,我无法理解如何使用startParameter选项执行另一个build.gradle文件:-(@VinayVerma,请看一下我准备的演示。
p1
是您运行
p2
项目的一个项目。非常感谢!!我很高兴:)您提供的解决方案有效:-)我迷路了,我现在如何运行其他build.gradle文件?我是一名初学者,我无法理解如何使用startParameter选项执行另一个build.gradle文件:-(@VinayVerma,请看一看我准备的演示。
p1
是您运行
p2
项目的项目。非常感谢!!我很高兴:)您提供的解决方案,有效:-)