The manifest file is used to automate version scraping. All Ruby stacks are unique. You might have JRuby instead of Ruby or MongoDB instead of Postgres. Or you could have all technologies running at once. It really doesn’t matter as long as you configure your manifest file. Hakiri Toolbelt can generate a generic manifest file with the following command:

$ hakiri manifest:generate

This will generate a manifest.json file in your current directory. It will contain all technologies supported by Hakiri. You can choose the ones you need by editing this file.

Custom Commands

The manifest file has two more options that you can use. The first one is the command. You can specify which command in your system returns a proper version of the technology. For example, if you are running Hakiri under Ruby MRI but want to get a version of JRuby, you might add this line to the manifest file:

"jruby": { "command": "/Users/deploy/.rbenv/versions/jruby-1.7.4/bin/jruby -v" }

It will force Hakiri Toolbelt to run your custom command when scraping the version of JRuby.

Specific Version

In some situations you’ll want to overwrite your system version that Hakiri Toolbelt scrapes with something different. It’s very simple to do:

"ruby": { "version": "1.9.3.429" }

This will set the version of Ruby in your stack to 1.9.3p429. It’s important to notice that all versions have to be recorded in the following formats: x.x.x or x.x.x.x. For example, Java 6 Update 43 should be recorded as 1.6.0.43. To learn more about version formats and available technologies check out another section of Hakiri documentation.