tarantoolapp
tarantoolapp copied to clipboard
App starter & dependency manager for Tarantool application server
tarantoolapp
App starter for Tarantool application server
Installation
tarantoolapp is a cli tool so it is better to install it globally to system:
$ luarocks install tarantoolapp
Or to install most recent version
$ luarocks install --server=http://luarocks.org/dev tarantoolapp
In order for this to succeed it is required to have both Tarantool and Luarocks repos in ~/.luarocks/config.yaml:
➜ cat ~/.luarocks/config.lua
rocks_servers = {[[http://rocks.tarantool.org]], [[https://luarocks.org]]}
Bootstrap an application
To create a project template for application with name myapp in current directoty:
$ tarantoolapp create myapp
Full command is:
$ tarantoolapp create [-t <template>] [-p <path>]
[--description <description>] [--version <version>] [-h] <name>
Parameters to tarantoolapp create:
<name>- Desired project name<template>- template to use. Available templates: (basic, luakit, ckit) (default: basic)<path>- path to directory where to setup project (default is ./{your_project_name})<description>- Project description (default: Tarantool App)<version>- Project version (default: scm-1)
There can be special options defined for a selected template, for example for a basic template:
<basic_use_spacer>- Use spacer or not.
These options are defined in a templates/<template_name>/config.yaml file and in command line are prefixed with a template name.
Install dependencies
$ tarantoolapp dep
This command installs dependencies, specified in the meta.yaml file in current folder (luarocks and Lua 5.1 are required).
Full command is:
$ tarantoolapp dep [-m <meta_file>] [-t <tree>] [-h]
[--only [<only>] ...]
Parameters to tarantoolapp dep:
<meta_file>- path to meta.yaml file (default: ./meta.yaml)<tree>- path to directory that will hold the dependencies (default: .rocks)<only>- install only these sections (deps, tntdeps or localdeps). Separated with spaces (e.g.--only deps tntdeps)
meta.yaml
meta.yaml can have the following sections:
name- package nameversion- package versiondeps- list of paths to rockspec files or package names (each is installed usingluarocks installcommand)tntdeps- list of paths to rockspec files or package names (each is installed usingtarantoolctl rocks installcommand)localdeps- list of paths to local rockspec files (each is installed usingluarocks makecommand). You can specify dependency in either of 2 following formats:./local/path/to/package/package.rockspecif*.rockspecfile is in the package root./local/path/to/package/rockspecs/package.rockspec:./local/path/to/package- specify the package root after the colon
Getting help
$ tarantoolapp -h
$ tarantoolapp create -h
$ tarantoolapp dep -h