This section covers using Qi for a single project.
The only requirement to installing a systems dependencies with Qi, is a
qi.yaml specifies a projects dependencies. For an example of what this looks like, checkout out Qi’s qi.yaml .
Two required pieces to the
qi.yaml are name and packages . So a basic project would look like this:
name: my-project packages: - name: alexandria - name: clack url: https://github.com/fukamachi/clack/archive/master.tar.gz - name: cl-pass url: https://github.com/eudoxia0/cl-pass.git
Above there are three types of packages: Manifest, tarball, and git.
- Manifest : "Known" packages from the Qi manifest .
- Tarball : An HTTP URL to tarball.
- Git : A git repository. You can also specify a tag or hash.
- Mercurial : A link to a mercurial repository.
- Local : TODO, but you will be able to put a local path.
With the above qi.yaml in your project, you can run the following to install and load the systems:
* (load "myproject.asd") * (qi:install :myproject)
Qi take’s care of any transitive dependencies and will let you know of any that it could not install. In a case where Qi can not install some dependencies, add direct links to those packages in your