Eric Parker - 2003-08-13

Logged In: YES
user_id=452458

The deleted struct/node tracking is done through the
source declaration files (so in this case that's
FormActionStruct.java) and the build state information
(which in this case is apps/ui/build/StructDecls.txt).
The state info contains a line referencing the previously
known struct declaration. So for example:
"C:\sand\apps\ui\build\..\src\org\sandev\ui\structs\ActionStru
ct.java"

When SandBuildDriver is figuring out all the SandDecls for
each project, it diffs the directory listing against the
contents of the build state to determine the status of
each SandDecl:
- source exists, no state exists -> STATUS_NEW
- source exists, target is newer/equal ->
STATUS_UNCHANGED
- source exists, target is older -> STATUS_CHANGED
- no source, state exists -> STATUS_DELETED

In the case of STATUS_DELETED, the SandDecl is synthesized
since there is no actual source file. The logic was
tested fairly early on in the v1.3 release process and was
working then. Not sure what is going on, but that's where
I would start looking. I'm ordering a replacement
computer today, but I won't have the horsepower to look
into this until it shows up.