{ "id": "86971", "key": "TIMOB-7806", "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": "12097", "description": "", "name": "Sprint 2012-05", "archived": true, "released": true, "releaseDate": "2012-03-11" }, { "id": "12593", "name": "Release 2.0.0", "archived": false, "released": true, "releaseDate": "2012-03-30" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-03-08T15:07:26.000+0000", "created": "2012-02-24T13:44:25.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [], "versions": [ { "id": "12593", "name": "Release 2.0.0", "archived": false, "released": true, "releaseDate": "2012-03-30" } ], "issuelinks": [ { "id": "15412", "type": { "id": "10020", "name": "Depends", "inward": "is dependent of", "outward": "depends on" }, "inwardIssue": { "id": "86860", "key": "MOD-502", "fields": { "summary": "Cloud Module Integration with TiSDK", "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": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } } ], "assignee": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-13T20:27:27.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": "10207", "name": "Tooling" } ], "description": "We need to bundle the new ACS module alongside the MobileSDK. Android may also require a second MQTT module that the ACS module will depend on. A brief overview for how this should work:\r\n* The ACS (and MQTT) modules will be provided as zip binaries by the Modules team, preferably living under something like support/common\r\n* {{site_scons/package.py}} will need to be updated so those zips are extracted and live in the \"modules\" top level directory of the MobileSDK zip. This will ensure that when the MobileSDK zip is extracted, the modules are installed in the system directory as well\r\n\r\nh3. Testing\r\n\r\n1. Download the two ti.* modules attached to this ticket (ignore bogus.zip).\r\n2. Copy these two zips into titanium_mobile/support/module/packaged\r\n3. Run scons to build the SDK.\r\n4. Extract the SDK zip in dist/ and verify the file structure in modules/ matches as described in this ticket (see comments).\r\n", "attachment": [ { "id": "26073", "filename": "bogus.zip", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-03-07T13:30:03.000+0000", "size": 348, "mimeType": "application/zip" }, { "id": "26095", "filename": "ti.cloud-commonjs-2.0.zip", "author": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-08T13:12:09.000+0000", "size": 125662, "mimeType": "application/zip" }, { "id": "26090", "filename": "ti.example.zip", "author": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-08T13:08:09.000+0000", "size": 2220, "mimeType": "application/zip" } ], "flagged": false, "summary": "Tooling: Bundle ACS (and potentially MQTT) module binaries with the MobileSDK ", "creator": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "185403", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "Testing Notes:\r\n\r\n* Place the attached bogus.zip file into the titanium_mobile source tree under support/module/packaged/commonjs.\r\n* scons (build the mobile sdk).\r\n* unzip the resulting dist/mobilesdk-2.0.0-osx.zip somewhere (i.e., do it right there in dist/).\r\n\r\nYou should see that a modules folder appears after the unzipping. It should contain commonjs/bogus/bogus.js.", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-03-07T13:40:06.000+0000", "updated": "2012-03-07T13:40:06.000+0000" }, { "id": "185412", "author": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "body": "Functionally acceptable, in my testing.\r\n\r\nThere is one annoyance, though. Our non-CommonJS modules are packaged in to zips with the folder structure \"modules/platform/id/version/\". If one of these zips is dropped in to the \"support/module/packaged\" folder, it is successfully added to the distribution, but it is unzipped in to \"modules/modules/platform/id/version/\" (notice the two \"modules\" folders).\r\n\r\nWe can work around that by unzipping the module, and recreating the zip with the contents of the modules folder. But that's a bit tedious.", "updateAuthor": { "name": "dtoth", "key": "dtoth", "displayName": "Dawson Toth", "active": true, "timeZone": "America/New_York" }, "created": "2012-03-07T14:23:07.000+0000", "updated": "2012-03-07T14:23:07.000+0000" }, { "id": "185416", "author": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "body": "The current module zip structure should be supported. We will have more modules in the future and we should be able to drop the zip files in without having to manually re-create.", "updateAuthor": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-07T14:30:25.000+0000", "updated": "2012-03-07T14:30:25.000+0000" }, { "id": "185417", "author": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "body": "Bill, the folder structure in the module zip files is \"modules///\". We will have both commonJS and android and (potentially) iPhone modules and we want to be able to place the built zip file into the packaged folder. Note that for commonJS modules the platform will be 'commonjs'. \r\n\r\nIn the support/module/packaged folder we should be able to place the zip files like this:\r\n\r\n{code}\r\nsupport\r\n module\r\n packaged\r\n ti.push-android-2.0.zip\r\n ti.cloud-commonjs-2.0.zip\r\n{code}\r\n\r\nThe unzipped folder structure should look something like this (just the unzipped contents of the zip files):\r\n{code}\r\nmodules\r\n android\r\n ti.push\r\n 2.0\r\n documentation (folder)\r\n example (folder)\r\n lib (folder)\r\n libs (folder)\r\n LICENSE\r\n manifest\r\n platform (folder)\r\n push.jar\r\n timodule.xml\r\n commonjs\r\n ti.cloud\r\n 2.0\r\n documentation (folder)\r\n example (folder)\r\n LICENSE\r\n manifest\r\n ti.cloud.js\r\n{code}", "updateAuthor": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-07T14:41:21.000+0000", "updated": "2012-03-07T14:41:21.000+0000" }, { "id": "185569", "author": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "body": "CommonJS example module attached for testing. Let me know if that structure looks incorrect.", "updateAuthor": { "name": "joshroesslein", "key": "joshroesslein", "displayName": "Josh Roesslein", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-08T13:08:09.000+0000", "updated": "2012-03-08T13:08:51.000+0000" }, { "id": "185572", "author": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "body": "Attached is the 'current' cloud zip file.", "updateAuthor": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-08T13:12:09.000+0000", "updated": "2012-03-08T13:12:09.000+0000" }, { "id": "185573", "author": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "body": "Structure looks correct.", "updateAuthor": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "created": "2012-03-08T13:13:25.000+0000", "updated": "2012-03-08T13:13:25.000+0000" }, { "id": "411516", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as fixed.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-13T20:27:27.000+0000", "updated": "2017-03-13T20:27:27.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }