我想通过Extension
来在Plugin
中修改 project
的dependencies
。
现在遇到了这样的问题。
如果我直接在我的apply
方法中获取extension
的话,那project
的extension
还未被赋值。
但是如果我在project#afterEvaluate{}
中获取extension
后修改dependencies
的话又会报错
Cannot change dependencies of configuration
所以我想问一下,有什么生命周期是project
对象创建后(extension
被赋值)但dependencies
未执行完毕呢?
更新提问
class PluginDemo implements Plugin<Project> { @Override void apply(Project target) { printExtension(target) target.rootProject.subprojects.each { if (it.name.startsWith("m_")) { println("✅${it.name}") target.dependencies.implementation it } else { println("❌${it.name}") } } } void printExtension(Project target) { target.extensions.create('myextension', MyExtension) println("myextension${target.myextension.merge}") } }
我想通过一个外部的开关来让:app
依赖其他subProject
,所以想通过extension
来控制。
相关分类