Community
Participate
Working Groups
Hi, I have a strange behavior while deploying my generation project. When I launch my generation via the AbstractAcceleoGenerator#doGenerate(), it takes a long long time to execute the first time. Debug gave me a clue: every *.emtl files in my plugins are loaded in my resource set. It seems that an EmtlResource has a CrossReferencerAdapter. It is notified after each EmtlResource#load and then has to load every other EmtlResource files... I don't have much more clues for you, but if you need more precise info, don't hesitate to ask for.
"long time" ? how long ? Do all your loaded emtl files could be reached from the entry point of your generator ? Or are there emtl files that should not have taken place in the generation that have been loaded ? When the generator is initialized, the entry point of the generation is loaded with all its dependencies recursively and it can take some time. In the last milestones we have improved the reporting of the progress of the generation in order to see the loading of the generator and the generation of each file. If you can try with this new build, you could see if it's a loading problem or not. If it is a loading problem, the size of the emtl files has been reduced with the use of binary resources in Acceleo 3.1, it may help.
The problem is linked to this issue: https://bugs.eclipse.org/bugs/show_bug.cgi?id=350247 Dynamic modules will be loaded in your resource set, so if you have installed a generator that is heavily using dynamic modules, your resource set will have lots of modules coming from plugins installed. *** This bug has been marked as a duplicate of bug 350247 ***