fari: To do, to make (eo) — Lighthouses (it)
Fari downloads and prepares fresh, ready-to-hack Pharo images for you, so you can forget about the usual setup dance: get image, run it, open workspace, juggle windows, copy-paste, do-it, save image under new name…
$ git clone [email protected]/$user/$repo.git
$ cd $repo
$ fari.sh build
$ fari.sh runDrop or link
fari.sh in
your $PATH.
To have code automatically loaded in the fresh image, add a load.st file
containing the needed code snippet in your project, typically something like:
"load.st"
Metacello new baseline: 'Foo';
repository: 'gitlocal://./src';
load.This will generate a pharo.1c0ffee.image file. The hex suffix comes from the
downloaded snapthot and identifies which sources file matches the image.
Named images: Instead of load.st, you can also use a named load script,
e.g. foo.load.st, resulting in a matching foo.*.image. Several named
images can be generated, each with specific settings, by having as many named
load scripts. If present, load.st is loaded before the named load script of
each image; this is useful for sharing configuration in all named images.
Personal settings: any existing local.st or foo.local.st files get
loaded after the load scripts; those are intended for loading personal tools
and settings, and should thus be left out of version control.
Environment variables: Fari takes a few environment variables into account. We recommend direnv to make any setting persistent and project-specific.
PHARO_PROJECT: image name used in the absence of a named load script;
defaults to pharo.
PHARO: name of the Pharo VM command-line executable. Defaults to pharo,
assuming that you have it in your $PATH. If you get your VMs from
get.pharo.org, set it to ./pharo.
PHARO_VERSION: Pharo release, as used in the get.pharo.org URLs;
defaults to 80.
PHARO_FILES: URL prefix for downloading the image; defaults to
http://files.pharo.org/get-files/${PHARO_VERSION}.
PHARO_IMAGE_FILE: Name of the image distribution file to download; defaults
to pharo64.zip but would be pharo.zip for 32-bit images.
The Fari source is available on Github, and is released under the MIT license. See the Docco generated docs for more information: https://cdlm.github.io/fari.sh