blog source code

Command Line Tool

As a JVM based project, it was no-brainer use Maven as it development platform. It is quite versatile and has a lot of out-of-box plugins that makes developer life easier. But, some tasks like create a new project and add dependencies could be repetitive. Sometimes, automate repetitive tasks could be easier if done in a simple bash script.

Here enters Kikaha' command line interface tool. It was designed to avoid repetitive tasks while working with Kikaha. Also, it could be useful to automate any Maven ou Bash Script task a developer intent to do more than once.

Installation instructions

Kikaha's cli installation is easy as running the bellow commands on your console. It will manage a custom maven installation, configure some logging stuffs (making maven output a little less verbose and opaque), and install the default plugin repository.

curl -s http://download.kikaha.io/installer | bash

After the installation process, please close and re-open your terminal console and type the bellow command to finish the configuration process.

kikaha setup

Basic commands

The basic cli syntax is: kikaha <command> <subcommand> <args> [--var1=foo --var2=bar ... --varN=blah]

Bellow is described all built-in commands and its correct syntax. All these commands could be configured with custom variables, that should be placed after the last argument, as described above.

Build commands:

  • kikaha build [<module>] - builds a kikaha/maven project
  • kikaha package [<module>] - generates a zip package with an executable kikaha project
  • kikaha run-app [<module>] - run a kikaha project
  • kikaha clean [<module>] - remove artifacts and stuffs generated by the lastests builds
  • kikaha test [<module>] - forces to run all unit and integration tests

Configuration variables for build commands

  • --skip-tests=true - avoids the unit and integration tests executions

Repository commands:

  • kikaha repo add <repo_name> <git_repository_url> - adds a plugin repository
  • kikaha repo update <repo_name> - updates a plugin repository

Configuration variables for repository commands

  • --force=true - override existing repositories if needed.

Project commands:

  • kikaha project add-dep <groupid:artifactid:version> - add a dependency to your project in a gradle way.
  • kikaha project use <kikaha_version> - redefines which Kikaha's version should be used at the project.
  • kikaha project use-last - forces the current project to use the Kikaha's lastest version.

Project templates:

  • kikaha project create <template> - creates a project based on a pre-defined project.

Configuration variables for project templates' commands

  • --artifact-id=<name> - defines the artifact id of the generated project. If not set will be the same as the template name.
  • --group-id=<name> - defines the artifact id of the generated project. Default value is: kikaha.sample.
  • --version-id=<name> - defines the artifact id of the generated project. Default value is: 1.0.0-SNAPSHOT
  • --name=<name> - useful only if artifact-id or group-id are not set, once it set these values if they are not set.

Available project templates

  • 2.0 - creates a raw project with CDI and Logback support for 2.0.X version of Kikaha.
  • 2.0-kotlin - creates the same 2.0 project, but with (experimental) Kotlin support.
  • 2.1 - creates a raw project with CDI and Logback support for 2.1.X version of Kikaha.