nex3 / jabl

Javascript Abstraction Language

jabl / Rakefile
76961a37 » nex3 2008-08-17 Packaging support. 1 require 'rubygems'
2 require 'rake'
3
4 require 'rake/gempackagetask'
5 load 'jabl.gemspec'
6
c83a0ad6 » nex3 2008-08-30 Add Rake tasks for updating... Comment 7 # --- Packaging ---
8
76961a37 » nex3 2008-08-17 Packaging support. 9 Rake::GemPackageTask.new(JABL_GEMSPEC) do |pkg|
10 pkg.need_tar_gz = Rake.application.top_level_tasks.include?('release')
11 end
12
13 desc "Install Jabl as a gem."
14 task :install => [:package] do
15 sudo = RUBY_PLATFORM =~ /win32/ ? '' : 'sudo'
16 sh %{#{sudo} gem install pkg/jabl-#{File.read('VERSION').strip}}
17 end
18
19 desc "Release a new Jabl package to Rubyforge. Requires the NAME and VERSION flags."
20 task :release => [:package] do
21 name, version = ENV['NAME'], ENV['VERSION']
22 raise "Must supply NAME and VERSION for release task." unless name && version
23 sh %{rubyforge login}
24 sh %{rubyforge add_release jabl jabl "#{name} (v#{version})" pkg/jabl-#{version}.gem}
25 sh %{rubyforge add_file jabl jabl "#{name} (v#{version})" pkg/jabl-#{version}.tar.gz}
26 end
c83a0ad6 » nex3 2008-08-30 Add Rake tasks for updating... Comment 27
28 # --- Jabl::RKelly management ---
29
30 desc "Update the jabl-rkelly submodule."
31 task :update_submodule do
32 sh 'git submodule init'
33 sh 'git submodule update'
34 end
35
36 desc "Build the generated Jabl::RKelly parser."
37 task :parser do
38 Dir.chdir('vendor/jabl-rkelly')
39 sh 'rake parser'
40 Dir.chdir(File.dirname(__FILE__))
41 end
42
43 desc "Update Jabl::RKelly and build the parser."
44 task :update => [:update_submodule, :parser]
45
46 Rake::Task[:package].prerequisites << :update