Because of a name clash with another project called Carton (see https://github.com/rejeep/cask.el/issues/20), the project have changed name to Cask.
With this new release, there are a lot of new awesome features (> 150 commits), but let’s get rid of the boring stuff first, migration.
Migration is simple and should just take a minute or two.
cask command instead of the carton commandIf your Emacs configuration dependes on carton, depend on cask instead:
(depends-on "carton") => (depends-on "cask")
Carton to Cask~/.carton) to ~/.cask (don’t forget to update the path in you shell config)(And ohh, don’t forget to update your .travis.yml and .gitignore files)
Who remember the URL to a package archive? I never do. So instead of:
(source "melpa" "http://melpa.milkbox.net/packages/")
use the alias:
(source melpa)
The README contains a list of all pre defined sources: https://github.com/rejeep/cask.el/#source
Some projects have a binary command, for example
Ecukes,
Ert runner and this Cask of
course. To avoid writing a Makefile like this:
ECUKES = $(shell find elpa/ecukes-*/ecukes | tail -1)
test:
    cask exec ${ECUKES} features
.PHONY: test
All projects that have a directory called bin are added to PATH
when running cask exec. So the Makefile now becomes:
test:
    cask exec ecukes features
.PHONY: test
Until this point, Cask supported Emacs 23 and Emacs 24. Now we also
support Emacs snapshot and we do it using
@lunaryorn’s excellent EPL package
(which at the moment is bundled in the Cask source). If you ever want
to use some function in package.el, do it via EPL.
Previously, all project dependencies were located in a directory
called elpa in the project root. This directory has changed name to
.cask.
That’s not it. Now each version has its own sub directory in
.cask. Here’s an example from Ecukes:
$ tree -d .cask
.cask
|-- 23.4.1
|   |-- elpa
|       |-- ansi-20121008.1920
|       |-- archives
|       |   |-- melpa
|       |-- dash-20130712.2307
|       |-- el-mock-20121004.2057
|       |-- s-20130617.1851
|-- 24.3.1
    |-- elpa
        |-- ansi-20121008.1920
        |-- archives
        |   |-- melpa
        |-- dash-20130712.2307
        |-- el-mock-20121004.2057
        |-- s-20130617.1851
To avoid the pain of BASH and make it easier to add support for more
platforms, the cask binary have been implemented in Emacs Lisp.
Next up is release v0.5. Check out what’s included:
https://github.com/rejeep/cask.el/issues?milestone=2&state=open