{ "id": "172993", "key": "TIMOB-26821", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "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": [], "resolution": null, "resolutiondate": null, "created": "2019-02-12T21:18:03.000+0000", "priority": { "name": "None", "id": "6" }, "labels": [ "cb-tooling" ], "versions": [], "issuelinks": [], "assignee": null, "updated": "2020-01-30T23:09:27.000+0000", "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" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "The tag of the tiapp.xml can be used to bump build versions in production builds on iOS and it works great. Unfortunately, right now, Android still always needs to update the {{android:versionCode}} attribute of the {{}} node everytime.\r\n\r\nIt would be great if the build could auto-bump it for production builds as well.", "attachment": [], "flagged": false, "summary": "CLI: Use for the \"android:versionCode\" attribute", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "comment": { "comments": [ { "id": "446032", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Currently, Titanium is already assigning the \"tiapp.xml\" {{}} string to the Android app's \"versionName\" attribute within the \"AndroidManifest.xml\".\r\n\r\nBut the problem with the Android \"versionCode\" is that it only supports a single integer. Android apps do not support the typical \"major.minor.build\" versioning scheme. Only a single integer is supported. So, it's up to the app developer to decide how to handle it.\r\n\r\nNote that a common handling of the \"versionCode\" integer is to treat it as a *fixed-point* type. For example, you can spec it out on your end that the least 2 significant digits in the integer (ie: the 2 right most digits) are decimal so that integer value {{100}} should be regarded as {{1.0}}.\r\nThat is, the formula would be: {{floatVersion = versionCode / 100.0}}\r\n(I don't recommend that you turn the version into a literal float since you would run into precision issues.)\r\n\r\nJust note that since there are no rules and every app developer handles \"versionCode\" differently, we can't really doing anything automatic for app developers because whatever scheme we dictate may not line-up with their own scheme.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-02-12T22:16:29.000+0000", "updated": "2019-02-12T22:18:31.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }