{ "id": "174790", "key": "TIMOB-27792", "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": "20950", "name": "Release 9.1.0", "archived": false, "released": true, "releaseDate": "2020-08-25" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2020-05-26T15:29:28.000+0000", "created": "2020-03-06T07:03:00.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "build", "ios", "python", "sdk" ], "versions": [], "issuelinks": [ { "id": "58247", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "174632", "key": "TIMOB-27719", "fields": { "summary": "Android: Remove python dependency from SDK build", "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": "High", "id": "2" }, "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } } ], "assignee": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "updated": "2020-07-27T13:13:06.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": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "h5.Description\r\n\r\nWhen building the iOS portion of the SDK, we use [a python script|https://github.com/appcelerator/titanium_mobile/blob/cc1b0554a72c271ed2050b3e7ee4ce27627804e3/support/dev/localecompiler.py] to do some handling of i18n files. We should rewrite this in the same timeframe as the Android changes (TIMOB-27719) to allow us to remove the python dependency at the same time", "attachment": [], "flagged": false, "summary": "iOS: Remove python dependency from SDK build", "creator": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "subtasks": [], "reporter": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "environment": null, "comment": { "comments": [ { "id": "454608", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "body": "[~jquick] question for you. This script appears to only be used by iOS right now, but it looks like it also could/used to [handle android|https://github.com/appcelerator/titanium_mobile/blob/05db45790d457cb41783b46f5e95ba4bb1571339/support/dev/localecompiler.py#L131-L134], should that be kept? Would having this script be of use to an Android dev?", "updateAuthor": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2020-03-09T12:10:44.000+0000", "updated": "2020-03-09T12:10:44.000+0000" }, { "id": "454622", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "We don't need this on Android. If we were to localize SDK strings, we would do it the native way.\r\n\r\nI'm questioning if we need this for iOS SDK builds. It looks like this python script is used to localize the following folder's i18n files, but it only contains a \"Hello World\" string as a test.\r\n[titanium_mobiile/iphone/i18n|https://github.com/appcelerator/titanium_mobile/tree/master/iphone/i18n]\r\n\r\nI'm thinking we should just delete this python script and remove it from the Xcode prebuild step. Our app build script \"_build.js\" for both Android and iOS already have separate code for converting i18n files to their native equivalents.\r\n[Android - _build.js - generateI18N()|https://github.com/appcelerator/titanium_mobile/blob/9950ccec933d716ee96c0272031f26999d595ea9/android/cli/commands/_build.js#L3221]\r\n[iOS - _build.js - writeI18NFiles()|https://github.com/appcelerator/titanium_mobile/blob/9950ccec933d716ee96c0272031f26999d595ea9/iphone/cli/commands/_build.js#L6299]\r\n", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-03-09T19:01:29.000+0000", "updated": "2020-03-09T19:02:21.000+0000" }, { "id": "454624", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "body": "I'm kind of in agreement, if it reused the code from the SDK to do the building of the files to kind of act as a test of that then I'd see value in it but right now it doesn't seem super useful to me. [~vijaysingh] what do you think?", "updateAuthor": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2020-03-09T19:33:27.000+0000", "updated": "2020-03-09T19:33:27.000+0000" }, { "id": "454627", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I think we can remove the python script. But we have to write a function in '[scons-xcode-project-build.js|https://github.com/appcelerator/titanium_mobile/blob/master/build/scons-xcode-project-build.js]' similar to ['writeI18NFiles'|https://github.com/appcelerator/titanium_mobile/blob/9950ccec933d716ee96c0272031f26999d595ea9/iphone/cli/commands/_build.js#L6299] which will create .lproj files and copy it in app directory (Titanium.app/) .", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-03-09T23:40:16.000+0000", "updated": "2020-03-09T23:40:16.000+0000" }, { "id": "455534", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/11725", "updateAuthor": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2020-05-21T13:34:31.000+0000", "updated": "2020-05-21T13:34:31.000+0000" }, { "id": "455554", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "Merged to master for 9.1.0 target (though this is really an internal dev ticket)", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2020-05-26T15:29:28.000+0000", "updated": "2020-05-26T15:29:28.000+0000" }, { "id": "456238", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket. Fix verified in SDK version {{9.1.0.v20200724110711}}, {{9.2.0.v20200724112452}} and {{9.3.0.v20200724114100}}.\r\n\r\nTest and other information can be found at: \r\nhttps://github.com/appcelerator/titanium_mobile/pull/11725", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-07-27T13:12:49.000+0000", "updated": "2020-07-27T13:12:49.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }