Files
cappuccino/External/Rakefile
T

54 lines
1.3 KiB
Ruby

#!/usr/bin/env ruby
require '../common'
require 'objective-j'
require 'rake'
require 'rake/clean'
require 'fileutils'
$ENVIRONMENT_NARWHAL_PRODUCT = $ENVIRONMENT_DIR
$ENVIRONMENT_PACKAGES_PRODUCT = File.join($ENVIRONMENT_NARWHAL_PRODUCT, 'packages')
$EXTERNALS = ['browserjs', 'jack', 'narwhal', 'ojunit']
$PACKAGES = ['browserjs', 'jack']
def git_export(source, dest)
dest = File.join(File.expand_path(dest), '');
system %{cd "#{source}" && git checkout-index -a -f "--prefix=#{dest}"}
end
file_d $ENVIRONMENT_DIR do
mkdir_p $ENVIRONMENT_DIR
end
task :update_submodules do
if !ENV['NOSUBUP'] then
if executable_exists? "git"
system %{cd .. && git submodule init && git submodule update}
else
puts "Git not installed"
rake abort
end
end
end
task :build => [:update_submodules, $ENVIRONMENT_DIR] do
rm_rf($ENVIRONMENT_NARWHAL_PRODUCT)
git_export('narwhal', $ENVIRONMENT_NARWHAL_PRODUCT)
$PACKAGES.each do |package|
git_export(package, File.join($ENVIRONMENT_PACKAGES_PRODUCT, package))
end
symlink_executable(File.join($ENVIRONMENT_PACKAGES_PRODUCT, 'jack', 'bin', 'jackup'))
end
CLOBBER.include($ENVIRONMENT_NARWHAL_PRODUCT)
task :pull do
$EXTERNALS.each do |external|
system "cd #{external} && git pull origin master"
end
end