java - 为什么我的 gradle 任务在没有依赖关系的情况下被调用?
问题描述
我有一个 gradle 任务,我想在打印变量的值时被忽略。我不明白为什么要调用它,并且值正在改变。
def value = 'something'
task changeValue() {
value = 'somethingElse'
}
task printTask() {
println "${value}"
}
打印的值应该是something
. 为什么会somethingElse
被打印出来?
编辑:
我现在有
task changeValue() << {
value = 'somethingElse'
}
所以这只会在执行阶段执行。
但是现在如果我将打印任务更改为
task printTask(dependsOn: changeValue) {
println "${value}"
}
我希望这somethingElse
是打印出来的。但现在我只能something
打印出来。
编辑 2:忘记在 printTask 中添加 << 。
解决方案
您必须了解 gradle 生命周期。查看此链接:构建生命周期
您的任务中的值在配置阶段发生更改。当我们运行一个任务时,它的执行阶段开始,但它的配置阶段在构建过程中运行。
推荐阅读
- javascript - OSX .dmg 和 PC 安装程序 .exe 之间的大小差异?
- python - 生成一个列表来存储输入数据
- azure - 脚本如何访问服务连接?(Azure Devops 管道)
- go - 在 GORM 中使用关联创建记录?
- jquery - jQuery DataTable Search / Filter FAILS on column function generated value
- java - 在命令行参数中为字符获取不同的输出
- c# - 在将集合引用从视图传递到 VM 时,跟踪集合引用的最佳方法是什么
- javascript - 自定义 Javascript 变量在历史更改时返回不同的值
- python - 在 Python Pandas 中对行(日期)进行分组并汇总多个列(每个日期的几个测量值)
- c++ - boost::spirit::x3 phrase_parse 在推入向量之前进行算术运算