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.
Dynamically getting version number from brew formula
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment