{ "id": "114217", "key": "TIMOB-13827", "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": "15490", "description": "2013 Sprint 10 JS", "name": "2013 Sprint 10 JS", "archived": true, "released": true, "releaseDate": "2013-05-20" }, { "id": "15108", "description": "2013 Sprint 10", "name": "2013 Sprint 10", "archived": true, "released": true, "releaseDate": "2013-05-20" }, { "id": "15492", "description": "2013 Sprint 12 JS", "name": "2013 Sprint 12 JS", "archived": true, "released": true, "releaseDate": "2013-06-17" }, { "id": "15478", "description": "Release 3.1.1", "name": "Release 3.1.1", "archived": true, "released": true, "releaseDate": "2013-06-17" }, { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2013-06-14T20:50:13.000+0000", "created": "2013-05-10T19:05:38.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "code-analyzer", "qe-closed-3.1.1", "qe-testadded" ], "versions": [ { "id": "14162", "description": "Release 3.1.0", "name": "Release 3.1.0", "archived": true, "released": true, "releaseDate": "2013-04-16" } ], "issuelinks": [ { "id": "28730", "type": { "id": "10001", "name": "Cloners", "inward": "is cloned into", "outward": "is cloned from" }, "inwardIssue": { "id": "114300", "key": "ALOY-661", "fields": { "summary": "CLONE - Code Processor: Get alloy to recompile before an analysis", "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": "28691", "type": { "id": "10020", "name": "Depends", "inward": "is dependent of", "outward": "depends on" }, "inwardIssue": { "id": "114027", "key": "TIMOB-13795", "fields": { "summary": "Code Processor: Alloy support", "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": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2013-09-24T09:17:53.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": "13102", "name": "Code Processor", "description": "Analyzes JavaScript source" } ], "description": "The code processor analysis the generated code from Alloy projects, not the original source. To prevent developer heartache, the code processor should have alloy generate new code each time. This can be accomplished via a hook since the code processor is now a CLI command", "attachment": [ { "id": "39770", "filename": "Screen Shot 2013-06-12 at 10.50.37 AM.png", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-06-12T18:13:38.000+0000", "size": 49431, "mimeType": "image/png" } ], "flagged": false, "summary": "Code Processor: Get alloy to recompile before an analysis", "creator": { "name": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "251396", "author": { "name": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR: https://github.com/appcelerator/alloy/pull/129\n1_1_X PR: https://github.com/appcelerator/alloy/pull/130", "updateAuthor": { "name": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-05-10T22:12:03.000+0000", "updated": "2013-05-10T22:12:03.000+0000" }, { "id": "251686", "author": { "name": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Testing instructions:\r\n# Run in a terminal: npm install -g https://github.com/appcelerator/titanium-code-processor\r\n# Run in a terminal: titanium config paths.commands --append /usr/local/lib/node_modules/titanium-code-processor/commands (I'm assuming not-Windows here :)).\r\n## This step will be unecessary once TIMOB-13831 is complete\r\n# Take an alloy project (any alloy project) and remove the generated code if it exists\r\n## Note: you have to have an app.js in a folder called Resources, or else the core CLI will throw an error. I recommend creating an empty app.js file\r\n# Run in a terminal: titanium analyze -p iphone -A\r\n# With this fix, you will see results corresponding to the generated Alloy code, not the empty app.js file. \r\n## Alternatively you can look in the Resources folder to see if the files were generated", "updateAuthor": { "name": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-05-13T23:03:47.000+0000", "updated": "2013-05-13T23:04:46.000+0000" }, { "id": "251716", "author": { "name": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Code Processor repo:\nPR: https://github.com/appcelerator/titanium-code-processor/pull/174\n1_0_X PR: https://github.com/appcelerator/titanium-code-processor/pull/175", "updateAuthor": { "name": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-05-14T00:46:07.000+0000", "updated": "2013-05-14T00:46:07.000+0000" }, { "id": "251779", "author": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tested directly from ticket branch via:\r\n\r\n{code}\r\nnpm install -g git://github.com/bryan-m-hughes/titanium-code-processor.git#timob-13827\r\n{code}\r\n\r\nAlloy now compiles prior to any invocation of the analyzer from the CLI. All existing Alloy functionality remains intact. This was tested both on a new and an existing project, both with populated and empty (except for app.js) Resources folders.", "updateAuthor": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-05-14T13:09:44.000+0000", "updated": "2013-05-14T13:09:44.000+0000" }, { "id": "254594", "author": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified as working as expected.\n\nAppcelerator Studio 3.1.1.201305282349\nTitanium SDK 3.1.1.v20130524180421\nAlloy 1.1.3-alpha\nTitanium-Code-Processor 1.1.3-alpha3\n\nClosing.", "updateAuthor": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-05-29T18:07:27.000+0000", "updated": "2013-05-29T18:07:27.000+0000" }, { "id": "257334", "author": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "body": "When I run the code processor on an Alloy project with a deleted Resources directory, there is a runtime error indicating the Resources directory is missing.\r\n\r\nThis happens with the Field Services App by default because it does not have a Resources directory.\r\n\r\nAppcelerator Studio 3.1.1.201306101955: Mountain Lion 10.8.4\r\nCode Processor: 1.0.1-cr4\r\nNode.js: 0.8.22\r\nTitanium SDK: 3.1.1.v20130609163050\r\nTitanium CLI: 3.1.1-cr\r\nTitanium Alloy: 1.1.3-cr\r\n\r\nError:\r\n\r\n{code}\r\nCould not find source directory \"/Applications/Appcelerator/Appcelerator_Studio_3.1.1/workspace/AlloyProject/Resources\"\r\n\r\nCould not find source directory \"/Applications/Appcelerator/Appcelerator_Studio_3.1.1/workspace/AlloyProject/Resources\"\r\n{code}", "updateAuthor": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-06-12T01:10:50.000+0000", "updated": "2013-06-12T01:10:50.000+0000" }, { "id": "257336", "author": { "name": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I believe this is a known limitation (known to me anyways) with the CLI itself. If the resources directory doesn't exist, it just quits. Can you try running \"ti build\" on the project with the deleted resources directory? If it also fails, then it's a CLI bug, otherwise, it's (probably) a code processor bug", "updateAuthor": { "name": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-06-12T01:17:06.000+0000", "updated": "2013-06-12T01:17:06.000+0000" }, { "id": "257357", "author": { "name": "amittal", "key": "amittal", "displayName": "Anshu Mittal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Testing environment:\r\nSDK:3.1.1.v20130611153550\r\nAppcelerator Studio: 3.1.1.201306101955\r\nOS: OSX 10.7.5\r\n\r\nAs per the testing instructions, \r\n1. Installed Titanium-code-processor version 1.0.1-cr4\r\n2. Ran in terminal: titanium config paths.commands --append /usr/local/lib/node_modules/titanium-code-processor/commands\r\n3. Created a default alloy project and emptied app.'s file from resources folder.\r\n4.Ran in terminal: titanium analyze -p iphone -A\r\n\r\nOutput:\r\nAlloy code generated and app.js file is no longer empty.", "updateAuthor": { "name": "amittal", "key": "amittal", "displayName": "Anshu Mittal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-06-12T09:50:15.000+0000", "updated": "2013-06-12T09:52:08.000+0000" }, { "id": "257363", "author": { "name": "djha", "key": "djha", "displayName": "Dhirendra Jha", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Used the Alloy (v1.1.3-cr) and Code Processor (v1.0.1-cr4) to verify this issue.", "updateAuthor": { "name": "djha", "key": "djha", "displayName": "Dhirendra Jha", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-06-12T12:30:19.000+0000", "updated": "2013-06-12T12:30:19.000+0000" }, { "id": "257398", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-06-12T16:53:56.000+0000", "updated": "2013-06-12T16:53:56.000+0000" }, { "id": "257415", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tested with:\nAppcelerator Studio, build: 3.1.1.201306112353\nTitanium SDK, build: 3.1.1.v20130611153550\ncode processor 1.0.1-cr4\n\n2. Imported the Field Service App. It does not have a Resources folder. Ran Run > Code Analysis > Run Selected Platforms (iPad, Android)\n\nActual result: Could not find source directory (see the attachment)\n", "updateAuthor": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-06-12T18:13:07.000+0000", "updated": "2013-06-12T18:13:07.000+0000" }, { "id": "257421", "author": { "name": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR: https://github.com/appcelerator/titanium-code-processor/pull/222\n1_0_X PR: https://github.com/appcelerator/titanium-code-processor/pull/223", "updateAuthor": { "name": "bhughes", "key": "bhughes", "displayName": "Bryan Hughes", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-06-12T19:06:05.000+0000", "updated": "2013-06-12T19:06:05.000+0000" }, { "id": "257457", "author": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Functional and code review passed.\r\n\r\nTested with an existing alloy app under 2 conditions:\r\n\r\n# The *Resources* folder was deleted\r\n# The *Resources* folder was present, but *Resources/app.js* was deleted\r\n\r\nusing the following command:\r\n\r\n{code}ti analyze -p iphone -A{code}\r\n\r\nUsing a version of the code processor before the above 2 PRs, executing the command would result in an error that stated I was not analyzing a valid Titanium app. When testing both PRs, the code analyzer would run as expected generating a report under both conditions.", "updateAuthor": { "name": "tlukasavage", "key": "tlukasavage", "displayName": "Tony Lukasavage", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-06-12T21:05:32.000+0000", "updated": "2013-06-12T21:05:32.000+0000" }, { "id": "257976", "author": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified as fixed.\n\nEnvironment:\n\tTitanium SDK 3.1.1.v20130613185544\n\tAppcelerator Studio 3.1.1.201306121633\n\tCLI 3.1.1-cr\n\tCode Processor 1.0.1-cr5\n\tAlloy 1.1.3-cr\n\tNode 0.8.22\n\tLiveView 1.0.0.201306121409\n\nClosing.", "updateAuthor": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-06-14T20:49:17.000+0000", "updated": "2013-06-14T20:49:17.000+0000" } ], "maxResults": 17, "total": 17, "startAt": 0 } } }