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.
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.
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.
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
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.
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.
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.
AWS-RELATED MODULES Overview of AWS-Related Modules Deploying Applications on AWS AWS IAM Credentials AWS EC2 AWS SQS queues AWS CloudWatch metrics AWS Application Load Balancer AWS Lambda functions AWS X-Ray