{ "id": "140727", "key": "TIMOB-18113", "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": [ { "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" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2015-02-13T22:18:13.000+0000", "created": "2014-12-01T18:27:51.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [], "issuelinks": [ { "id": "45072", "type": { "id": "10122", "name": "Gantt: start-finish", "inward": "is triggered by", "outward": "is triggering" }, "outwardIssue": { "id": "143449", "key": "TIDOC-2096", "fields": { "summary": "Guides: Update CLI Config options page to list android.buildTools.selectedVersion ", "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": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "46006", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "144716", "key": "TIMOB-18573", "fields": { "summary": "CLI: When build tools are newer than supported range, warn & build rather than fail", "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": "Medium", "id": "3" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "47025", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "146575", "key": "TIMOB-18778", "fields": { "summary": "Android: Update latest supported build tools version to 22", "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": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "updated": "2017-03-16T22:51:01.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": "10202", "name": "Android", "description": "Android Platform" }, { "id": "13103", "name": "CLI", "description": "Node-based command line interface" } ], "description": "h6.Feature Request Description\r\nIt would be great if you could set this as a feature request for the 3.5.0 or 3.5.1 TiSDK. I anticipate that having this ability would reduce the number of different build environments that we would have to maintain and would allow us to upgrade our Android versions at a faster pace. \r\n\r\nThe request would be to select the Android Build Tools version when launching the ti build command via a parameter. \r\n\r\nh6.Use Case\r\nThe scenario is as follows. Suppose we have a app 3.4 which is GA'd against the 3.4.1.GA TiSDK Android-18 Target SDK, and the Android 19.1.0 Build Tools. We are now working on our app 3.5 project and want to upgrade to TI 3.5.0.GA and the Android Target SDK to 21 for Android 5.0 support. For Android 5.0 support we have to use build tools 21.0.0. I was wondering if there is a way at build time to select 19.1.0 for the 3.4 app and the 21.0.0 for the 3.5 app via some build time parameter. \r\n", "attachment": [], "flagged": false, "summary": "Android: Feature Request to select the Android Build Tools version", "creator": { "name": "egomez", "key": "egomez", "displayName": "Eduardo Gomez", "active": false, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "egomez", "key": "egomez", "displayName": "Eduardo Gomez", "active": false, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 319, "state": "closed", "name": "2015 Sprint 03 Tooling", "startDate": "2015-01-31T03:56:17.033Z", "endDate": "2015-02-14T02:30:00.000Z", "completeDate": "2015-02-14T02:18:47.439Z", "originBoardId": 121 } ], "comment": { "comments": [ { "id": "334171", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Is there a reason you couldn't use build tools 21 for all versions?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-12-01T20:08:02.000+0000", "updated": "2014-12-01T20:08:02.000+0000" }, { "id": "334440", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "We should definitely support this. Right now, the Android detection code in the Titanium SDK (node_modules/titanium-sdk/lib/android.js) gets the highest version of platform tools and build tools. The current code will need some cleaning up. This logic should take into account the supported build/platform tools defined in the Android platform's package.json vendorDependencies. This will make sure that only the latest supported versions are selected by default.\r\n\r\nThen these versions should be overridden by the \"android.platformTools.selectedVersion\" and \"android.buildTools.selectedVersion\". The actual code would look like:\r\n\r\n{code}\r\nlatestPlatformToolsVersion = versions.sort().shift();\r\nconfig.get('android.platformTools.selectedVersion', latestPlatformToolsVersion)\r\n{code}", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2014-12-03T00:14:04.000+0000", "updated": "2014-12-03T00:14:04.000+0000" }, { "id": "340161", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "[~skypanther] Because this is similar to how Windows works with Visual Studio and Windows Phone SDK selection. Remember that the {{versions}} detected should excluded versions that aren't supported and we only pick the latest if it hasn't been globally set.\r\n\r\nIdeally we should have a consistent way of having global, project, and build-level settings, but we sorta don't.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2015-01-21T20:55:37.000+0000", "updated": "2015-01-21T20:55:37.000+0000" }, { "id": "340247", "author": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/6593\r\n\r\nFunctional review steps:\r\n\r\n1. Determine which build tools are available in your Android SDK (e.g. these are the dir names in ~/android-sdk/build-tools/)\r\n2. Configure the selected build tools version with {{ti config android.buildTools.selectedVersion 20.0.0}} where the last arg is an installed, but not newest, build tools version\r\n3. Enter {{ti config}} and confirm that the value was set.\r\n4. Create and build a Titanium app for Android and watch the output for a reference in the console output to the build tools version, such as {{\\[INFO\\] Packaging application: /android-sdk/build-tools/20.0.0/aapt ...}}. You can cancel the build at this point.\r\n5. Remove the config setting with {{ti config -r android.buildTools.selectedVersion}}\r\n6. Enter {{ti config}} and confirm that the value was removed.\r\n7. Clean, the build your app again. Look for the build tools version in the log output; it should be the highest version installed on your system.\r\n8. Set the selected build tools version to the earliest installed on your system; install a pre-18 version if necessary. Attempt to build the app. You should receive a warning that you're using an outdated version.\r\n\r\n", "updateAuthor": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "created": "2015-01-22T16:34:54.000+0000", "updated": "2015-01-22T16:34:54.000+0000" }, { "id": "340428", "author": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "body": "PR updated incorporating feedback from Chris:\r\n\r\nCLI now uses either the selected version, or the newest, supported auto-detected version. (Prior to this ticket, the CLI always used the newest version whether supported or not). If the selected version doesn't exist or is unsupported, gives the same error messages as you'd get previously if no SDK installed, missing executables, etc.", "updateAuthor": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "created": "2015-01-23T16:43:17.000+0000", "updated": "2015-01-23T16:43:17.000+0000" }, { "id": "341672", "author": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "body": "See additional comments on the PR.", "updateAuthor": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "created": "2015-02-02T18:49:59.000+0000", "updated": "2015-02-02T18:49:59.000+0000" }, { "id": "343388", "author": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "body": "See final comments on PR. Merged.", "updateAuthor": { "name": "skypanther", "key": "skypanther", "displayName": "Tim Poulsen", "active": true, "timeZone": "America/New_York" }, "created": "2015-02-13T22:18:13.000+0000", "updated": "2015-02-13T22:18:13.000+0000" }, { "id": "413432", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as fixed.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-16T22:51:01.000+0000", "updated": "2017-03-16T22:51:01.000+0000" } ], "maxResults": 13, "total": 13, "startAt": 0 } } }