{ "id": "78178", "key": "TIMOB-4764", "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": "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" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-05-09T14:00:28.000+0000", "created": "2011-07-25T13:05:22.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "core" ], "versions": [ { "id": "13272", "description": "Release 2.0.1", "name": "Release 2.0.1", "archived": true, "released": true, "releaseDate": "2012-04-16" } ], "issuelinks": [ { "id": "16977", "type": { "id": "10000", "name": "Blocks", "inward": "is blocked by", "outward": "blocks" }, "outwardIssue": { "id": "76241", "key": "TISTUD-448", "fields": { "summary": "Allow users to add new platform targets after project creation ", "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": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "19112", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "78216", "key": "TIMOB-4780", "fields": { "summary": "Tools: Add a command that installs platform-specific resources and XML to an existing Titanium project", "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": "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": "17874", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "93435", "key": "TIMOB-9623", "fields": { "summary": "Tooling: add post-project-creation ipad support to projects", "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": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2012-07-23T18:38:32.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": "Steps to highlight the issue:\r\n\r\n# Create a new Titanium Mobile Project, choosing \"android\" as a project deployment target\r\n# Later, decide that you wish to additionally target iOS development. At this point, the user must manually copy over the default project resources from the /support/iphone/resources directory. Within Studio, they will also have to tweak the tiapp.xml file.\r\n\r\nRe-running builder.py is not possible, as the tiapp.xml file (as well as other files) may have already been modified. Suggest creating a script that allows the user to add these default platform resources to a pre-existing project.", "attachment": [], "flagged": false, "summary": "Tooling: Create script to allow the user to add default platform resources to an existing project", "creator": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "193333", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I'm being asked to move this into Q2...is that a feasible timeline?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-05-01T14:29:28.000+0000", "updated": "2012-05-01T14:29:28.000+0000" }, { "id": "193731", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "This is a blocker for studio for the Q2 plan", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-05-04T10:08:24.000+0000", "updated": "2012-05-04T10:08:24.000+0000" }, { "id": "194076", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "Project.py now accepts a {noformat}-u{noformat} or {noformat}--update-platforms{noformat} command-line option.\r\n\r\nThat first one up there is supposed to be \"single dash u\". I'm tired of trying to figure out how to get it to display in JIRA.\r\n\r\nh3. Testing Notes\r\n\r\n* Use Titanium Studio to create a project that only targets Android.\r\n\r\n* Edit tiapp.xml and make some kind of change -- we'll be testing later that whatever you do in this step won't be overwritten/discarded.\r\n\r\n* Edit app.js and make some changes -- again, we'll be testing later if these changes persist.\r\n\r\n* Assume you are an app developer who doesn't want the default KS_nav_ui.png and KS_nav_views.png in her project. Delete those files. Later we will test that those files don't magically reappear when we add another platform to the project.\r\n\r\n* Add any file you want to the Resources/android folder. Later we'll check that it's still there.\r\n\r\n* Build and launch the Android application. This is simply testing that I didn't break anything.\r\n\r\nNow you're going to test the new functionality, namely, adding another platform to the project without mucking up everything you've done so far. For this step you have to use the command-line rather than Studio since Studio isn't yet aware of the \"-u\" flag.\r\n\r\n* Go to a Terminal window and run project.py manually such as here, substituting the bracketed placeholders of course:\r\n\r\n{code}\r\n$ python [path-to-project.py] [project-name] [project-id] [parent-of-project-folder] iphone -u\r\n{code}\r\n\r\nFor my testing, I had created a project named \"timob4764\" and with id \"com.billdawson.timob4764\", so my test for adding the iphone platform was...\r\n\r\n{code}\r\n$ python \"/Library/Application Support/Titanium/mobilesdk/osx/DEV_2.1.X/project.py\" timob4764 com.billdawson.timob4764 /Users/bill/projects/ti iphone -u\r\n{code}\r\n\r\n* After running that, open tiapp.xml and make sure any changes you had previously made are still intact.\r\n\r\n* Open app.js and also make sure your changes are intact.\r\n\r\n* Make sure KS_nav_ui.png and KS_nav_views.png are still *not* there.\r\n\r\n* Make sure whatever file you added to Resources/android is still there.\r\n\r\n* Have a look in the Resources/iphone directory. Make sure \"stuff\" is in there. This confirms that the addition of the iphone platform to the project has resulted in the iphone's project setup code being run properly, and all the iphone default files are in there.\r\n\r\nh3. Some Notes\r\n\r\n* The only change to the project.py command line options was the addition of the optional -u. That means everything else should be called in the same old way and in the same old positions.\r\n\r\n* That means that you could have also added mobileweb to the command line when adding the iphone platform, and then you would have added both iphone and mobileweb. E.g.,\r\n\r\n{code}\r\n$ python \"/Library/Application Support/Titanium/mobilesdk/osx/DEV_2.1.X/project.py\" timob4764 com.billdawson.timob4764 /Users/bill/projects/ti iphone mobileweb -u\r\n{code}\r\n\r\n* You also could have re-specified android on the command line:\r\n\r\n{code}\r\n$ python \"/Library/Application Support/Titanium/mobilesdk/osx/DEV_2.1.X/project.py\" timob4764 com.billdawson.timob4764 /Users/bill/projects/ti android iphone mobileweb -u\r\n{code}\r\n\r\nThis would *not* have harmed/overwritten any work you've done in the Resources/android folder so far (it only messes with that folder if it doesn't exist.)\r\n\r\n* This means that Studio can safely run the \"-u\" variant of project.py with all of the platforms that the user has checked off.", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-05-08T05:54:42.000+0000", "updated": "2012-05-08T06:05:46.000+0000" }, { "id": "194078", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "Pull request ready\r\n\r\nhttps://github.com/appcelerator/titanium_mobile/pull/2147", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-05-08T06:00:41.000+0000", "updated": "2012-05-08T06:00:41.000+0000" }, { "id": "197584", "author": { "name": "wluu", "key": "wluu", "displayName": "Wilson Luu", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing feature. Following Bill's testing notes, I was able to add back and relaunch the default platforms (Android, iOS, and Mobile Web). \r\n\r\nTested on:\r\nSDK build: 2.1.0.v20120605190238\r\nTitanium Studio, build: 2.1.0.201206051612\r\nRuntime: v8\r\nxcode: 4.3.2\r\nDevices: droid 1 (2.2.3), Emulator 2.2, iphone 4s verizon (5.0.1), Simulator 5.1, Chrome (Version 19.0.1084.54)\r\n", "updateAuthor": { "name": "wluu", "key": "wluu", "displayName": "Wilson Luu", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-06-06T15:55:51.000+0000", "updated": "2012-06-06T15:56:33.000+0000" } ], "maxResults": 5, "total": 5, "startAt": 0 } } }