Commit ea705f959794619811addcfc7ceff55217f8b36b

Added rake task to generate a gem and publish it in rubyforge

Commit diff

.gitignore

 
1*~
2*.o
3*.so*
4*.a
toggle raw diff

Rakefile

 
1require 'rake'
2require 'rake/testtask'
3require 'rake/rdoctask'
4require 'rake/gempackagetask'
5
6require 'tasks/all_tasks'
7
toggle raw diff

tasks/all_tasks.rb

 
1Dir["#{File.dirname(__FILE__)}/*.rake"].each { |ext| load ext }
toggle raw diff

tasks/distribution.rake

 
1
2
3PROJECT_NAME = PKG_NAME = 'rust'
4
5PKG_VERSION = "2008.1"
6PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
7
8desc 'Generate RDoc'
9rd = Rake::RDocTask.new do |rdoc|
10 rdoc.rdoc_dir = 'doc/output/rdoc'
11 rdoc.options << '--title' << 'Docurb' << '--line-numbers' <<
12 '--inline-source' << '--accessor' << 'delegate' << '--main' << 'README'
13 rdoc.rdoc_files.include('README', 'COPYING', 'lib/*.rb', 'lib/rust/**/*.rb')
14end
15
16spec = Gem::Specification.new do |s|
17 s.name = PKG_NAME
18 s.version = PKG_VERSION
19 s.summary = 'Rust is a Ruby extensions generator'
20 s.description = <<-end_description
21Rust is a Ruby extensions generator, designed to allow easy generation of Ruby extensions based on C++ libraries (but not limited to).
22 end_description
23
24 s.files = FileList[
25 '[A-Z]*',
26 'lib/*.rb',
27 'lib/rust/*.rb',
28 'lib/rust/templates/*.rusttpl',
29 'include/*.hh'
30 ].to_a
31
32# s.add_dependency("")
33 s.autorequire = 'rust'
34 s.author = ["Diego Pettenò"]
35 s.email = "flameeyes@gmail.com"
36 s.homepage = "http://rust.rubyforge.org"
37 s.rubyforge_project = "rust"
38end
39
40desc 'Generate Docurb Gem'
41Rake::GemPackageTask.new(spec) do |pkg|
42 pkg.need_zip = true
43 pkg.need_tar = true
44end
45
46desc 'Publish Docurb packages on RubyForge'
47task :publish_rust_packages => [:verify_user, :package] do
48 release_files = FileList[
49 "pkg/#{PKG_FILE_NAME}.gem",
50 "pkg/#{PKG_FILE_NAME}.tgz",
51 "pkg/#{PKG_FILE_NAME}.zip"
52 ]
53 require 'meta_project'
54 require 'rake/contrib/xforge'
55
56 Rake::XForge::Release.new(MetaProject::Project::XForge::RubyForge.new(PROJECT_NAME)) do |xf|
57 xf.user_name = ENV['RUBYFORGE_USER']
58 xf.files = release_files.to_a
59 xf.release_name = "rust #{PKG_VERSION}"
60 end
61end
toggle raw diff