Packaging: An overview
A packaged image is created by taking a set of objects from the running development image and making a new image containing only those objects. The packager provides tools that allow you to specify which objects are to be packaged, and how they will be initialized.
During packaging, packaging rules are associated with components in the development image (for example, methods, classes, instance variables, class and global variables, and pool dictionaries). Packaging rules tell the packager whether a component should be included in the packaged image, and whether the component should be changed.
It is possible that an application may have more than one set of packaging rules depending on the environment in which the packaged image is expected to run.
After the rules are assigned, the packager finds the objects that will compose the new image. If the rule for an object indicates that it not be packaged, the object is not scanned further. Otherwise, the object will be packaged, and all objects that it references will be similarly scanned. This means that an object will be packaged only if it is referenced by some other object that is being packaged.
The packager calculates the minimum set of components that need to be placed into the output image by:
Calculating classes and methods
Calculating unused classes and methods
Calculating unreferenced globals
Reducing pool dictionaries
The packaging process is usually the last operation performed in the development cycle. Packaging, however, should be done incrementally during development. This allows you to structure your applications and their prerequisites correctly with consideration to the final packaging step, and helps ensure that the packager includes the correct methods. Periodic packaging allows you to fix packaging problems earlier in the cycle, instead of at the last minute when you are trying to meet your deadline.
Last modified date: 05/19/2020