Well, we now have two different platforms Caché and IRIS. With so many changes, that it makes so many difficulties to have the same sources for both platforms. I'm not arguing about the reasons for it. Some of the changes are really reasonable.
It's good when I can import code from Caché to IRIS and get it worked after all background job was done. In Caché we have %CacheStorage type used for Storages. In IRIS it automatically converts to %Storage.Persistent. So, If I develop on IRIS, I will have incompatible sources for Caché.
So, it is one of the problems, and I expect more. But I don't see anyways, yet how to deal with it.
I don't want to have two different repositories for sources for IRIS and for Caché. It means that it will be some difference between both of this repositories, and some functionality may be lost.
Does anybody already face with it, how did you solve it?
How InterSystems solve such issue?
I found that when export class in xml, with qualifier /exportversion=2017.1, it will convert classes back to supported by Caché. But it does not work for UDL format, but what if I don't want to use XML.