(GRADLE-1446) Refactored the intra-task dependencies between configurer & generator task for eclipse plugin. Made it more gradle-like by using dependency mechanism instead of implicit method call inside EclipseConfigurer. EclipseConfigurer no longer configures the domain objects for generator tasks, other tasks do it now. ModelBuilder needs to run extra tasks now (pending refactoring)Pending:-documentation for GeneratorTask
(GRADLE-1446) Refactored GeneratorTask to enable tooling api use some idea/eclipse plugins goodness. Details:- GeneratorTask now allows 'preconfiguration' of the domain object. I'm not very happy with this implementation but it felt lesser evil given that I need to keep the api of GeneratorTask intact because it is a part of our public api.- EclipseConfigurer and IdeaConfigurer task now run domain object configuration for relevant idea/eclipse GeneratorTasks. This way after configurer finishes his work we have the complete model of eclipse/idea (all subprojects).- Added integration test for idea plugin. It checks if before/whenConfiguration hooks work ok.
(GRADLE-1407) Next step in removing the duplication across eclipse & idea plugin. The duplication relates to module name deduplication logic. - idea plugin uses the common deduplication logic - some refactoring regarding names - ideaModule task no longer exposes getCandidateNames
(GRADLE-1407) First step in removing the duplication across eclipse & idea plugin. The duplication relates to module name deduplication logic. - moved some logic to 'core' - removed 'getCandidateNames()' from the task to avoid exposing our logic to users - pending: make changes in idea accordingly
(GRADLE-1407) Similarily as with idea plugin I added a configurer task that runs before eclipse generator tasks. - eclipse plugin configures the configurer on root project and makes all generator tasks depend on it - introduced marker interface that helps adding dependencies of configurer task - added integration test Pending: - refactor to reduce duplication across eclipse/idea plugin and move unit tests accordingly - document in the eclipse dsl guide the deduplication logic and effect on the projectName