Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-26842

CLI: Deprecate allowing no version to be set on a module in the tiapp

    Details

    • Type: Improvement
    • Status: Open
    • Priority: None
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: CLI, Tooling

      Description

      Description

      Currently today, the "version" property of a module tag in the tiapp.xml does not require a value to be set. This means that during a build, the latest version of a module will be pulled in (as long as the minsdk in the manifest is satisfied).

      This means that if we wish to make changes to a module that are breaking changes, but do not require a minsdk change (for example the recent changes to ti.facebook TIMOB-26823) we cannot do so unless it's a semver major release of the SDK, and aligning any breaking changes across (at an eyeball) 10 modules distributed via the SDK is nigh on impossible in my opinion. It is important to enable ourselves to do this because it's possible that a breaking change might be needed by a user to adapt to a 3rd party change (for example a breaking change in a ti.facebook that is required to be in place by facebook by a certain date)

      I propose that we do the following:

      • Deprecate support for no version specified in a module tag, with a view to erroring completely in 9
      • Allow support for semver ranges in a version tag
        • Do we disallow ranges like "*" and "latest" to prevent users opting into this?

      Doing this would allow us to ship updates to modules that are breaking changes without requiring an semver major SDK version bump.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                eharris Ewan Harris
                Reporter:
                eharris Ewan Harris
              • Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:

                  Backbone Issue Sync

                  • Backbone Issue Sync is enabled for your project, but we do not have any synchronization info for this issue.

                    Git Source Code