• This repository has been archived on 14/Dec/2017
  • Stars
    star
    171
  • Rank 222,266 (Top 5 %)
  • Language
    Clojure
  • License
    Eclipse Public Li...
  • Created over 14 years ago
  • Updated over 12 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A tasty build tool for Clojure.

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.

More Repositories

1

drip

Fast JVM launching without the hassle of persistent JVMs.
Shell
1,545
star
2

clojure-protobuf

Google protocol buffers wrapper for Clojure.
Clojure
217
star
3

jiraph

A graph database with pluggable backends, written in Clojure.
Clojure
137
star
4

classlojure

Advanced classloading for clojure.
Clojure
93
star
5

ring-async

Ring adapter supporting asynchronous responses using core.async channels.
Clojure
49
star
6

memcache

Advanced ruby memcache client
Ruby
48
star
7

eventual

Server-Sent Event and EventSource helpers for core.async.
Clojure
47
star
8

record_cache

Active Record caching and indexing in memcache. An alternative to cache_fu
Ruby
39
star
9

clojure-complete

Standalone Clojure completion library adapted from swank-clojure.
Clojure
35
star
10

wakeful

restful routing alternative for Clojure
Clojure
27
star
11

rupture

Ruby + Clojure
Ruby
19
star
12

lein-protobuf

Leiningen plugin for compiling google protocol buffers.
Clojure
18
star
13

action_flow

A state-machine inspired mixin for controllers that makes creating flows and wizards really simple.
Ruby
14
star
14

priority_queue

A simple priority queue for Ruby
Ruby
10
star
15

masai

Key-value database for Clojure with pluggable backends.
Clojure
10
star
16

method_cache

Powerful memcache-based memoization library for Ruby
Ruby
9
star
17

portal

A unified REPL and command server for Clojure.
Clojure
7
star
18

minisphinx

A simple Sphinx indexing library for Ruby.
Ruby
7
star
19

model_set

Easy manipulation of sets of ActiveRecord models
Ruby
7
star
20

ordered-collections

A Clojure set that maintains the insertion order of its contents.
Java
7
star
21

tokyocabinet

native tokyo cabinet libraries
C
7
star
22

active_document

Active models in Berkeley DB.
Ruby
6
star
23

cache_version

Store the version of any class for cache invalidation
Ruby
6
star
24

io

Clojure I/O utils.
Clojure
6
star
25

pg_queue

A ruby interface to skytools-pgq.
Ruby
5
star
26

deep_clonable

Deep cloning magic for Ruby objects.
Ruby
5
star
27

multi_table_inheritance

A Rails plugin that adds multi-table inheritance support using Postgres inheritance.
Ruby
5
star
28

deferrable

Simple extension for deferring method calls.
Ruby
5
star
29

github-uploader

Add file attachment capabilities to Github:issues and wikis.
JavaScript
4
star
30

retro

A protocol for revisioned transactions in Clojure.
Clojure
4
star
31

uncle

A lancet-inspired ant library for clojure.
Clojure
4
star
32

ordered_set

Like Set except it maintains the order of objects
Ruby
4
star
33

sqleton

a sql migration framework for clojure
Clojure
3
star
34

nested_transactions

Support for nested transactions in Rails (Postgres and MySQL)
Ruby
3
star
35

phonograph

A round-robin database, based on graphite's whisper.
Clojure
3
star
36

markdone-mode

Add todos to markdown-mode.
Emacs Lisp
3
star
37

grammer

Yammer notifications with Growl.
Clojure
3
star
38

icunicode

ICU Unicode Transliteration and Collation in Ruby.
C
3
star
39

replicator

Easy Postgres replication for Rails
Ruby
3
star
40

depot

A place for storing goods or motor vehicles.
Clojure
2
star
41

romp

A Stomp client library for Ruby.
Ruby
2
star
42

functor

Advanced functional stubbing in Ruby
2
star
43

meta

Ruby meta programming helpers.
Ruby
2
star
44

colorized

Cross application color theme generator inspired by Solarized.
Ruby
2
star
45

anti_object

Invert any object
Ruby
2
star
46

telegraph

A library that lets you build beautiful dashboards for telemetry and turntable.
JavaScript
2
star
47

ninjudd.github.com

HTML
1
star
48

test

test
1
star
49

try_git

1
star
50

resting

All I need is a place to lay my head.
JavaScript
1
star
51

cache_machine

Coming soon: A Rails engine for quick, convenient caching.
1
star
52

github-issues-plus

A simple github issues viewer that supports grouping by assignee and milestone.
Ruby
1
star
53

cake-marginalia

A Marginalia plugin to Cake
Clojure
1
star
54

yammerbot

Everyone's favorite Yammer irc bot.
Clojure
1
star
55

ego

Because your identity is important.
Clojure
1
star
56

ruminate

A map-reduce layer for jiraph.
Clojure
1
star