Application archive for incremental publishing that optimises sha1 code and file size calculation by using cached sha1 codes for files that have not changed. Resources that have not been changed will be skipped from this calculation as an optimisation step.
This speeds up the process of publishing incremental changes in a application, as sha1 hash codes need not be computed for files that haven't changed.
Two separate operations occur with this archive.
1) entries for all module resources are collected, regardless if the resource has changed or not. The reason for this is that the CF client requires all entries in order to determine what has changed on the server side. During this phase, either cached entries are used for resources that have not changed, or entries are recalculated for resources that have changed.
2) The second phase involves handling the list of resources that the server indicates have not changed. This is done through a callback handler, which then builds the partial war file with only those resources that have changed.