Determine Final Output
The penultimate task (run as pre-task from `ElementsCopyFinalOutput'), Determine Final Output gathers the files generated by the build that are considered the final deliverable.
Usually this will include the main binary and possible CopyLocal libraries, but it might also include .fx and .h files (for Cocoa and Island), or not include the binary but instead an application bundle (for Android or Cocoa apps).
- Runs once per project
As it runs, the task loops over all active targets, and runs the appropriate platform-specific subtasks to perform the reference resolution:
CopyLocalobject will be created for each file determined to be part of the final output, the exact rules of which depend on the platform and output type.
FinalOutputForReferencing-*object will be created for each binary that should be included in project references. This will include the main binary and might include any CopyLocal libraries, as well. For Island, this object will be generated per architecture, for Cocoa it will be generated per device/simulator.
For Island/Android projects, a
FinalOutputForReferencing-JNIobject will be created, which is used for project references from Cooper/Android projects.
No caching is done (yet).