使用Gradle编译项目时,IntelliJ究竟在做什么?

IntelliJ IDEA 2016.3添加了将构建/运行委派给Gradle的function。

很明显,当代理选项在Gradle上时,它正在做所有事情。

我的问题是当这个选项关闭时IntelliJ正在做什么?

我问这个是因为我在Gradle文件中有自定义代码,并且在IntelliJ中构建时似乎没有执行此代码。 当我运行gradlew build一切正常。

IntelliJ有自己的构建系统,称为JPS,它使用IntelliJ IDEA项目和.iml文件作为项目模型。 当您使用IntelliJ IDEA的默认构建系统来构建项目时,它不会在Maven或Gradle文件中执行任何代码; 它使用自己的逻辑,只能通过将插件写入JPS来扩展。