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
Pre-Tasks
Post-Tasks
- none
Execution
As it runs, the task loops over all active targets, and runs the appropriate platform-specific subtasks to perform the reference resolution:
ElementsDetermineFinalOutputEchoes
ElementsDetermineFinalOutputCooper
ElementsDetermineFinalOutputToffee
ElementsDetermineFinalOutputIsland
ElementsDetermineFinalOutputGotham
Output
-
A
CopyLocal
object 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. -
A
FinalOutputForReferencing
orFinalOutputForReferencing-*
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-JNI
object will be created, which is used for project references from Cooper/Android projects.
Caching
No caching is done (yet).