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

Titanium CLI plugin deprecation notices

    Details

    • Type: Story
    • Status: Open
    • Priority: None
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      Description

      There are 2 major Titanium CLI <=5.x plugin related deprecations coming up with the release of the next Titanium CLI, namely version 6.0.

      1. Titanium CLI 6 will drop support for all Titanium CLI plugins that are executed for any command other than "ti build" (or "appc run"). That means that any plugin that was loaded for a non-build command, such as "create"/"new", will no longer be loaded in Titanium CLI 6.

      • Hooks that will only fire when performing a build
        • cli:command-loaded
        • cli:go
        • cli:post-execute
        • cli:post-validate
        • cli:pre-execute
        • cli:pre-validate
        • help:header
      • Hooks that will no longer be called
        • clean.config
        • clean.post
        • clean.pre
        • create.config
        • create.finalize
        • create.post
        • create.pre

      All other build.* hooks will continue to fire including Alloy, Hyperloop, Liveview, Ti.shadow, etc.

      2. Titanium CLI 7 will drop support for all Titanium CLI plugins including "build" related commands.

      New Titanium CLI 6 Plugin System

      The new Titanium CLI 6 will support plugins in the form of Appc Daemon (appcd) plugins. While the daemon's plugin system exists as well as the underlying hook mechanism, the hook registration system (DAEMON-90) does not exist yet.

      Once the hook system is implemented in the appcd plugin system, then Titanium CLI <=5.x plugins with clean. and create. hooks will need to be ported to the new format. Porting is not trivial, but it's hours, not days, of work.

      Appcd plugins also have limitations compared to Titanium CLI <=5.x plugins. While pre and post hooks are possible, modifying function hook arguments, the actual hooked function, and the result are not. Furthermore, appcd plugins must be async aware and maintain their own state.

      Currently, there are no known plugins that use the clean. hooks, however we have several new project templates that use the create. hooks. Those project templates will need to be updated.

      Titanium CLI 7 Plugin Support

      With Ti CLI 7, all Titanium CLI <=5.x plugins will no longer work and thus must be ported. Plugins such as Alloy, Hyperloop, and Liveview will need to be ported to appcd plugins. This is a big effort, however Titanium CLI 7 likely won't ship until the 2nd half of 2020. We have time.

      References

      https://wiki.appcelerator.org/display/guides2/Titanium+CLI+Plugins

        Attachments

          Activity

            People

            • Assignee:
              cbarber Chris Barber
              Reporter:
              cbarber Chris Barber
            • 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 Integration