Open FroMage opened 11 years ago
Perhaps we could try using an IReconciler
for this.
I also think this is an interesting direction to search into
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.
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 ?
Contained in the more general issue #843
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
).
Thus now moving to 1.2
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.