eclipse-archived / ceylon-ide-eclipse

Eclipse Plugin for Ceylon
http://ceylon-lang.org/documentation/ide
Eclipse Public License 1.0
59 stars 28 forks source link

Improve incremental build of module descriptors #572

Open FroMage opened 11 years ago

FroMage commented 11 years ago

Improve incremental build propagation when editing module files, to avoid doing any sort of build when adding new module imports (except for units which had errors before editing the module file, and still requiring to load the model of the imported modules in memory, for completion and warmup, but not triggering a full build), and to only rebuild source units that are directly or transitively affected by edition/deletion of pre-existing module imports.

gavinking commented 11 years ago

Perhaps we could try using an IReconciler for this.

davidfestal commented 11 years ago

I also think this is an interesting direction to search into

FroMage commented 10 years ago

Also, Julien Viet had a great idea which is that we should not ever ever trigger a build (not even incremental) when editing a module documentation! This happens often and it's a pain that it causes a build. Obviously the module descriptor has to be recompiled by the backend, but that's it. Nothing more, it has zero impact on other files.

davidfestal commented 10 years ago

Sure, right ! In fact there is a more general issue behind this that is : did we touch a source file location that corresponds to a Ceylon model element some other units depend on ?

davidfestal commented 10 years ago

Contained in the more general issue #843

davidfestal commented 10 years ago

Reopening since for the moment we only avoid a full build when a descriptor with nor structural changes is touched (for comments or some annotations for example). However, true incremental build of module descriptors (managing import removals or additions with the required module validation), requires much more work, and some refactoring in the way modules are managed and validated (in ModuleVisitor, ModuleValidator, ModuleManager).

davidfestal commented 10 years ago

Thus now moving to 1.2