{ "id": "174575", "key": "TIMOB-27686", "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": "20033", "name": "Release 9.0.0", "archived": false, "released": true, "releaseDate": "2020-03-18" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2020-01-31T11:21:58.000+0000", "created": "2019-12-14T05:43:03.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "android", "build", "gradle", "sdk", "tools" ], "versions": [], "issuelinks": [], "assignee": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2020-01-31T11:21:58.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" } ], "description": "*Summary:*\r\nGradle supports automatically downloading build system related dependencies such as Google's \"build-tools\" and targeted API Level libraries. We should leverage this feature so that app developer's won't have to download/install them manually via Google's \"Android SDK Manager\" dialog. This will make building Android apps more convenient and minimize tech-support issues.\r\n\r\n*Recommended Solution:*\r\nOnce gradle build support has been added via [TIMOB-19300] in Titanium 9.0.0, we get this feature for free when we start the \"gradlew\" app build.\r\n\r\nBut in order for this to happen, we need to ignore some of the error results returned by our [node-titanium-sdk|https://github.com/appcelerator/node-titanium-sdk] module's Android detect API [here|https://github.com/appcelerator/node-titanium-sdk/blob/master/lib/android.js] in our Titanium SDK's [_build.js|https://github.com/appcelerator/titanium_mobile/blob/master/android/cli/commands/_build.js] script's {{validate()}} function.\r\n\r\nThe error string IDs we need to ignore are:\r\n* {{'ANDROID_BUILD_TOOLS_TOO_NEW'}}\r\n* {{'ANDROID_BUILD_TOOLS_NOT_SUPPORTED'}}\r\n* {{'ANDROID_BUILD_TOOLS_CONFIG_SETTING_NOT_INSTALLED'}}\r\n* {{'ANDROID_API_TOO_OLD'}}\r\n* {{'ANDROID_API_TOO_NEW'}}\r\n* {{'ANDROID_NO_APIS'}}\r\n* {{'ANDROID_NO_VALID_APIS'}}\r\n* {{'ANDROID_SDK_MISSING_PROGRAMS'}}\r\n\r\n*Note 1:*\r\nWe still need our Android SDK/NDK detection code, because there is no way to run the Android gradlew tool without first setting up a \"local.properties\" file that reference the SDK/NDK directories.\r\n\r\n*Note 2:*\r\nOur Titanium CLI still needs to keep its existing Android tooling detection code since the CLI needs to support Titanium SDK versions older than 9.0.0.\r\n", "attachment": [], "flagged": false, "summary": "Android: Auto-download build system dependencies via gradle", "creator": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "453681", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "master: https://github.com/appcelerator/titanium_mobile/pull/11432", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-01-14T00:55:39.000+0000", "updated": "2020-01-14T00:55:39.000+0000" }, { "id": "453943", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "merged to master for 9.0.0", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2020-01-30T19:31:31.000+0000", "updated": "2020-01-30T19:31:31.000+0000" }, { "id": "453973", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket, fix verified in SDK version 9.0.0.v20200130113429\r\n\r\nTest and other information can be found at:\r\nhttps://github.com/appcelerator/titanium_mobile/pull/11432", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-01-31T11:21:24.000+0000", "updated": "2020-01-31T11:21:24.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }