Skip to content

Instantly share code, notes, and snippets.

@fuJiin
Created April 24, 2011 07:31
Show Gist options
  • Select an option

  • Save fuJiin/939391 to your computer and use it in GitHub Desktop.

Select an option

Save fuJiin/939391 to your computer and use it in GitHub Desktop.

Revisions

  1. fuJiin created this gist Apr 24, 2011.
    55 changes: 55 additions & 0 deletions cake.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,55 @@
    require 'formula'

    class CakeVersion < Formula
    url "http://releases.clojure-cake.org/stable"
    md5 "97c9b20d32252391f3a49c85fa23e0d9"
    version "dynamic"

    def self.get
    new.brew do
    File.read "stable"
    end
    end
    end

    CAKE_VERSION = CakeVersion.get unless defined? CAKE_VERSION

    # Downloads executable
    class CakeExecutable < Formula
    url "http://releases.clojure-cake.org/cake"
    md5 "543cad9af089f77a3cd9b0d58020e365"
    version CAKE_VERSION
    end

    # Cake jars, installs executable
    class Cake < Formula
    url "http://releases.clojure-cake.org/jars/cake-#{CAKE_VERSION}.jar"
    head "git://github.com/ninjudd/cake.git", :using => :git
    homepage "https://github.com/ninjudd/cake"
    md5 "cf570ef6301800515cf36301a322c383"

    def install
    if ARGV.build_head?
    bin.install "bin/cake" # only need executable if HEAD
    else
    libexec.install "cake-#{CAKE_VERSION}.jar" => "cake.jar"

    # extract bake.jar
    libexec.cd do
    system "jar xf cake.jar bake.jar"
    end

    # get executable
    CakeExecutable.new.brew do
    bin.install "cake"
    end
    end
    end

    def caveats; <<-EOS.undent
    Using snapshot version. Standalone jar and dependencies will be installed to:
    $HOME/.m2/repository
    the first time cake is run.
    EOS
    end if ARGV.build_head?
    end