{ "id": "163510", "key": "TIMOB-23956", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "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": "18429", "description": "", "name": "Hyperloop 2.2.0", "archived": false, "released": true, "releaseDate": "2017-10-16" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-09-29T12:22:22.000+0000", "created": "2016-09-28T07:34:14.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [], "versions": [ { "id": "18264", "name": "hyperloop 1.2.7", "archived": false, "released": true, "releaseDate": "2017-02-06" } ], "issuelinks": [ { "id": "52809", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "162514", "key": "TIMOB-23755", "fields": { "summary": "iOS: Hyperloop - Cannot build Hyperloop project if Xcode is not in default location", "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": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2017-10-06T23:48:24.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": "10207", "name": "Tooling" } ], "description": "Currently we solely rely on the user having the correct Xcode Version under {{/Applications/Xcode.app}} as stated in the [Enabling Hyperloop|https://wiki.appcelerator.org/display/guides2/Enabling+Hyperloop]. This can easily lead to unexpected behaviour when different Xcode versions are installed. We should evaluate if it is possible to detected the libclang version that is loaded and then require a minimum version to avoid wrong metabase generation. Also when the user does not have Xcode installed in the above default directory the metebase generation will fail due to the hardcoded rpath. We should catch this error and tell the user what to do to fix it.", "attachment": [], "flagged": false, "summary": "Hyperloop: Improve error handling for non-default Xcode installations", "creator": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "closedSprints": [ { "id": 951, "state": "closed", "name": "2017 Sprint 20 SDK", "startDate": "2017-09-24T17:50:18.277Z", "endDate": "2017-10-08T17:50:00.000Z", "completeDate": "2017-10-09T20:38:07.840Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "400315", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "I thought the Hyperloop CLI plugin was getting the correct path from {{builder.xcodeEnv.path}}?", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2016-11-03T06:43:08.000+0000", "updated": "2016-11-03T06:43:08.000+0000" }, { "id": "400322", "author": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "body": "Yes it is, but the runpath to the libclang library is hardcorded at compile time in the metabase executable. So if anyone has a non-default xcode install location the metabase generation will fail or use the wrong library when different xcode versions are installed.", "updateAuthor": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-11-03T08:18:36.000+0000", "updated": "2016-11-03T08:18:36.000+0000" }, { "id": "428604", "author": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "body": "Possible approach to allow different Xcode locations: We might be able to check the result of {{xcode-select -p}}, compare the path with the one in the binary with {{otool -l}} and then fix it using {{install_name_tool}}. A version check inside the metabase binary would be required then to see if we can use the libclang version of the currently selected Xcode.", "updateAuthor": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-09-29T11:53:56.000+0000", "updated": "2017-09-29T12:13:24.000+0000" }, { "id": "428804", "author": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "updateAuthor": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-10-06T23:48:19.000+0000", "updated": "2017-10-06T23:48:19.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }