{
"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
}
}
}