{ "id": "172118", "key": "TIMOB-26332", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "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": [], "resolution": null, "resolutiondate": null, "created": "2018-08-23T10:25:19.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [], "issuelinks": [], "assignee": null, "updated": "2018-08-23T10:36:22.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": "10202", "name": "Android", "description": "Android Platform" }, { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "Right now, native module development is kind of stressful. We generate native projects that can be ran in Xcode (iOS) and Android Studio, but module developers still need to create a test project themself, build it once, go to the build directory and open the native project, link the module target to it, copy the app.js from the test project to it, swap the module from before with the dynamically generated one and finally hope that everything goes well. This developer experience is *horrible*; and it could be resolved quite easily. We only need to change our module project template to also include a test-target, which could be as simple as referencing the example/app.js by default.\r\n\r\nFor iOS, we could create a workspace that has a test project and the main module target.\r\nFor Android, I don't know how Android Studio links targets, but we could eventually create another target there as well, which can be ran from directly from Android Studio, similar to the \"TitaniumTest\" project to test the core-SDK.", "attachment": [], "flagged": false, "summary": "iOS/Android: Create executable native test project for native modules", "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": null, "comment": { "comments": [], "maxResults": 0, "total": 0, "startAt": 0 } } }