{ "id": "162514", "key": "TIMOB-23755", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "11258", "description": "Holding Pen for Triaged Issues", "name": "Backlog", "archived": false, "released": false } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-08-15T16:42:37.000+0000", "created": "2016-08-10T16:49:55.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "notable", "qe-5.4.0" ], "versions": [ { "id": "17706", "name": "Release 5.4.0", "archived": false, "released": true, "releaseDate": "2016-08-11" } ], "issuelinks": [ { "id": "52809", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "163510", "key": "TIMOB-23956", "fields": { "summary": "Hyperloop: Improve error handling for non-default Xcode installations", "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" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2018-08-06T17:49:12.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": "13715", "name": "Hyperloop", "description": "Hyperloop project" }, { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "If Xcode is not in the default location ({{/Applications/Xcode.app}}), Hyperloop projects fail to build (the metabase fails to generate).\r\n\r\n*Steps to reproduce issue*\r\n1. Ensure there is not an Xcode in the default location ({{/Applications/Xcode.app}})\r\n2. Select your Xcode, not in the default location, using {{sudo xcode-select -s /path_to_xcode/Contents/Developer}}\r\n3. Create a new project with Hyperloop\r\n4. Change the code of the project to reference Hyperloop\r\n5. Build the project for sim or device\r\n\r\n*Actual Results*\r\nThe build fails with:\r\n{code}\r\n[TRACE] [Hyperloop] metabase took 37 ms to generate\r\n2016-08-10T16:32:54.320Z | ERROR | An uncaught exception was thrown!\r\nENOENT: no such file or directory, open '/Users/Eric/Documents/Appcelerator_Studio_Workspace/HLTEST/build/hyperloop/ios/metabase-7.1-iphonesimulator-2e0197f93f6a8a0561f89e29961fab80.json'\r\n2016-08-10T16:32:54.322Z | ERROR | ENOENT: no such file or directory, open '/Users/Eric/Documents/Appcelerator_Studio_Workspace/HLTEST/build/hyperloop/ios/metabase-7.1-iphonesimulator-2e0197f93f6a8a0561f89e29961fab80.json'\r\n{code}\r\n\r\n*Expected Results*\r\nThe build succeeds and the metabase is created\r\n\r\n*Notes*\r\nAfter the error I have the {{.h}} file in my {{build/hyperloop/ios}} folder, but the {{.json}} files and {{js}} folder are not populated. ", "attachment": [], "flagged": false, "summary": "iOS: Hyperloop - Cannot build Hyperloop project if Xcode is not in default location", "creator": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "environment": "MacOS 10.11.5 (15F31a)\r\nStudio 4.7.0.201607250649\r\nTi SDK 5.4.0.v20160809033140\r\nAppc NPM 4.2.7\r\nAppc CLI 5.4.0-40\r\nAlloy 1.9.1\r\nXcode 7.3.1 (7D1014)\r\nHyperloop 1.2.5 & 1.2.6", "closedSprints": [ { "id": 695, "state": "closed", "name": "2016 Sprint 17 SDK", "startDate": "2016-08-13T00:00:16.620Z", "endDate": "2016-08-27T00:00:00.000Z", "completeDate": "2016-08-29T03:18:08.942Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "392875", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "I don't think that's a Hyperloop-issue. If you change the default Xcode-location (which is really not recommended), you need to run {{sudo xcode-select -s /path_to_xcode/Content/Developer}}. Please validate.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-08-10T17:42:05.000+0000", "updated": "2016-08-10T17:42:05.000+0000" }, { "id": "392880", "author": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "body": "That was part of the validation and reproduction steps. However, I have edited the description and broke it out into a separate step to make it clear. To repro, you should have a selected Xcode and not have an Xcode in the default location.", "updateAuthor": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-08-10T17:50:30.000+0000", "updated": "2016-08-10T17:52:05.000+0000" }, { "id": "393096", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "After some more research and testing, I found out that if you build the module with the non-default location and run it afterwards, it does work. I checked the logs and the {{metabase}} binary and found out that the path of the Xcode-installation is referenced inside the binary by Xcode itself. So I don't really know if we can actually fix it without touching the binary after being built. \r\n\r\nSo two options I can propose:\r\n# Make this ticket a docs issue and add a note to the Hyperloop-guides to keep Xcode in the default (recommended) location\r\n# Touch the metbase in {{plugins/hyperloop/node_modules/hyperloop-metabase/bin/metabase}} by manually regex'ing the location.\r\n\r\nBesides that, it also affects the Xcode-beta version which would currently fail if we build the module with Xcode-beta and try to run it on a installation that does not have Xcode (stable) installed. But that won't be a problem, because we can and will compile Hyperloop for SDK 5.5.0 with the Golden Master of Xcode which will be \"Xcode.app\".\r\n\r\nThats it for now, feedback appreciated.\r\n\r\n*EDIT*: I tried #2 and obviously it didn't work, because the binary hashes differ now causing the metabase to fail even earlier. So unless we know something else, I would update the docs to inform users about this behavior. And it is not only for our binary put also for every other native library that needs to reference other (system) libraries in it.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-08-14T12:16:47.000+0000", "updated": "2016-08-14T12:30:28.000+0000" }, { "id": "393178", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Updated the [Hyperloop guide|https://wiki.appcelerator.org/display/guides2/Enabling+Hyperloop] with this information. [~bimmel] please include this page in the next guides-push.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-08-15T16:42:37.000+0000", "updated": "2016-08-15T16:43:14.000+0000" }, { "id": "393191", "author": { "name": "bimmel-defective", "key": "bimmel", "displayName": "(deactived) Brian Immel", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Thanks Hans. This document, along with the rest of the Hyperloop docs, will be published on the next doc push which should be the Dashboard 4.9.0 some time this week.", "updateAuthor": { "name": "bimmel-defective", "key": "bimmel", "displayName": "(deactived) Brian Immel", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-08-15T18:00:24.000+0000", "updated": "2016-08-15T18:00:24.000+0000" }, { "id": "440060", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Cleaning up older fixed issues. If this issue should not have been closed as fixed, please reopen.", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-08-06T17:49:12.000+0000", "updated": "2018-08-06T17:49:12.000+0000" } ], "maxResults": 6, "total": 6, "startAt": 0 } } }