{ "id": "117447", "key": "ALOY-754", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false }, "project": { "id": "11113", "key": "ALOY", "name": "Alloy", "projectCategory": { "id": "10400", "description": "Tools for developing applications", "name": "Tooling" } }, "fixVersions": [ { "id": "15758", "description": "Alloy 1.4.0", "name": "Alloy 1.4.0", "archived": false, "released": true, "releaseDate": "2014-07-17" }, { "id": "15903", "description": "2014 Sprint 07", "name": "2014 Sprint 07", "archived": true, "released": true, "releaseDate": "2014-04-11" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2014-04-11T19:09:08.000+0000", "created": "2013-07-22T14:36:18.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "qe-testadded" ], "versions": [], "issuelinks": [], "assignee": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "updated": "2014-04-23T23:37:37.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "13603", "name": "Styling", "description": "TSS, dynamic styling, styling API" }, { "id": "13604", "name": "Tooling", "description": "Items related to Alloy tooling and workflow" } ], "description": "Alloy's theming-feature is awesome when it comes to branding white-label apps.\r\n\r\nHowever, these white-label apps often also require some contact information and stuff like that to change for each distribution. The most logical place to put these, would be the {{config.json}} file. And even for styling, setting some base colors in {{config.json}} to use in the TSS is often more efficient then overwriting each color using themed {{.tss}} files.\r\n\r\nThe problem however is... {{config.json}} does not support themes.\r\n\r\nHow about adding support to put a {{config.json}} in your {{/app/themes/myTheme}} folder, which then would (deep-)extend the base {{config.json}} file?", "attachment": [], "flagged": false, "summary": "Alloy: Add theme-support for config.json", "creator": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "subtasks": [], "reporter": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "environment": "Any", "comment": { "comments": [ { "id": "262783", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "As a workaround, you can copy the compiled {{Resources/alloy/CFG.js}} to your {{app/themes/myTheme/assets/alloy/CFG.js}} and make any changes there.\r\n\r\nBut of course this would require you to sync changes in {{config.json}} to the themed {{CFG.js}} files.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2013-07-23T06:50:27.000+0000", "updated": "2013-07-23T06:50:27.000+0000" }, { "id": "273317", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "PR: https://github.com/appcelerator/alloy/pull/246", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2013-09-29T08:46:16.000+0000", "updated": "2013-09-29T08:46:16.000+0000" }, { "id": "273442", "author": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR needs work, detailed in this comment: https://github.com/appcelerator/alloy/pull/246#issuecomment-25405595", "updateAuthor": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-09-30T20:57:52.000+0000", "updated": "2013-09-30T20:57:52.000+0000" }, { "id": "296303", "author": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "body": "The PR as it stands now is causing failures with existing apps and test. Specifically, advanced/themes sample app, and tests ALOY-577 and ALOY-629 fail when built using this PR.\n\n{code}\njake app:run dir=advanced/themes\n\n// throws\n[DEBUG] [ERROR] Error processing \"config.json\"\n[DEBUG] [ERROR] ENOENT, no such file or directory '/Users/tpoulsen/repos/alloy/test/projects/Harness/app/themes/green/config.json'\n[DEBUG] [ERROR] Alloy compiler failed\n{code}", "updateAuthor": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "created": "2014-03-10T15:15:51.000+0000", "updated": "2014-03-10T15:15:51.000+0000" }, { "id": "296534", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~skypanther] fixed it in the PR.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2014-03-11T08:10:29.000+0000", "updated": "2014-03-11T08:10:29.000+0000" }, { "id": "297036", "author": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "body": "The latest PR passes all tests except ALOY-887 which deliberately includes an unclosed comment. That was fixed in PR 312, which must not be present in your branch.", "updateAuthor": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "created": "2014-03-13T17:49:09.000+0000", "updated": "2014-03-13T17:49:09.000+0000" }, { "id": "297052", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Are you saying it is OK or needs another fix?", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2014-03-13T18:24:06.000+0000", "updated": "2014-03-13T18:24:06.000+0000" }, { "id": "297059", "author": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "body": "It should be handled fine when Tony merges your PR. I think it's OK as-is.", "updateAuthor": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "created": "2014-03-13T18:34:09.000+0000", "updated": "2014-03-13T18:34:09.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }