{ "id": "170102", "key": "TIMOB-25436", "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": "19951", "name": "Hyperloop 2.2.1", "archived": false, "released": true, "releaseDate": "2017-10-26" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-10-24T17:47:57.000+0000", "created": "2017-10-24T11:42:36.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [ { "id": "18429", "description": "", "name": "Hyperloop 2.2.0", "archived": false, "released": true, "releaseDate": "2017-10-16" } ], "issuelinks": [], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2017-10-25T23:01:44.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": "There is a report on my Ti.Firebase repository on [Github|https://github.com/hansemannn/titanium-firebase-analytics/issues/2] reporting that with Hyperloop 2.2.0, his build fails because Hyperloop tries to generate wrappers for a framework that is referenced via a native module in {{modules/iphone/*}}. The real crash then happens, because it tries to loop through the framework's {{Header/}} directory which sometimes does not exists, e.g. in the [FirebaseNanoPB.framework|https://github.com/hansemannn/titanium-firebase-core/tree/master/ios/platform/FirebaseNanoPB.framework]. \r\n\r\nSo there are two related fixes required here:\r\n# Do not process frameworks referenced via native modules, e.g. inside {{modules/}} (same for Android, please confirm that this does not happen). A blacklist should help here.\r\n# Do not try to iterate through the {{Headers/}} directory if it does not exist. A simple fs-guard should help here.", "attachment": [ { "id": "63470", "filename": "test_firebase.zip", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-10-24T16:30:42.000+0000", "size": 8658699, "mimeType": "application/zip" } ], "flagged": false, "summary": "Hyperloop: iOS - framework-parser should skip \"Headers/\" in framework if not exists", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": "Hyperloop 2.2.0", "comment": { "comments": [ { "id": "429505", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR (master): https://github.com/appcelerator/hyperloop.next/pull/247\r\nPR (2_2_X): https://github.com/appcelerator/hyperloop.next/pull/248\r\n\r\nTest-case: \r\n* Run the attached app and ensure it does not crash during the build. \r\n* Also test with hyperloop-examples for a more advanced test-suite.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-10-24T16:28:05.000+0000", "updated": "2017-10-24T21:05:46.000+0000" }, { "id": "429626", "author": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Verified with Hyperloop 2.2.1Beta2. Able to build projects with modules that are referenced via native modules. Tested on iOS and Android using the provided sample project as well as other test projects that contain several modules.", "updateAuthor": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-10-25T23:01:44.000+0000", "updated": "2017-10-25T23:01:44.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }