Skip to content
This repository

A tasty build tool for Clojure.

README.md

NOTE:

cake and lein have joined forces, and starting with Lein 2.0, we plan to move all Flatland projects to lein.

Read this for more info: https://groups.google.com/forum/#!topic/clojure/WnnQIZipG5E

Lein is located here: https://github.com/technomancy/leiningen

Also, if you're interested, you can join the Leiningen mailing (http://groups.google.com/group/leiningen) and join us in #leiningen on irc.freenode.com too. There is also a wiki page for brainstorming version 2.0 changes (https://github.com/technomancy/leiningen/wiki/VersionTwo).


cake is a Clojure development environment for your command line. It is a build tool, a repl, a package manager, a script launcher, and a deployment tool mixed together and baked into a single, delicious command, cake.

You can use cake with any editor, but it goes especially well with emacs, vi, and textmate. cake is cross-platform. It works on OS X, Linux and Windows. Also, unlike most other JVM-based command line tools, it is fast!

Installation

There are two ways to get Cake. If you are a user, the standalone script is easiest. If you want to help with cake development though, you should check out the develop branch of the git repository. You can always access the stable version of cake, even when running from git, by adding the -S flag to your command.

Standalone script (stable)

Make sure ~/bin/ is in your $PATH, then execute the following command:

curl http://ninjudd.com/cake-releases/cake -o ~/bin/cake && chmod +x ~/bin/cake

Git repository (development)

git clone git://github.com/flatland/cake.git

Symlink bin/cake into your $PATH.

Cake will bootstrap itself the first time it starts up.

Getting Started

Cake is compatible with most Leiningen project.clj files, so if you already have a project.clj, you're probably ready to go. Just install Cake and then type cake in your project root for a list of tasks.

If you don't yet have a project.clj file, creating one is simple. Here's an example:

(defproject jiraph "0.2.7"
  :description "Embedded graph db library for Clojure."
  :url "http://jiraph.org"
  :tasks [protobuf.tasks]
  :dependencies [[clojure "1.2.0"]
                 [clojure-contrib "1.2.0"]
                 [clojure-useful "0.2.1"]
                 [clojure-protobuf "0.3.0"]
                 [tokyocabinet "1.2.3"]])

Get a list of available commands

cake help

Get detailed help on a single command

cake help command-name

Start an interactive repl with command history and tab completion:

cake repl

Run a clojure script

cake run path/to/script.clj

Create a new project in the current directory

cake new project-name

Help

For more detailed documentation, see the wiki. For questions and help, join us in #flatland on irc or send a message to the clojure-cake google group.

Contributors

YourKit

YourKit's Java Profiler was a terrific help to us in finding classloader memory leaks when we switched Cake to use a single JVM with a separate project classloader.

YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.

Something went wrong with that request. Please try again.