Titanium JIRA Archive
Alloy (ALOY)

[ALOY-590] Abstract platform-specific checks and functionality in Alloy to make adding platforms trivial

GitHub Issuen/a
Resolution Date2013-04-02T17:53:36.000+0000
Affected Version/sn/a
Fix Version/sAlloy 1.2.0, 2013 Sprint 07
ComponentsTitanium SDK
ReporterTony Lukasavage


Blackberry support was recently added to Alloy (ALOY-424). While it wasn't terribly complicated it took a little more than a day to implement and test to make sure all the various functionality regarding platforms was accounted for. In order to make this easier with future platforms, it would be ideal to abstract the bits of platform-specific functionality into config files that will make this trivial in the future, as simple as a one-file pull request against Alloy by the platform creator.

Notes on adding platforms

_this information was learned during the process of adding Blackberry to Alloy_ * Add platform to: ** CONST.PLATFORMS ** CONST.PLATFORM_FOLDERS ** CONST.PLATFORM_FOLDERS_ALLOY * Add platform conditional optimization to compile/optimizer.js * Add platform to CONDITION_MAP in compile/index.js * Add platform to config.json and widget.json templates, if appropriate * Add platform to appropriate adapters in info command * Add platform to platforms in optimizer.js test * Add platform-specific folder to top-level Resources folder * HarnessTemplate ** Add platform-specific resources folder ** Need to enable the platform in the tiapp.xml * test specs ** add new platform to the "platforms" object in test spec optimizer.js


  1. Tony Lukasavage 2013-04-02

    The process of adding new mobile platforms has now been made significantly easier. For full details on what is necessary to add a new platform to Alloy and be able to leverage all of Alloy's features, check the following wiki documentation: https://wiki.appcelerator.org/display/pe/Adding+Platforms+to+Alloy This document is only available internally as a prerequisite for adding a platform to Alloy is obviously that it must have a corresponding Titanium SDK. If a community developer creates a new compatible Titanium SDK that they wish to have integrated into Alloy, I'll be more than happy to share the doc. :)

JSON Source