summaryrefslogtreecommitdiff
path: root/Rakefile
diff options
context:
space:
mode:
authordelano <delano.mandelbaum@gmail.com>2013-02-06 08:01:19 -0800
committerdelano <delano.mandelbaum@gmail.com>2013-02-06 08:01:19 -0800
commitec1a6b7548de07d1681fb315d0996f2747e2e2d9 (patch)
tree0b523d8ca00b6b583fab5256fbde07b97bfab1fc /Rakefile
parent445924cd35c11eeccc1486c8e942444f88289d34 (diff)
downloadnet-ssh-multi-ec1a6b7548de07d1681fb315d0996f2747e2e2d9.tar.gz
Updated Rakefile and gemspec
Diffstat (limited to 'Rakefile')
-rw-r--r--Rakefile126
1 files changed, 50 insertions, 76 deletions
diff --git a/Rakefile b/Rakefile
index d959b21..9907147 100644
--- a/Rakefile
+++ b/Rakefile
@@ -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