diff options
Diffstat (limited to 'Rakefile')
-rw-r--r-- | Rakefile | 126 |
1 files changed, 50 insertions, 76 deletions
@@ -1,85 +1,59 @@ +require "rubygems" +require "rake" +require "rake/clean" +require "rdoc/task" -require 'rubygems' -require 'rake/clean' -require 'rake/gempackagetask' -require 'fileutils' -include FileUtils +task :default => ["build"] +CLEAN.include [ 'pkg', 'rdoc' ] +name = "net-ssh-multi" + +$:.unshift File.join(File.dirname(__FILE__), 'lib') +require './lib/net/ssh/multi/version' +version = Net::SSH::Multi::Version::STRING.dup begin - require 'hanna/rdoctask' + require "jeweler" + Jeweler::Tasks.new do |s| + s.version = version + s.name = name + s.rubyforge_project = s.name + s.summary = "Control multiple Net::SSH connections via a single interface." + s.description = s.summary + s.email = "net-ssh@solutious.com" + s.homepage = "https://github.com/net-ssh/net-scp" + s.authors = ["Jamis Buck", "Delano Mandelbaum"] + + s.add_dependency 'net-ssh', ">=2.6.4" + s.add_dependency 'net-ssh-gateway', ">=1.1.1" + + s.add_development_dependency 'test-unit' + s.add_development_dependency 'mocha' + + s.license = "MIT" + + s.signing_key = File.join('/mnt/gem/', 'gem-private_key.pem') + s.cert_chain = ['gem-public_cert.pem'] + end + Jeweler::GemcutterTasks.new rescue LoadError - require 'rake/rdoctask' -end - - -task :default => :package - -# CONFIG ============================================================= - -# Change the following according to your needs -README = "README.rdoc" -CHANGES = "CHANGELOG.rdoc" -THANKS = '' - -# Files and directories to be deleted when you run "rake clean" -CLEAN.include [ 'pkg', '*.gem', '.config', 'doc'] - -# Virginia assumes your project and gemspec have the same name -name = 'net-ssh-multi' -load "#{name}.gemspec" -version = @spec.version - -# That's it! The following defaults should allow you to get started -# on other things. - - -# TESTS/SPECS ========================================================= - - - -# INSTALL ============================================================= - -Rake::GemPackageTask.new(@spec) do |p| - p.need_tar = true if RUBY_PLATFORM !~ /mswin/ + puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler" end -task :build => [ :package ] -task :release => [ :rdoc, :package ] -task :install => [ :rdoc, :package ] do - sh %{sudo gem install pkg/#{name}-#{version}.gem} +require 'rake/testtask' +Rake::TestTask.new do |t| + t.libs = ["lib", "test"] end -task :uninstall => [ :clean ] do - sh %{sudo gem uninstall #{name}} -end - - -# RUBYFORGE RELEASE / PUBLISH TASKS ================================== - -if @spec.rubyforge_project - desc 'Publish website to rubyforge' - task 'publish:rdoc' => 'doc/index.html' do - sh "scp -r doc/* rubyforge.org:/var/www/gforge-projects/#{name}/ssh/v2/api/" - end - - desc 'Public release to rubyforge' - task 'publish:gem' => [:package] do |t| - sh <<-end - rubyforge add_release -o Any -a #{CHANGES} -f -n #{README} #{name} #{name} #{@spec.version} pkg/#{name}-#{@spec.version}.gem && - rubyforge add_file -o Any -a #{CHANGES} -f -n #{README} #{name} #{name} #{@spec.version} pkg/#{name}-#{@spec.version}.tgz - end - end -end - - - -# RUBY DOCS TASK ================================== -Rake::RDocTask.new do |t| - t.rdoc_dir = 'doc' - t.title = @spec.summary - t.options << '--line-numbers' << '-A cattr_accessor=object' - t.options << '--charset' << 'utf-8' - t.rdoc_files.include(README) - t.rdoc_files.include(CHANGES) - t.rdoc_files.include('lib/**/*.rb') +extra_files = %w[LICENSE.txt THANKS.txt CHANGES.txt ] +RDoc::Task.new do |rdoc| + rdoc.rdoc_dir = "rdoc" + rdoc.title = "#{name} #{version}" + rdoc.generator = 'hanna' # gem install hanna-nouveau + rdoc.main = 'README.rdoc' + rdoc.rdoc_files.include("README*") + rdoc.rdoc_files.include("bin/*.rb") + rdoc.rdoc_files.include("lib/**/*.rb") + extra_files.each { |file| + rdoc.rdoc_files.include(file) if File.exists?(file) + } end |