{ "id": "149449", "key": "TIMOB-19173", "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": [], "resolution": null, "resolutiondate": null, "created": "2015-07-06T11:54:12.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "cb-tooling", "titaniumlib" ], "versions": [ { "id": "16723", "description": "Windows Platform Support, ListView updates, Vector overlays in maps", "name": "Release 4.1.0", "archived": false, "released": true, "releaseDate": "2015-07-08" } ], "issuelinks": [ { "id": "48303", "type": { "id": "10020", "name": "Depends", "inward": "is dependent of", "outward": "depends on" }, "inwardIssue": { "id": "147851", "key": "TIMOB-18909", "fields": { "summary": "Expose build and named version via Ti.App", "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" } }, "priority": { "name": "None", "id": "6" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "48302", "type": { "id": "10011", "name": "Includes", "inward": "is included by", "outward": "includes" }, "outwardIssue": { "id": "116777", "key": "TIMOB-23532", "fields": { "summary": "Android: Expose versionCode and versionName in TiApp Editor View", "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" } }, "priority": { "name": "Low", "id": "4" }, "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } }, { "id": "58208", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "171283", "key": "DAEMON-243", "fields": { "summary": "Create titaniumlib with tiapp.xml parsing, sdk and module detection logic", "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" } }, "priority": { "name": "Critical", "id": "1" }, "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } } ], "assignee": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "updated": "2020-03-06T21:35:48.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": "10202", "name": "Android", "description": "Android Platform" }, { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "I'm preparing a blog post about versioning your apps now TIMOB-17993 has been resolved in 4.1.0: https://gist.github.com/FokkeZB/f7ae3ab57eb8185a338d. Read the draft as context for this ticket.\r\n\r\nIt's great that developers can now manually set the {{CFBundleVersion}} as they could {{android:versionCode}}.\r\n\r\nHowever, I think we can improve the workflow by introducing a {{}} element that wants an integer value that will be used for both {{CFBundleVersion}} and {{android:versionCode}} (and other - Windows - platform's build versions) unless the developer has set these manually of course.\r\n\r\n{code:xml}\r\n\r\n\r\n com.appcelerator.myapp\r\n MyApp\r\n 1.1.0\r\n 123\r\n{code}\r\n\r\nSome other subtasks would follow out this as well if we decide to do this:\r\n\r\n* Expose the new element in the TiApp Editor in Studio.\r\n* Expose the value via {{Ti.App.build}} in the SDK (TIMOB-18909).\r\n* {{}} should be used for the release version as-is and not [truncated|https://github.com/appcelerator/titanium_mobile/blob/master/iphone/cli/commands/_build.js#L2080], leaving it up to the developer.", "attachment": [], "flagged": false, "summary": "Tiapp: Add element to set CFBundleVersion and android:versionCode", "creator": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "subtasks": [], "reporter": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "environment": null, "comment": { "comments": [ { "id": "356971", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "This would make TISTUD-5088 not needed anymore, saving the Editor from becoming too complicated, even more since we then should also expose CFBundleVersion and CFBundleShortVersionString as well.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-07-06T11:56:47.000+0000", "updated": "2015-07-06T11:56:47.000+0000" }, { "id": "356972", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "For both the new {{}} and the existing {{}} we need to fix that {{Ti.App.version}} and {{Ti.App.build}} do not use the platform-specific build and release versions when set in the {{}} and {{}} sections.\r\n\r\nTIMOB-18909", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-07-06T12:08:32.000+0000", "updated": "2015-07-07T06:44:37.000+0000" }, { "id": "386494", "author": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "body": "Is there an alternative for this on recent Ti releases?", "updateAuthor": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "created": "2016-05-23T17:49:36.000+0000", "updated": "2016-05-23T17:49:36.000+0000" }, { "id": "386503", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Would these help you atm?\r\n\r\n* http://docs.appcelerator.com/platform/latest/#!/api/Titanium-property-buildHash\r\n* http://docs.appcelerator.com/platform/latest/#!/api/Titanium-property-buildDate", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-05-23T18:12:46.000+0000", "updated": "2016-05-23T18:12:46.000+0000" }, { "id": "386515", "author": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "updateAuthor": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "created": "2016-05-23T19:04:26.000+0000", "updated": "2016-05-23T19:04:26.000+0000" }, { "id": "386585", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~ygbr] As Titanium will default {{CFBundleShortVersionString}} and {{android:versionName}} to {{}} you don't need to set these (as long as both platforms are on the same version). To increment {{CFBundleVersion}} and {{android:versionCode}} I normally use a Grunt/Gulp script each time I build. The same script could then also write that version to {{app/config.json}} for use in the app. But of course resolving this ticket would make it easier.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-05-24T06:02:17.000+0000", "updated": "2016-05-24T06:02:17.000+0000" }, { "id": "445320", "author": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "body": "up!", "updateAuthor": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "created": "2019-01-15T14:56:39.000+0000", "updated": "2019-01-15T14:56:39.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }