Titanium JIRA Archive
Alloy (ALOY)

[ALOY-1329] Either keep Alloy backwards compatible with older Titanium SDKs or specify and validate minimum version

GitHub Issuen/a
TypeStory
PriorityNone
StatusOpen
ResolutionUnresolved
Affected Version/sn/a
Fix Version/sn/a
Componentsn/a
Labelsn/a
ReporterFokke Zandbergen
AssigneeFeon Sua Xin Miao
Created2015-11-12T09:22:38.000+0000
Updated2015-11-12T09:22:38.000+0000

Description

We try to keep Alloy up to date with the Titanium SDK changes. Sometimes this means we break Alloy when used with older SDKs. *Example* * Since [Alloy 1.7.19](https://github.com/appcelerator/alloy/releases/tag/1.7.19) we now map <SplitWindow> to Ti.UI.iOS instead of Ti.UI.iPad. * This means that if I use Alloy 1.7.19 and Titanium 3.5.1.GA I will get an exception when I use <SplitWindow> because [Ti.UI.iOS.SplitWindow](http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.iOS.SplitWindow) was added in Titanium 4.0.0.GA *Solution* Like Titanium, Alloy should list vendorDependencies in [package.json](https://github.com/appcelerator/titanium_mobile/blob/master/package.json#L59) to specify the minimum Titanium SDK version it can be used with. This should be validated before it compiles so that the user can be informed. The alternative would be to keep Alloy backwards compatible with older Titanium SDKs. So in the case of the example, the namespace should be mapped based on the SDK version used. Both have pros and cons. To add to the complexity, the dependency chains with OSS and the Platform are different: _Before the Unified CLI / with OSS_ * Titanium CLI version is determined by npm i -g titanium * Titanium SDK version is determined by tiapp.xml * Alloy version is determined by npm i -g alloy _With the Unified CLI_ * Appcelerator CLI Core Package is determined by appc use * Titanium CLI version is determined by Core Package * Alloy version is determined by Core Package

Comments

No comments

JSON Source