[ALOY-656] Must have index.xml even if no UI is needed for the index controller

GitHub Issuen/a
Resolution Date2014-02-05T19:20:45.000+0000
Affected Version/sn/a
Fix Version/sAlloy 1.4.0
ComponentsTooling, XML
ReporterTony Lukasavage
AssigneeTim Poulsen


Even when no UI is needed for the index controller, Alloy requires that an index.xml be present, even if it is empty:
The reason is that Alloy and other tools (TiStudio for example) rely on the presence of index.xml as an indication that you are in fact building an Alloy app. Unfortunately, there are situation where the index controller needs know UI, only logic. Take for example the situation if you want to open a login screen or a home screen depending on queried data (either locally remotely). You need no UI to complete this query and determine whether the login controller or home controller should be opened, but the index.xml is required just the same. We need to remove this requirement and identify a more concrete method of determining if you are actually building an Alloy app.




  1. Tim Poulsen 2014-01-22 test app attached
  2. Tim Poulsen 2014-01-22 You can have a project with an empty index.xml (just tags present). Test with the attached project. How is this insufficient? Is this change necessary?
  3. Tim Poulsen 2014-02-04 PR: https://github.com/appcelerator/alloy/pull/327 Test app: https://github.com/appcelerator/alloy/tree/master/test/apps/testing/ALOY-656 Functional test: 1. Build the app 2. In resulting app, label should read "I'm in window 2" Using jake scripts:
       jake app:runNoXML dir=testing/ALOY-656
       // or
       jake test:spec[compile.js] app=testing/ALOY-656
  4. Tim Poulsen 2014-02-04 Reopening
  5. Paras Mishra 2014-05-12 Tested with https://github.com/appcelerator/alloy/tree/master/test/apps/testing/ALOY-656 app, "I'm in window 2" label is displayed Verified the fix using: Device : iPhone 5s , iOS version : 7.1 SDK: 3.3.0.v20140508135704 CLI version : 3.3.0-dev OS : MAC OSX 10.9.2 Alloy: 1.4.0-dev ACS: 1.0.14 npm:1.3.2 LiveView: 1.0.4 Appcelerator Studio, build: titanium-code-processor: 1.1.1 XCode : 5.1.1

JSON Source