On save, SugarJ only recompiles modules that are directly dependent on the saved file. Instead, SugarJ should schedule all necessary recompilations so that no file recompiled more than once. Furthermore, the recompilation of files that are currently not loaded and on which no loaded file (transitively) dependents should be delayed.

Submitted by Sebastian Erdweg on 12 April 2011 at 18:03

On 12 April 2011 at 18:22 Sebastian Erdweg tagged build

On 12 April 2011 at 18:22 Sebastian Erdweg tagged modules

On 12 April 2011 at 18:29 Sebastian Erdweg tagged seba

On 12 April 2011 at 18:29 Sebastian Erdweg removed tag seba

On 12 April 2011 at 18:30 Sebastian Erdweg tagged !seba

On 12 April 2011 at 18:30 Sebastian Erdweg tagged @seba

On 12 April 2011 at 18:30 Sebastian Erdweg removed tag !seba

On 12 April 2011 at 18:30 Sebastian Erdweg removed tag @seba

On 13 April 2011 at 11:45 Sebastian Erdweg removed tag build

On 13 April 2011 at 11:45 Sebastian Erdweg tagged plugin

On 2 June 2011 at 18:02 Sebastian Erdweg closed this issue.

On 2 June 2011 at 18:02 Sebastian Erdweg commented:

For each module (that is, class, sugar or editor service), we now also generated dependency files (*.dep), which contain the following information:

  • name of source file + hash
  • names of generated files + hashes
  • names of dependency files of imported modules + hashes

Based on that information, recompilation is triggered if the dependency file is outdated (see org.sugarj.driver.Result.isUpToDate()), i.e., any of the following holds:

  • source file has changed
  • a generated file has changed, i.e. is not valid anymore
  • the dependency file of an imported module is outdated

Log in to post comments