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?
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.