I recently came across a problem when upgrading the installer (core) by itself:
- the old version is pre 3.4.0 and therefore a single bundle including api
- the new version is post 3.4.0 where api and core needs to be installed
The old installer detects that a new core bundle should be installed and runs its update task and updates from 3.3.8 to 3.4.2 - unfortunately at this point, the api bundle is not installed yet and therefore the installer core does not resolve and that's the end of it.
We'll run into similar problems once we update the API and the core requires the new api.
So we have two options, add more special casing for handling this situation - or revert
SLING-2527 and merge the api back into the core - making it a single unit. I would go the latter way as this is much simpler to handle and avoids adding another special casing which is now even trickier as it requires to check for two bundles - and if they are "compatible" etc.
I'll go the cleaner road and merge the api back