美文网首页
beforeEvaluate()的执行时机

beforeEvaluate()的执行时机

作者: cmeiyuan | 来源:发表于2017-07-17 15:40 被阅读306次
    public class DemoPlugin implements Plugin<Project> {
        @Override
        public void apply(Project project) {
            project.beforeEvaluate {
                println("beforeEvaluate")
            }
        }
    }
    

    如果这个DemoPlugin是被写在build.gradle文件里,像这样apply plugin: 'demoPlugin'beforeEvaluate()方法不会执行,而如果是在rootPlugin里,调用subProject的apply plugin 'demoPlugin',则beforeEvaluate()会被执行。原因是beforeEvaluate()这个方法是在解析build.gradle文件之前执行,在build.gradle中才注册beforeEvaluate()监听方法,已经晚了。

    基于此,我们想在解析build.gradle之前,改变build.gradle文件的内容,可以在
    beforeEvaluate() 这个方法里修改build.gradle

    相关文章

      网友评论

          本文标题:beforeEvaluate()的执行时机

          本文链接:https://www.haomeiwen.com/subject/rctqkxtx.html