{ "id": "174794", "key": "TIMOB-27794", "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": "20033", "name": "Release 9.0.0", "archived": false, "released": true, "releaseDate": "2020-03-18" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2020-03-09T17:55:42.000+0000", "created": "2020-03-07T02:55:52.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "android", "build", "kroll", "performance", "sdk" ], "versions": [], "issuelinks": [], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2020-03-11T02:00:49.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": "10202", "name": "Android", "description": "Android Platform" } ], "description": "*Summary:*\r\nThe Titanium SDK incremental build times should be improved. Every time we make a Java code change in the Titanium SDK library, our \"kroll-apt\" Java annotation processor always re-generates C++ files for all Java proxies in our library, even if the proxy classes haven't changed.\r\n\r\n*Note:*\r\nOn my machine, the build system recognizes that the re-generated C++ files haven't changed since the last build and does an incremental C++ build. On [~gmathews]' machine, the C++ incremental build does not work at all and recompiles all C++ files.\r\n\r\nIncremental build times after making a Java code changes takes {{20s}} for me and {{~1}} minute for Gary.\r\n\r\n*To-Do:*\r\nWhen our \"kroll-apt\" Java annotation processor reads all {{@Kroll}} annotations, it should read the last written JSON bindings file to see if the bindings have changed since the last build. If not, do not re-generate the proxy C++ files... unless the files are missing.\r\n", "attachment": [], "flagged": false, "summary": "Android: Improve kroll-apt incremental build times with SDK", "creator": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 1181, "state": "closed", "name": "2020 Sprint 5", "startDate": "2020-03-02T18:45:02.513Z", "endDate": "2020-03-13T18:45:00.000Z", "completeDate": "2020-03-13T16:42:04.632Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "454600", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (master): https://github.com/appcelerator/titanium_mobile/pull/11519", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-03-07T03:39:43.000+0000", "updated": "2020-03-07T03:39:43.000+0000" }, { "id": "454623", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (9.0.x): https://github.com/appcelerator/titanium_mobile/pull/11525", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-03-09T19:29:19.000+0000", "updated": "2020-03-09T19:29:19.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }