require 'rubygems' require 'rake' require 'rake/clean' require 'rake/testtask' require 'rake/packagetask' require 'rake/gempackagetask' require 'rake/rdoctask' require 'rake/contrib/rubyforgepublisher' require 'fileutils' include FileUtils AUTHOR = "cho45" EMAIL = "cho45@lowreal.net" DESCRIPTION = "Generate new Ruby/Cocoa Application skelton." RUBYFORGE_PROJECT = "newcocoa" HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org" BIN_FILES = %w( newcocoa ) #REV = `svn info`[/Revision: (\d+)/, 1] #VERS = '0.0.1' + (REV ? ".#{REV}" : '') VERS = '0.0.4' NAME = "newcocoa" CLEAN.include ['**/.*.sw?', '*.gem', '.config'] RDOC_OPTS = ['--quiet', '--title', "newcocoa documentation", "--opname", "index.html", "--line-numbers", "--main", "README", "--inline-source"] desc "Packages up newcocoa gem." task :default => [:test] task :package => [:clean] Rake::TestTask.new("test") { |t| t.libs << "test" t.pattern = "test/**/*_test.rb" t.verbose = true } spec = Gem::Specification.new do |s| s.name = NAME s.version = VERS s.platform = Gem::Platform::RUBY s.has_rdoc = true s.extra_rdoc_files = ["README", "CHANGELOG"] s.rdoc_options += RDOC_OPTS + ['--exclude', '^(examples|extras)/'] s.summary = DESCRIPTION s.description = DESCRIPTION s.author = AUTHOR s.email = EMAIL s.homepage = HOMEPATH s.executables = BIN_FILES s.rubyforge_project = RUBYFORGE_PROJECT s.bindir = "bin" s.require_path = "lib" s.autorequire = "newcocoa" #s.add_dependency('activesupport', '>=1.3.1') #s.required_ruby_version = '>= 1.8.2' s.files = %w(README CHANGELOG Rakefile) + Dir.glob("{bin,doc,test,lib,templates,generator,extras,website,script}/**/*") + Dir.glob("ext/**/*.{h,c,rb}") + Dir.glob("examples/**/*.rb") + Dir.glob("tools/*.rb") # s.extensions = FileList["ext/**/extconf.rb"].to_a end Rake::GemPackageTask.new(spec) do |p| p.need_tar = true p.gem_spec = spec end task :install do name = "#{NAME}-#{VERS}.gem" sh %{rake package} sh %{sudo gem install pkg/#{name}} end task :uninstall => [:clean] do sh %{sudo gem uninstall #{NAME}} end