Awesome
gitTio CLI
Command-line package manager for Appcelerator Titanium modules & Alloy widgets, powered by the gitTio search engine that indexes all open source components (modules and widgets) on GitHub.
A screencast demonstrating gitTio can be found at: http://youtu.be/Tgyfo8YHKxk
Quickstart
-
[sudo] npm install -g gittio
-
Install missing (versions of) modules and widgets required in
tiapp.xml
andapp/config.json
and use the global path for modules:~/myproject $ gittio install -g
-
Install the latest version of a component and add it to
tiapp.xml
orapp/config.json
:~/myproject $ gittio install -g facebook ~/myproject $ gittio install nl.fokkezb.loading
Commands
Use gittio
or gittio -h
for full usage, but this covers 80%:
info
Looks up a component at gitt.io and displays or returns the info.
-
Display in pretty format:
gittio info facebook
-
Display in JSON format:
gittio info facebook -o json
install
Installs all required or a specific component/version/platform.
Examples:
-
Install missing (versions of) modules and widgets required in
tiapp.xml
andapp/config.json
and use the global path for modules:~/myproject $ gittio install -g
NOTE: For widgets, though not officially supported by Alloy, you can add dependencies to other widgets in
widget.json
using the same notation as inconfig.json
. The CLI will install all dependencies but ATM not check for conflicts (#21). You can even add amodules
property using the same notation to depend on modules, likenl.fokkezb.drawer
depends ondk.napp.drawer
. -
Install the latest version of a component and add it to
tiapp.xml
orapp/config.json
:~/myproject $ gittio install -g facebook ~/myproject $ gittio install nl.fokkezb.loading
-
Install a specific version of a component for a single platform only, even if it is already installed:
~/myproject $ gittio install -g facebook@3.1.1 -p ios -f
-
Install a widget from the master of the underlying repo:
~/myproject $ gittio install nl.fokkezb.loading@master
-
Install the latest version of a module to the global path:
~ $ gittio install -g facebook
-
Install a module or zip file by pointing to a local or ZIP file:
~ $ gittio install https://github.com/FokkeZB/nl.fokkezb.form/archive/master.zip ~ $ gittio install -g ~/mymodule.zip
update
Updates all components to their latest versions.
Examples:
-
Install newer versions of globally installed modules:
~ $ gittio update -g
-
Install newer versions of components required by a project and use the global path for modules:
~/myproject $ gittio update -g
-
Install only newer versions of widgets:
~/myproject $ gittio update -t widget
uninstall
Uninstalls a specific component/version/platform.
Examples:
-
Uninstall a component and remove it from
tiapp.xml
orapp/config.json
:~/myproject $ gittio uninstall nl.fokkezb.loading
-
Uninstall all (global) versions of a component:
~ $ gittio uninstall -g facebook
-
Uninstall a component for a specific version and platform:
~ $ gittio uninstall -g facebook@3.1.1 -p ios
demo
Demos a module by creating a project with the module example included.
~ $ gittio demo dk.napp.drawer -p ios
Options
Use gittio
or gittio -h
for full usage, but this covers 80%:
-g, --global
Searches and installs modules under the global module path (~/Library/Application Support/Titanium/modules
on the Mac).
-f, --force
Forces install of components even if they are already found. When you specify a version to install this option is set automatically.
-p, --platform <platform>
Searches and installs modules only for the specified platform.
-t, --type <type>
Installs or updates only missing components for type (module
or widget
).
-o --output json
Output result of info
command as json
.
-b --alloy-base <dir>
Base directory for alloy. Default is 'app'.
Per Project Configuration
Add a .gittiorc
or compatible rc configuration file to your project folder.
{
"alloyBase": "src"
"platform": "ios"
}
There are currently only two supported options listed above. Command line options take priority over these options.
Configuration
Starting version 1.4, there's also a config
command to override default configuration settings. At the moment, the only - but crucial - setting is registry.url
which lets you instruct the CLI to talk a different registry then gitTio's, as long as it follows the same format.
~ $ gittio config registry.url http://registry.mycompany.com
Bugs
When you find issues, please report them. Be sure to include all of the output from the gittio command that didn't work as expected. Also please check if there's not already in issue for it.
Legal Stuff
The gitTio search engine, registry and CLI are owned by Fokke Zandbergen. All rights reserved. See the included LICENSE file for more details.
Appcelerator, Titanium and Alloy are trademarks owned by Appcelerator, Inc.. gitTio is not officially part of, owned by nor officially affiliated with Appcelerator.
The components in the gitTio registry are not part of gitTio itself, and are the sole property of their respective creators. There is absolutely no guarantee, warrantee, or assertion made as to the quality, fitness for a specific purpose, or lack of malice in any given component. Components exposed via gitTio are not affiliated with or endorsed by Fokke Zandbergen or Appcelerator.