{ "id": "94921", "key": "TIMOB-16999", "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": "15422", "description": "Release 3.3.0", "name": "Release 3.3.0", "archived": false, "released": true, "releaseDate": "2014-07-16" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2014-08-05T22:26:20.000+0000", "created": "2012-07-11T12:43:26.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "module_build", "planning-3.3.0", "q1-2014-candidate", "qe-manualtest" ], "versions": [], "issuelinks": [ { "id": "33754", "type": { "id": "10020", "name": "Depends", "inward": "is dependent of", "outward": "depends on" }, "inwardIssue": { "id": "123703", "key": "MOD-1623", "fields": { "summary": "Convert existing modules to new module project structure", "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" } }, "priority": { "name": "Low", "id": "4" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "34378", "type": { "id": "10122", "name": "Gantt: start-finish", "inward": "is triggered by", "outward": "is triggering" }, "outwardIssue": { "id": "124987", "key": "TIDOC-1473", "fields": { "summary": "Document new module structure", "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": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "37736", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "130614", "key": "TISTUD-6528", "fields": { "summary": "iOS: Unable to package iOS 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": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "37747", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "100426", "key": "TIMOB-10757", "fields": { "summary": "CLI: Module 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": "6", "description": "gh.issue.epic.desc", "name": "Epic", "subtask": false } } } }, { "id": "37740", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "130703", "key": "TIMOB-17002", "fields": { "summary": "CLI: Modules: Add ability to build and package multiple platform modules into a single zip file", "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" } }, "priority": { "name": "Low", "id": "4" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "37741", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "100423", "key": "TIMOB-10754", "fields": { "summary": "CLI: \"build\" command for Android modules", "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": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "37743", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "100424", "key": "TIMOB-10755", "fields": { "summary": "CLI: \"build\" command for iOS modules", "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": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "37745", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "100425", "key": "TIMOB-10756", "fields": { "summary": "CLI: \"build\" command for Mobile Web modules", "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": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "18684", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "94922", "key": "MOD-795", "fields": { "summary": "Update Modules CI server build from individual module repos", "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" } }, "priority": { "name": "Low", "id": "4" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "18683", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "91454", "key": "MOD-701", "fields": { "summary": "Update CLI to allow creation of javascript modules", "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" } }, "priority": { "name": "Low", "id": "4" }, "issuetype": { "id": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } } }, { "id": "37753", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "130726", "key": "TISTUD-6530", "fields": { "summary": "Support module projects with multiple platforms", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } }, { "id": "21054", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "100908", "key": "MOD-874", "fields": { "summary": "Design discussions for CLI and CI server updates", "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": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "updated": "2014-08-05T22:26:20.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": "13103", "name": "CLI", "description": "Node-based command line interface" } ], "description": "Currently a developer has to create 3 different projects (iOS, Android, and MobileWeb), maintain 3 copies of the source, manifest, etc., perform 3 different builds, and then package those 3 builds into a single distributable zip file.\r\n\r\nA developer should be able to:\r\n\r\n1. Create a new module project specifying the platforms to be supported\r\n2. A single folder structure should be created with the assets, documentation, example, build.py, LICENSE, Anvil folder, etc.\r\n3. Separate platform specific folders containing build scripts that reference the common files in the module project root\r\n4. The platform specific build scripts should be able to be run individually\r\n\r\nThis update should also take into consideration hyperloop modules and updating the templates used for creating a new module project.\r\n\r\nFuture enhancements:\r\n\r\n5. A packaging script that is called at the end of the build that will combine all of the platform zips into a single zip (TIMOB-17002)\r\n6. The build.py (or other CLI command) should reside in the module root and call each of the platform specific build scripts. (TIMOB-17002)\r\n", "attachment": [], "flagged": false, "summary": "Restructure module projects to support parity and shared files", "creator": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "subtasks": [], "reporter": { "name": "jenglish", "key": "jenglish", "displayName": "Jeff English", "active": true, "timeZone": "America/Chicago" }, "environment": null, "comment": { "comments": [ { "id": "305785", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "It sounds like most of this will be done in 3.3.0, with perhaps the exception of #4.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-05-20T20:28:57.000+0000", "updated": "2014-05-20T20:28:57.000+0000" }, { "id": "305804", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "Here's the changes between the old module creation and the new module creation:\r\n\r\nAndroid Module\r\n{code}\r\nold build script: cd /path/to/myANDROIDmodule && ant\r\nnew build script: cd /path/to/mymodule/android && ant\r\n\r\nold output file: /path/to/myANDROIDmodule/dist/myANDROIDmodule-android-1.0.0.zip\r\nnew output file: /path/to/mymodule/android/dist/mymodule-android-1.0.0.zip\r\n{code}\r\n\r\nBlackBerry Module\r\n{code}\r\nold build script: cd /path/to/myBLACKBERRYmodule && node build.js\r\nnew build script: cd /path/to/mymodule/blackberry && node build.js\r\n\r\nold output file: /path/to/myBLACKBERRYmodule/myBLACKBERRYmodule-blackberry-1.0.0.zip\r\nnew output file: /path/to/mymodule/blackberry/mymodule-blackberry-1.0.0.zip\r\n{code}\r\n\r\niOS Module\r\n{code}\r\nold build script: cd /path/to/myIOSmodule && python build.py\r\nnew build script: cd /path/to/mymodule/iphone && python build.py\r\n\r\nold output file: /path/to/myIOSmodule/myIOSmodule-iphone-1.0.0.zip\r\nnew output file: /path/to/mymodule/iphone/mymodule-iphone-1.0.0.zip\r\n{code}\r\n\r\nMobile Web Module\r\n{code}\r\nold build script: cd /path/to/myMOBILEWEBmodule && python build.py\r\nnew bulid script: cd /path/to/mymodule/mobileweb && python build.py\r\n\r\nold output file: /path/to/myMOBILEWEBmodule/myMOBILEWEBmodule-mobileweb-1.0.0.zip\r\nnew output file: /path/to/mymodule/mobileweb/mymodule-mobileweb-1.0.0.zip\r\n{code}\r\n\r\nThe only major difference is each platform's build script and output file is in a platform specific subdirectory.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2014-05-20T21:25:57.000+0000", "updated": "2014-05-20T21:25:57.000+0000" }, { "id": "307091", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "How do we test this?", "updateAuthor": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-05-30T22:05:21.000+0000", "updated": "2014-05-30T22:05:21.000+0000" }, { "id": "307096", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "To test, create a module. Observe the assets, docs, and example directories in the root of the module project that are shared between each platform. Build a module for a platform and observer that the shared resources are bundled with the module.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2014-05-30T22:14:41.000+0000", "updated": "2014-05-30T22:14:41.000+0000" }, { "id": "307104", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tested and verified the fix, following [~cbarber] comment, using\r\nMac osx 10.9.3 Mavericks\r\nAppcelerator Studio, build: 3.3.0.201405271647\r\nTitanium SDK, build: 3.3.0.v20140530112513 \r\nNode.JS Version: v0.10.13 \r\nNPM Version: 1.3.2 \r\nacs@1.0.14 \r\nalloy@1.4.0-beta \r\nnpm@1.3.2 \r\ntitanium@3.3.0-beta \r\ntitanium-code-processor@1.1.1\r\n\r\nBuilt for ios \r\n{code}\r\n[TRACE] ** BUILD SUCCEEDED **\r\n{code}", "updateAuthor": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-05-30T22:41:16.000+0000", "updated": "2014-05-30T22:41:16.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }