{ "id": "105987", "key": "TIMOB-11969", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "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": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" }, { "id": "14162", "description": "Release 3.1.0", "name": "Release 3.1.0", "archived": true, "released": true, "releaseDate": "2013-04-16" }, { "id": "14700", "description": "2012 Sprint 25", "name": "2012 Sprint 25", "archived": true, "released": true, "releaseDate": "2012-12-17" }, { "id": "14785", "description": "2012 Sprint 25 JS", "name": "2012 Sprint 25 JS", "archived": true, "released": true, "releaseDate": "2012-12-17" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-12-07T00:48:47.000+0000", "created": "2012-12-05T11:25:01.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "module_cli", "qe-manualtest", "triage" ], "versions": [ { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" } ], "issuelinks": [], "assignee": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "updated": "2014-08-13T09:57:07.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": "*Problem description*\r\nBuilding the app with Ti Studio 3.0 RC and Ti SDK 3.0 RC produces the following error when there is a numeric only value in strings.xml:\r\n\r\n{code}\r\n[ERROR] Unable to run command \"build\"\r\n\r\nTypeError: Object 2355323623 has no method 'replace' 0 [ 'TypeError: Object 2355323623 has no method \\'replace\\'',\r\n ' at build.compileI18N.Object.keys.map.add.appname (/Users/USR/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/iphone/cli/commands/_build.js:1512:30)',\r\n ' at Array.map (native)',\r\n ' at Object.build.compileI18N.Object.keys.map.add.appname (/Users/USR/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/iphone/cli/commands/_build.js:1510:64)',\r\n ' at exports.hitch (/Users/USR/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/node-appc/lib/util.js:59:17)',\r\n ' at async.parallel.results (/Users/USR/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/async/lib/async.js:454:21)',\r\n ' at _asyncMap (/Users/USR/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/async/lib/async.js:185:13)',\r\n ' at async.forEach (/Users/USR/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/async/lib/async.js:86:13)',\r\n ' at Array.forEach (native)',\r\n ' at _forEach (/Users/USR/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/async/lib/async.js:26:24)',\r\n ' at async.forEach (/Users/USR/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/async/lib/async.js:85:9)',\r\n '---------------------------------------------',\r\n ' at Object.exports.execFile [as execFile] (child_process.js:594:9)',\r\n ' at exports.exec (child_process.js:481:18)',\r\n ' at exports.detect.async.series.cached (/Users/USR/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/node-appc/lib/android.js:81:4)',\r\n ' at async.series.results (/Users/USR/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/async/lib/async.js:486:21)',\r\n ' at _asyncMap (/Users/USR/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/async/lib/async.js:185:13)',\r\n ' at async.forEachSeries.iterate (/Users/USR/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/async/lib/async.js:108:13)',\r\n ' at async.forEachSeries.iterate (/Users/USR/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/async/lib/async.js:119:25)',\r\n ' at _asyncMap (/Users/USR/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/async/lib/async.js:187:17)',\r\n '---------------------------------------------',\r\n ' at Object.exports.execFile [as execFile] (child_process.js:594:9)',\r\n{code}\r\n\r\n*Note*\r\nDoes not happen in any mobile SDK with Ti Studio 2.1.2. In Ti Studio 3.0, it happens only with mobile SDK 3.0, not with 2.1.4 GA.\r\n\r\n*strings.xml*\r\n{code}\r\n\r\n\r\n 2355323623\r\n 98376349768346\r\n\r\n{code}\r\n\r\n*app.js*\r\n{code}\r\nvar win = Ti.UI.createWindow();\r\n\r\nvar alert = Titanium.UI.createAlertDialog({\r\n\ttitle : L('aboutCopyrightPhone'),\r\n\tmessage : L('welcome_message'),\r\n\tbuttonNames : ['Ok'],\r\n\tcancel : 0\r\n});\r\nalert.show();\r\n\r\nwin.open();\r\n{code}\r\n", "attachment": [], "flagged": false, "summary": "CLI: error when building if there is only a numeric value in strings.xml", "creator": { "name": "konrous", "key": "konrous", "displayName": "Konstantinos Roussos", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "MacOSX, Titanium Studio and SDK 3.0 RC", "comment": { "comments": [ { "id": "230097", "author": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hi Konstantinos. Please can you provide more information?\n\niOS/android version, device and/or simulator, Xcode version if iOS, any logs, and also what the Javascript looks like when you're referencing the localized string (I used L()). Feel free to try the test case I added in the description.\n\nI tried it myself and cannot reproduce it on 3.0.0 RC, 2.1.4 GA or 3.1.0 master on either iOS or Android.\n\nThanks!", "updateAuthor": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-12-05T19:51:38.000+0000", "updated": "2012-12-05T19:51:38.000+0000" }, { "id": "230101", "author": { "name": "konrous", "key": "konrous", "displayName": "Konstantinos Roussos", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hello,\n\nI use xCode 4.5, Titanium Studio 3.0.0RC and Titanium SDK 3.0.0RC\nIt is not necessary to use any L('aboutCopyrightPhone'). If I have this in my string.xml:\n\t123456789\nI get this:\n[ERROR] Unable to run command \"build\"\n\nTypeError: Object 123456789 has no method 'replace' 0 [ 'TypeError: Object 123456789 has no method \\'replace\\'',\n ' at build.compileI18N.Object.keys.map.add.appname (/Users/konrous/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/iphone/cli/commands/_build.js:1512:30)',\n ' at Array.map (native)',\n ' at Object.build.compileI18N.Object.keys.map.add.appname (/Users/konrous/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/iphone/cli/commands/_build.js:1510:64)',\n ' at exports.hitch (/Users/konrous/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/node-appc/lib/util.js:59:17)',\n ' at async.parallel.results (/Users/konrous/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/async/lib/async.js:454:21)',\n ' at _asyncMap (/Users/konrous/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/async/lib/async.js:185:13)',\n ' at async.forEach (/Users/konrous/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/async/lib/async.js:86:13)',\n ' at Array.forEach (native)',\n ' at _forEach (/Users/konrous/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/async/lib/async.js:26:24)',\n ' at async.forEach (/Users/konrous/Library/Application Support/Titanium/mobilesdk/osx/3.0.0.v20121130200208/node_modules/async/lib/async.js:85:9)',\n '---------------------------------------------',....\n....\n....\n...\n\nIn 2.1.4 it works fine...\n\n", "updateAuthor": { "name": "konrous", "key": "konrous", "displayName": "Konstantinos Roussos", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-12-05T20:03:30.000+0000", "updated": "2012-12-05T20:03:30.000+0000" }, { "id": "230117", "author": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Oh my apologies, I tested it on Studio 2.1.2 with SDK 3.0 before. I can reproduce the problem with Ti Studio 3.0 RC. Thanks.", "updateAuthor": { "name": "dsefton", "key": "dsefton", "displayName": "Daniel Sefton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-12-05T21:38:19.000+0000", "updated": "2012-12-05T21:38:19.000+0000" }, { "id": "230205", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "Verified. Thanks for finding this bug! Fixed and will make 3.0.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2012-12-06T11:32:30.000+0000", "updated": "2012-12-06T11:32:30.000+0000" }, { "id": "230211", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "Master pull request: https://github.com/appcelerator/titanium_mobile/pull/3539\n3.0.x pull request: https://github.com/appcelerator/titanium_mobile/pull/3542", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2012-12-06T11:58:19.000+0000", "updated": "2012-12-06T11:58:19.000+0000" }, { "id": "234326", "author": { "name": "pmishra", "key": "pmishra", "displayName": "Paras Mishra", "active": true, "timeZone": "Asia/Kolkata" }, "body": "Successfully build with the strings.xml having numeric values as stated above\r\n\r\nVerified on : \r\nSDK version: 3.1.0.v20130111163212, 3.0.0.GA\r\nCLI version : 3.0.22\r\nOS : MAC OSX 10.7.5\r\nXCode : 4.5.1", "updateAuthor": { "name": "pmishra", "key": "pmishra", "displayName": "Paras Mishra", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2013-01-15T04:24:32.000+0000", "updated": "2013-01-15T04:24:32.000+0000" } ], "maxResults": 6, "total": 6, "startAt": 0 } } }