gpt4 book ai didi

gradle - 可以定义不被子项目继承的 gradle 扩展属性吗?

转载 作者:行者123 更新时间:2023-12-03 05:57:18 25 4
gpt4 key购买 nike

我想在多项目构建中使用 allprojects/afterEvaluate 根据它设置的属性对每个项目执行某些操作。有没有办法以子项目不继承的方式设置每个项目的属性?

ext.myProp如果我只关心叶子项目,就可以工作。但是如果 parent 也需要设置该属性,我无法找到区分它设置在哪个项目上的方法。多项目 guide解释说属性是(不情愿地)继承的。

这种机制让我想起了 JavaScript 中的原型(prototype)继承。 gradle 有没有 hasOwnProperty相等的?

最佳答案

我又挖了一些,发现虽然没有通用的方法来隔离 several delegated scopes 中的哪一个 |如果您专门寻找 ext,则项目属性来自属性,则有 has方法,您可以检查特定项目的未委托(delegate)的 ext 容器(至少在 hasProperty 的范围内)。

所以proj.ext.has('myProp')如果值已直接分配给该项目,则为真。

一个重要的警告是通过 -P 设置的属性。或 gradle.properties似乎会自动复制到所有项目的扩展容器中,我认为没有办法区分这一点。扩展或任务属性可能更容易隔离,因为它们不是继承的,但它们不是临时的。

关于gradle - 可以定义不被子项目继承的 gradle 扩展属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44052060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com