{ "id": "155411", "key": "TIMOB-20515", "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": { "id": "10100", "description": "This issue won't be actioned.", "name": "Won't Do" }, "resolutiondate": "2016-03-16T05:57:34.000+0000", "created": "2016-03-04T10:40:55.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "look1" ], "versions": [ { "id": "16997", "name": "Release 5.2.0", "archived": false, "released": true, "releaseDate": "2016-02-23" } ], "issuelinks": [], "assignee": null, "updated": "2018-08-06T17:38:16.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" }, { "id": "12305", "name": "Core", "description": "Central component of the Platform (outside of Tooling, or platform specific implementation details)" } ], "description": "We currently keep track of supported NodeJS, Android Build Tools and API levels in the SDK:\r\n\r\n* https://github.com/appcelerator/titanium_mobile/blob/master/package.json#L65\r\n* https://github.com/appcelerator/titanium_mobile/blob/master/android/package.json#L17-L26\r\n* https://github.com/appcelerator/titanium_mobile/blob/master/iphone/package.json#L21-L27\r\n\r\nThe validation also mostly take place in the SDK part of the CLI:\r\n\r\n* https://github.com/appcelerator/titanium_mobile/blob/master/node_modules/titanium-sdk/lib/android.js#L442\r\n* https://github.com/appcelerator/titanium_mobile/blob/981b9f8f61e58e0c74789e6db48ae8feb007b16a/android/cli/commands/_build.js#L1219\r\n\r\nWhy don't we keep track and check these in the Core part of the CLI (for Titanium this would be the [Titanium CLI|https://github.com/appcelerator/titanium]?\r\n\r\nThat way, as we test (older) SDKs again new dependency versions we can update this information as we push new versions of the Titanium (embedded in Core part of Unified) CLI. We can't update the SDKs with this knowledge.", "attachment": [], "flagged": false, "summary": "CLI: Support versions of dependencies should be tracked and checked in Core part of CLI, not the SDK part", "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": "379823", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "This is a bad idea. We originally talked about doing things this way, but then we came to our senses. There are a bunch of reasons we're not going to do this. I only care to mention two of the most important reason to not put the dependency support matrix in the Titanium CLI:\r\n\r\n1. Common sense. The build command is in the SDK. The build options and flags are in the SDK. The validation is in the SDK. The supported/required dependencies will remain in the SDK.\r\n\r\n2. Part of the beauty of how we package SDK releases is the dependencies are locked down and the release is tested and certified. If you change the supported dependencies, we can no longer certify a release. You are inevitably increasing the surface area.\r\n\r\nThe new Titanium build is a very radical departure from what we have today. This \"feature\" will be pointless in the new design.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2016-03-16T05:57:21.000+0000", "updated": "2016-03-16T05:57:21.000+0000" }, { "id": "379848", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "I have high expectations of the new Titanium build so maybe I should have phrased this as a user story to be considered for that architecture more than a technical request for the current:\r\n\r\n{quote}As a user, I don't want to be threatened or even forced to use (and thus constantly switch between) specific NodeJS, Android SDK, Xcode or JDK versions for each of the wide range of Titanium SDK versions that apps I maintain are - for various reasons - locked in to *unless* it actually requires it.{quote}\r\n\r\nAs a developer, my ideal would be for the CLI to be (to a certain extend) be backwards compatible with older dependencies and Titanium APIs (the SDK without the CLI part of it).", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-03-16T09:31:33.000+0000", "updated": "2016-03-16T09:31:33.000+0000" }, { "id": "379874", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "Yes. I have a plan. If it works, you'll have what you want. Just need to think differently. :)", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2016-03-16T14:37:44.000+0000", "updated": "2016-03-16T14:37:44.000+0000" }, { "id": "439956", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing as \"won't do\". If this is in error, please reopen.", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-08-06T17:38:16.000+0000", "updated": "2018-08-06T17:38:16.000+0000" } ], "maxResults": 5, "total": 5, "startAt": 0 } } }