Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-23550] CLI: Use platform-specific moduleApiVersions and enforce them in lookup of modules

GitHub Issuen/a
TypeImprovement
PriorityHigh
StatusOpen
ResolutionUnresolved
Affected Version/sn/a
Fix Version/sn/a
ComponentsAndroid, CLI
Labelsn/a
ReporterChristopher Williams
AssigneeChristopher Williams
Created2016-06-22T18:29:07.000+0000
Updated2016-09-26T05:03:21.000+0000

Description

As part of upgrading to latest V8, the native module API version should be bumped solely for android. We have the concept of a moduleApiVersion that gets written into the manifest.json of the SDK, but we don't appear to enforce that version whatsoever when we look up modules for packaging into the app. We also have no means of incrementing the module api version per-platform (so if we update V8 on Android, we can only bump Android's native module api version and not iOS' as well).

Comments

  1. Christopher Williams 2016-07-18

    This would be nice to enforce/validate at the CLI level like we do for other attributes of modules in node-apps's timodule.js #find() method. However, it is not *required* to get the new modules working, and often times the minsdk attribute would partially suffice. Studio does some validation of the apiversion when filtering the list of modules to add to a project, so we at least filter/validate when adding - but with the module api version change from 5.4 -> 6.0 for Android, we're likely to run into cases of people swapping between those versions on one project and not realizing the 5.4.x/apiversion="2" modules won't work on 6.0.0 (until it breaks at project build time with an error about undefined symbols while the emulator is launching).

JSON Source