Details
-
New Feature
-
Status: Closed
-
Non-Essential
-
Resolution: Won't Fix
-
None
-
None
-
Low
Description
Currently, there is no way for modules to require dependent modules whose versions differ depending on the OpenMRS version they are installed into. To use a current example:
The reporting module requires OpenMRS 1.5. It also runs on OpenMRS 1.6.
The reporting module depends on serialization-xstream, which has 2 different branches, one that is compatible with OpenMRS 1.5 and one that is compatible with OpenMRS 1.6+.
As we upgrade the serialization-xstream module with bug fixes, we'll want to upgrade both lines independently. The 1.5 compatible version might be 0.1.8.2. The 1.6+ compatible version might be 0.2.4.
We'll want to represent this in our require_version / require_modules configuration. Something like the following:
<supported_versions> <supported_version range="[1.5,1.6)"> <require_module id="org.openmrs.module.serialization.xstream" range="[0.1.8,0.2)" /> </supported_version> <supported_version range="[1.6,*]"> <require_module id="org.openmrs.module.serialization.xstream" range="[0.2,*]" /> </supported_version> </supported_versions>