root/plugins/jerbivore/Rakefile

Revision 893, 2.2 kB (checked in by dudl..@misnomer.us, 1 year ago)

Fix missing files in the Rakefile

Line 
1 require 'rubygems'
2 require 'rake/gempackagetask'
3 require 'rake/clean'
4 require 'spec/rake/spectask'
5
6 jar = 'lib/java/jerbivore.jar'
7 CLEAN.include(jar, 'pkg')
8
9 version = '0.0.1'
10
11 gemspec = Gem::Specification.new do |s|
12   s.name = 'jerbivore'
13   s.version = version
14   s.platform = 'java'
15   s.has_rdoc = true
16   s.summary = 'Merb + JRuby = Slightly less painful Java web apps'
17   s.description = s.summary
18   s.author = 'Dudley Flanders'
19   s.email = 'dudley@misnomer.us'
20   s.homepage = ''
21   s.add_dependency 'Antwrap'
22   s.requirements << 'merb'
23   s.require_path = 'lib'
24   s.autorequire = 'jerbivore'
25   files = FileList.new(%w[LICENSE Rakefile])
26   files.include('{ext,jetty,lib,spec}/**/*')
27   files.include(jar)
28   files.exclude('spec/fixtures/fake-app/**/*')
29   s.files = files
30 end
31
32 Rake::GemPackageTask.new(gemspec) do |pkg|
33   pkg.gem_spec = gemspec
34 end
35
36 desc 'Run all specs'
37 Spec::Rake::SpecTask.new('specs') do |t|
38   t.spec_opts = ['--format', 'specdoc', '--colour']
39   t.spec_files = Dir['spec/**/*_spec.rb'].sort
40 end
41
42
43 task :clean => ['java:clean']
44 file jar => ['java:jar']
45 task :gem => jar
46
47 namespace :java do
48   desc "Run the merb-servlet's clean Ant task"
49   task :clean do
50     sh "ant -f ext/merb-servlet/build.xml clean"
51   end
52
53   desc "Run the merb-servlet's jar Ant task to create jerbivore.jar"
54   task :jar do
55     sh "ant -f ext/merb-servlet/build.xml jar"
56   end 
57 end
58
59 namespace :test do
60   namespace :app do
61     desc "Generate a Merb app for testing"
62     task :setup => :gem do
63       mkdir_p test
64       cd "spec/fixtures" do
65         rm_rf "fake-app"
66         system "jruby -S merb -g fake-app"
67         system "jruby -S gem install -i fake-app/gems ../../pkg/jerbivore-#{version}-java.gem"
68         File.open("fake-app/config/dependencies.rb", "a") {|f| f << "\ndependency 'jerbivore'\n"}
69         File.open("fake-app/config/merb.yml", "a") {|f| f << "\n:path_prefix: '/fake-app'\n"}
70       end
71      
72       cd "spec/fixtures/fake-app" do
73         system "jruby -S rake jerbivore:war"
74       end
75     end
76    
77     desc "Update the fake app's jerbivore installation"
78     task :update => :gem do
79       cd "spec/fixtures" do
80         system "jruby -S gem install -i fake-app/gems ../../pkg/jerbivore-#{version}-java.gem"
81       end
82     end
83   end
84 end
Note: See TracBrowser for help on using the browser.