It would be very convenient to include multiple versions of code in a composer'd module and have composer work out which version to deploy, based on the Magento version of the installation target.
For example, for Magento > 1.7, use the system.xml which includes tooltip
, nested group
and other modern features but for older versions of Magento, use a stripped-down version of the file which doesn't include those (breaking) declarations.
This approach could work for numerous other files in a standard module structure too.
The options for composer deployment are map
, modman
or package.xml
AFAIK, none of which have any intelligence regarding the target system. The package.xml
option is very unlikely to change but map
could...
It seems to me that there would be a lot of extension developers that would benefit from the graceful degradation approach. Has anyone found a work-around for this?