We have a logic in Windows/wp8 parsers that fires a hooks, specific for these particular platforms. There is some problems with this:
- This doesn't fits well into the concept of PlatformApi
- The original purpose of the hook is now lost. It was intended to be fired in the middle of prepare, to allow to modify www folder before it will be packed into app package, but now it get fired right before the end of platform preparation, and hence almost equal to 'after_prepare'.
The only problem with using 'after_prepare' instead of 'pre_package' is when plugin (or user) decides to modify www files, they won't be BOMed by platform. This can be workarounded by moving 'add_bom' logic from prepare to build in PlatformApi for Windows. This way BOM will still be added after 'pre_package'.
So the proposed plan is:
- Do not touch 'pre_package' if 'old' platform is used (via PlatformApi polyfill)
- If the 'new' platform is used, 'pre_package' doesn't emitted by platform, so we need to emit it manually (right before 'after_prepare' - to keep the order of hooks unchanged)
- Move bomify from prepare to build in Windows PlatformApi, so www sources will be not-yet-bomified in 'pre_package'
- Add a notice about 'pre_package' deprecation and removal to HookRunner