Kbase P122671: What files are compiled during a project build in Architect?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/28/2010 |
|
Status: Unverified
GOAL:
What files are compiled during a project build in Architect?
GOAL:
How to perform incremental builds in Architect?
GOAL:
What happens after a full build is interrupted in Architect?
GOAL:
Is it possible to perform incremental builds if "Save r-code" is disabled?
GOAL:
Why is there a full project build when only one file is saved?
GOAL:
How does Architect know when a file needs recompiling?
FACT(s) (Environment):
OpenEdge 10.1x
FIX:
When a resource is changed due to a Save, a Move or a Delete, Eclipse publishes an event to any builders registered for that project. The OpenEdge Builder receives this event. Part of this event is a delta indicating what changed. Normally this is only a single file. It is the OpenEdge Builder's responsibility to determine what to actually compile. The OE Builder is fairly simple. It simple checks to see whether the file is compilable based on its extension, and then compiles it. The OE Builder does have an option to look at the old r-code and determine if all the include files it was using and the original file are newer then the r-code and skip the compile if the r-code is newer. The only time the build would get skipped is on a project that has already had some of its r-code built successfully. When you open a closed project or import a new project and "Build automatically" is enabled, Eclipse performs a full build on that project. The difference between the resource change build and the full build is that the delta passed to any builders is the entire project set of files. This causes the OE Builder to build the entire project. Note that building a file does not necessarily compile that file since some files are not compilable and others may have already been compiled. The option to check the timestamps before compiling ("Build only when source files are newer than r-code") saves some work since its faster to check timestamps then it is to compile the file. If the r-code is available (due to an opened or imported project, and "Save r-code" was set for previous builds) then the full build will be faster. If the time stamp option is turned off then the compile is always done without regard to existing r-code.