【发布时间】:2020-05-08 06:37:05
【问题描述】:
我有 3 个插件“A”、“B”和“C”。插件“A”包括插件“B”:
project.getPlugins().apply(B.class);
插件“B”包括插件“C”:
project.getPlugins().apply(C.class);
总而言之,依赖关系是:A > B > C
插件“A”有一个自定义任务“T_A”和一个自定义扩展“E_A”。插件“C”有一个自定义扩展“E_C”。
当我使用以下build.gradle 并执行gradlew T_A 时,一切都按预期工作,这意味着在执行 T_A 之前设置了属性:
plugins {
id 'A'
}
E_A {
prop_a = 'hello'
}
E_C {
prop_c = 'world'
}
但是,使用以下 build.gradle:
plugins {
id 'A'
}
E_C {
prop_c = 'world'
}
E_A {
prop_a = 'hello'
}
... 那么,在任务执行之前不会设置 prop_a。
我被卡住了,真的不明白为什么会出错。
build.gradle 文件中扩展的关闭顺序重要吗?
【问题讨论】:
标签: gradle groovy closures gradle-plugin