basHog is a dependency manager for bash and it allows you to use other projects in your own project.
Prerequisites
- You have a
bash
shell. - You have either
git
,curl
orwget
There are three quick start options available:
On Linux
- Using
apt-get
:
$ sudo add-apt-repository ppa:athena-oss/athena
$ sudo apt-get update
$ sudo apt-get install bashog
On MAC OSX
- Using Homebrew :
$ brew tap athena-oss/tap
$ brew install bashog
Alternative
- Download the latest release
- Clone the repo:
git clone https://github.com/athena-oss/bashog.git
basHog fetches dependencies specified in a file called feed.hog
that must be located at the root of your project. This file uses the INI file format with sections.
A dependency is identified by a section header and it is configured by the properties that are specified in that section. There are 3 available properties for a dependency :
- url - it identifies the url where the dependency can be fetched, e.g.:
# retrieves the dependency from master
[email protected]:athena-oss/bashunit.git
or
# using this format you are required to specify the version property
url=athena-oss/bashunit
- lib_dir - the relative location inside the project where the libraries are located, e.g.:
lib_dir=lib
- version - the version of the dependency
version=0.3.0
[bashunit]
[email protected]:athena-oss/bashunit.git
lib_dir=lib
[bashunit]
url=athena-oss/bashunit
version=0.3.0
lib_dir=lib
At the root of your project (where the feed.hog
file is located), run the following command :
$ bashog
...
source "./vendor/autoloader.sh"
bashunit.utils.print_info "Hello world!"
...
Checkout our guidelines on how to contribute in CONTRIBUTING.md.
Releases are managed using github's release feature. We use Semantic Versioning for all the releases. Every change made to the code base will be referred to in the release notes (except for cleanups and refactorings).
Licensed under the Apache License Version 2.0 (APLv2).