如果没有向Gradle提供参数,是否可能抛出错误?

如果没有向Gradle提供参数,是否可能抛出错误?,gradle,Gradle,我的gradle安装程序在运行时接受参数,这些参数在gradle Exec任务调用的shell脚本中检查。但是,为了达到这一点,Gradle处理依赖关系,并在执行结束脚本之前花费大量时间,如果没有传递参数,则会抛出错误 gradle中的生成任务如下所示: task buildAll(type: Exec) { environment['PROJECT_ROOT'] = "${projectDir}" workingDir rootProject.projectDir.path

我的gradle安装程序在运行时接受参数,这些参数在gradle Exec任务调用的shell脚本中检查。但是,为了达到这一点,Gradle处理依赖关系,并在执行结束脚本之前花费大量时间,如果没有传递参数,则会抛出错误

gradle中的生成任务如下所示:

task buildAll(type: Exec) {
   environment['PROJECT_ROOT'] = "${projectDir}"
   workingDir rootProject.projectDir.path
   executable rootProject.projectDir.path + "/script.ksh"
      if (project.hasProperty('ARGS')) {
         args(ARGS.split(','))
      }
}
Gradle的名称如下:

./gradlew build -PARGS="-arg1,value1,-arg2,value2,-arg3,-arg4,value4"

我打算检查
-arg2
,如果没有提供,我希望gradle构建失败并显示某种用法。这可能吗?

您可以在脚本的最开始添加一个if块:

if (!project.hasProperty('lol')) {
    throw new GradleException("'lol' property is required!")
}

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.google.guava:guava:18.0'
    }
}
但是,它不会阻止gradle解析脚本本身的依赖项-
buildscript
块将首先进行计算