Search code examples
pluginsgradleclassloader

What is Gradle plugin lifecycle


Gradle has perfectly documented build lifecycle. But I have failed to find information on third-party plugin's lifecycle, relevant to Gradle's deamon process.

I am interested at least in plugin's classes initialization. When are plugins initialized? Are they initialized on per build basis? Or per deamon? How many instances of a plugin's class exist in single Gradle's deamon process?


Solution

  • As of Gradle 2.2, a new build model is created for each Gradle invocation (whether daemon is enabled or not). This includes creating a new plugin instance for each apply plugin: statement. There aren't any guarantees around class initialization.