在一个Gradle任务的配置中,如何引用另一个任务的输入?
\n\n考虑以下(人为的)示例build.gradle文件(存储在/tmp/foo),其中 I\xe2\x80\x99d 喜欢在两个不同的任务中使用相同的任务输入值:
task task1 {\n def myInput = projectDir // (or any other directory)\n inputs.dir(myInput).withPropertyName(\'t1Input\')\n doLast {\n println myInput\n }\n}\n\ntask task2 {\n dependsOn task1\n def myInput = task1.inputs.properties[\'t1Input\']\n inputs.dir(myInput).withPropertyName(\'t2Input\')\n doLast {\n println myInput\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n在task2我想使用与在中相同的输入task1。但是,当我运行这个构建时./gradlew --console=verbose --warning-mode=all task2我得到:
> Task :task1 \n/tmp/foo\n> Task :task2 \nA problem was found with the configuration of task \':task2\'. Registering invalid inputs and outputs via TaskInputs and TaskOutputs methods has been deprecated and is scheduled to be removed in Gradle 5.0.\n - No value has been specified for property \'t2Input\'.\nnull\nRun Code Online (Sandbox Code Playgroud)\n\n似乎我的任务输入属性命名t1Input为task1无法通过task1.inputs.properties(Javadoc)获得。
FWIW,我使用 Gradle 4.6。
\n| 归档时间: |
|
| 查看次数: |
787 次 |
| 最近记录: |