{ "id": "77102", "key": "TIMOB-4521", "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": [ { "id": "13273", "description": "Release 2.0.2", "name": "Release 2.0.2", "archived": false, "released": true, "releaseDate": "2012-05-31" }, { "id": "13271", "description": "Release 2.1.0", "name": "Release 2.1.0", "archived": false, "released": true, "releaseDate": "2012-06-29" }, { "id": "13402", "description": "Sprint 2012-10 Core", "name": "Sprint 2012-10 Core", "archived": true, "released": true, "releaseDate": "2012-05-20" }, { "id": "13403", "description": "Sprint 2012-11 Core", "name": "Sprint 2012-11 Core", "archived": true, "released": true, "releaseDate": "2012-06-03" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-05-24T15:54:50.000+0000", "created": "2011-06-29T08:26:10.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "core", "qe-port" ], "versions": [ { "id": "11244", "name": "Release 1.7.0", "archived": true, "released": true, "releaseDate": "2011-06-13" } ], "issuelinks": [ { "id": "17219", "type": { "id": "10020", "name": "Depends", "inward": "is dependent of", "outward": "depends on" }, "outwardIssue": { "id": "91435", "key": "TIMOB-9010", "fields": { "summary": "Android: Implement proposed source code security features", "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": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } } }, { "id": "17279", "type": { "id": "10020", "name": "Depends", "inward": "is dependent of", "outward": "depends on" }, "inwardIssue": { "id": "91872", "key": "MOD-729", "fields": { "summary": "oData: Build native Android javascript module", "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": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } } } ], "assignee": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2012-06-14T17:18:00.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": "h1. Feature\r\nSupport natively compiled JavaScript modules like we do on iOS.\r\n\r\nh2. Example Module\r\nThe following steps create a compiled module that you could distribute as a zip on iOS. Once implemented, the same process would work on Android.\r\n\r\n1. Create a new module for Android: titanium create --platform=android --type=module --name=jsmod --id=ti.jsmod --android=/path/to/android-sdk\r\n2. Drop the below in assets/ti.jsmod.js:\r\n{code:title=assets/ti.jsmod.js}\r\nexports.createBox = function() {\r\n return Ti.UI.createView({\r\n width: 100, height: 100,\r\n backgroundColor: 'red'\r\n });\r\n};\r\n{code}\r\n3. Drop the below in example/app.js:\r\n{code:title=example/app.js}\r\nvar window = Ti.UI.createWindow({ backgroundColor: 'white' });\r\nwindow.add(require('ti.jsmod').createBox());\r\nwindow.open();\r\n{code}\r\n4. Enjoy your luscious red rectangle\r\n\r\nh2. Workaround\r\nUntil this feature is available, you can always distribute just the JS file. Developers can utilize it in its un-compiled state, although your code isn't protected from prying eyes.\r\n\r\nh3. Associated Helpdesk Ticket\r\nhttp://appc.me/c/APP-487811", "attachment": [], "flagged": false, "summary": "Android: Natively Compiled JS Modules", "creator": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "subtasks": [], "reporter": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "environment": null, "comment": { "comments": [ { "id": "177295", "author": { "name": "wjpeters", "key": "wjpeters", "displayName": "Willem Peters", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Any news on this?\r\n\r\n-- Cheers", "updateAuthor": { "name": "wjpeters", "key": "wjpeters", "displayName": "Willem Peters", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-12-27T11:17:33.000+0000", "updated": "2011-12-27T11:17:33.000+0000" }, { "id": "178126", "author": { "name": "d4v1d", "key": "d4v1d", "displayName": "David Knell", "active": true, "timeZone": "America/New_York" }, "body": "Seems like a lot of people are watching this. Is there anything else we can do to push this forward?", "updateAuthor": { "name": "d4v1d", "key": "d4v1d", "displayName": "David Knell", "active": true, "timeZone": "America/New_York" }, "created": "2012-01-05T09:05:50.000+0000", "updated": "2012-01-05T09:05:50.000+0000" }, { "id": "181032", "author": { "name": "d4v1d", "key": "d4v1d", "displayName": "David Knell", "active": true, "timeZone": "America/New_York" }, "body": "How about a little love for Android here, please...", "updateAuthor": { "name": "d4v1d", "key": "d4v1d", "displayName": "David Knell", "active": true, "timeZone": "America/New_York" }, "created": "2012-01-30T05:18:20.000+0000", "updated": "2012-01-30T05:18:20.000+0000" }, { "id": "182654", "author": { "name": "markb@mantisbible.com", "key": "markb@mantisbible.com", "displayName": "Mark Burggraf", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I'd like to see this as well, so we can maintain parity between iOS and Android for our modules.", "updateAuthor": { "name": "markb@mantisbible.com", "key": "markb@mantisbible.com", "displayName": "Mark Burggraf", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-02-09T14:21:39.000+0000", "updated": "2012-02-09T14:21:39.000+0000" }, { "id": "185047", "author": { "name": "d4v1d", "key": "d4v1d", "displayName": "David Knell", "active": true, "timeZone": "America/New_York" }, "body": "Is there any chance we will see this in 1.9?", "updateAuthor": { "name": "d4v1d", "key": "d4v1d", "displayName": "David Knell", "active": true, "timeZone": "America/New_York" }, "created": "2012-03-05T11:29:54.000+0000", "updated": "2012-03-05T11:29:54.000+0000" }, { "id": "188478", "author": { "name": "d4v1d", "key": "d4v1d", "displayName": "David Knell", "active": true, "timeZone": "America/New_York" }, "body": "Please...", "updateAuthor": { "name": "d4v1d", "key": "d4v1d", "displayName": "David Knell", "active": true, "timeZone": "America/New_York" }, "created": "2012-03-24T16:07:28.000+0000", "updated": "2012-03-24T16:07:28.000+0000" }, { "id": "194435", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "Dependency on TIMOB-9010 because a) it's in the same sprint; b) it affects how the javascript is packaged", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-05-10T14:15:35.000+0000", "updated": "2012-05-10T14:15:35.000+0000" }, { "id": "195450", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "Pull request: https://github.com/appcelerator/titanium_mobile/pull/2237", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-05-21T09:29:15.000+0000", "updated": "2012-05-21T09:29:15.000+0000" }, { "id": "195674", "author": { "name": "corthlieb", "key": "corthlieb", "displayName": "Carl Orthlieb", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Looks like the pull request was merged and closed 11 minutes ago.", "updateAuthor": { "name": "corthlieb", "key": "corthlieb", "displayName": "Carl Orthlieb", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-05-22T16:38:58.000+0000", "updated": "2012-05-22T16:38:58.000+0000" }, { "id": "195675", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "Yeah, I think because it's an absolute requirement for 2.0.X immediately, we'll delay the resolution of the ticket. The cherry-pick is going to be nasty and require another round of testing.", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-05-22T16:41:44.000+0000", "updated": "2012-05-22T16:41:44.000+0000" }, { "id": "195688", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "2.0.X backport pull request ready:\r\n\r\nhttps://github.com/appcelerator/titanium_mobile/pull/2251", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-05-22T19:00:11.000+0000", "updated": "2012-05-22T19:00:11.000+0000" }, { "id": "195851", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "Needs to reopen because Python 2.6+ specific code is in there :( Need to convert that code to be compatible with Python 2.5 because that's what is packaged in Studio on Windows. Sorry, I didn't know the relevant syntax was new in 2.6. ", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-05-23T16:48:34.000+0000", "updated": "2012-05-23T16:48:34.000+0000" }, { "id": "195868", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "Pull requests for conversion of Python 2.6+ code to Python 2.5:\r\n\r\n\r\n2_0_X:\r\nhttps://github.com/appcelerator/titanium_mobile/pull/2266\r\n\r\nmaster:\r\nhttps://github.com/appcelerator/titanium_mobile/pull/2267", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-05-23T18:44:23.000+0000", "updated": "2012-05-23T18:44:23.000+0000" }, { "id": "198130", "author": { "name": "sbhadauria", "key": "sbhadauria", "displayName": "Shyam Bhadauria", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Adding environment info -\r\nTested with Titanium SDK: 2.1.0.v20120608174150\r\nTested with Titanium Studio: 2.1.0.201206081630\r\nDevice - Android 2.2 and Android 2.3.3\r\nAndroid Runtime - V8", "updateAuthor": { "name": "sbhadauria", "key": "sbhadauria", "displayName": "Shyam Bhadauria", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-06-12T01:29:23.000+0000", "updated": "2012-06-12T01:29:23.000+0000" } ], "maxResults": 15, "total": 15, "startAt": 0 } } }