Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-23173] Support defining supported SDK version range in tiapp.xml

GitHub Issuen/a
TypeNew Feature
PriorityLow
StatusClosed
ResolutionWon't Fix
Resolution Date2020-02-06T06:55:59.000+0000
Affected Version/sn/a
Fix Version/sn/a
ComponentsTooling
Labelscb-tooling
ReporterFokke Zandbergen
AssigneeUnknown
Created2016-04-08T08:45:47.000+0000
Updated2020-02-06T08:14:42.000+0000

Description

I'd like to be able to set a supported Titanium SDK version range for an app in tiapp.xml:
<?xml version="1.0" encoding="UTF-8"?><ti:app xmlns:ti="http://ti.appcelerator.org">
	..
	<sdk-version supported=">=5.1.0 <5.2.2">5.2.0.GA</sdk-version>
</ti:app>
When Titanium compiles it should check if the Titanium version used to compile is supported by the app and if not fail with a clear message:
[ERROR] Titanium app supports SDK >=5.1.0 <5.2.2, not 3.5.1.GA
The primary use case for this are our [release sample apps](https://github.com/appcelerator-developer-relations/?query=appc-sample-ti) which require the (at the moment of release) latest SDK version to be used and might not always be updated for later SDK versions (DE-359). Now I know that these sample apps have a <sdk-version>5.2.0.GA</sdk-version> set to the SDK they were made for, but if you don't have this SDK and you import the sample it will simply use the last SDK version you have and then the build will probably fail with all kinds of errors.

Comments

  1. Chris Barber 2019-10-02

    I don't know if I can get behind this feature request. I admit switching the <sdk-version> is a pain, but perhaps it would be more tolerable as a CLI option?
  2. Chris Barber 2020-02-06

    Sorry, but this ticket is a bad idea. The upcoming project template overhaul will support a similar feature with a semver range of compatible Titanium SDKs, Another option is to just leave the <sdk-version> empty and it'll use the latest installed SDK, which is arguably worse.
  3. Fokke Zandbergen 2020-02-06

    The semver will address the same need! (y)

JSON Source