我有一些自定义Gradle任务,需要将某些属性作为CLI参数传递给脚本(使用[001, 1][001, 2][001, 3][002, 3][002, 4]
)。例如:
-P
Gradle是否提供了一种内置且简洁的方法来定义这些要求?
答案 0 :(得分:1)
没有条件检查,没有内置的可能性。
但您可以使用net.saliman.properties插件轻松完成。
<强> requiredProperty 强>
requiredProperty "somePropertyName"
如果未定义命名属性,则此方法抛出MissingPropertyException。
<强> requiredProperties 强>
requiredProperties "property1", "property2", ...
如果未定义任何命名属性
,则此方法抛出MissingPropertyException<强> recommendedProperty 强>
recommendedProperty "somePropertyName", "default File Text"
当存在其他地方具有默认值的属性时,此方法很方便。例如,构建文件可能会定义它,或者应用程序可能能够从系统文件中获取它。它最有用的是提醒新开发人员必须在他们的系统上的某个地方配置某些东西。
该方法检查是否定义了给定属性。如果不是,则会显示一条警告消息,提醒用户将使用默认值,如果已给出defaultFile,则消息将包含该消息,以便开发人员知道哪个文件将提供默认值。
您的任务将如下所示:
task example(type: Copy) {
requiredProperties "foo", "bar", "baz"
}