{ "id": "137317", "key": "ALOY-1151", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false }, "project": { "id": "11113", "key": "ALOY", "name": "Alloy", "projectCategory": { "id": "10400", "description": "Tools for developing applications", "name": "Tooling" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2014-09-28T11:07:23.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "TCSupport", "alloy", "build", "cli", "compile", "jmk" ], "versions": [], "issuelinks": [], "assignee": null, "updated": "2020-04-27T13:37:42.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "13605", "name": "Models" } ], "description": "I love using [Alloy build hooks|http://docs.appcelerator.com/titanium/latest/#!/guide/Build_Configuration_File_(alloy.jmk)] through {{alloy.jmk}} files. However, I'd like to also start async processes and block the compile process from continuing until they are done.\r\n\r\nh1. Example\r\n\r\n{code}\r\ntask(\"pre:load\",function(event,logger,done){\r\n require('ticons').assets({\r\n minDpi: 320\r\n }, done);\r\n});\r\n{code}\r\n\r\nh1. Solution\r\n\r\nThe solution could be modeled after the Titanium CLI which already [supports both sync and async hooks|http://docs.appcelerator.com/titanium/latest/#!/guide/Titanium_CLI_Plugins-section-37549163_TitaniumCLIPlugins-ListeningtoHooks].", "attachment": [], "flagged": false, "summary": "Alloy: Support async build hooks", "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": "Alloy 1.5.0 RC (latest)", "comment": { "comments": [ { "id": "326208", "author": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "body": "[~tlukasavage]: Can you please assign [~fokke] as reporter? The system continues to assign myself as the original reporter when I move this bugs. Thanks. ", "updateAuthor": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "created": "2014-09-29T21:37:18.000+0000", "updated": "2014-09-29T21:37:18.000+0000" }, { "id": "384963", "author": { "name": "bgrantges@appcelerator.com", "key": "bgrantges", "displayName": "Bert Grantges", "active": false, "timeZone": "America/Chicago" }, "body": "[~cng] Bump! We should look into this for an upcoming release.", "updateAuthor": { "name": "bgrantges@appcelerator.com", "key": "bgrantges", "displayName": "Bert Grantges", "active": false, "timeZone": "America/Chicago" }, "created": "2016-05-06T05:14:02.000+0000", "updated": "2016-05-06T05:14:02.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }