|
| 1 | + |
| 2 | +require 'rubygems' |
| 3 | +require 'rake/clean' |
| 4 | +require 'rake/gempackagetask' |
| 5 | +require 'fileutils' |
| 6 | +include FileUtils |
| 7 | + |
1 | 8 | begin
|
2 |
| - require 'echoe' |
| 9 | + require 'hanna/rdoctask' |
3 | 10 | rescue LoadError
|
4 |
| - abort "You'll need to have `echoe' installed to use Net::SSH::Multi's Rakefile" |
| 11 | + require 'rake/rdoctask' |
5 | 12 | end
|
6 | 13 |
|
7 |
| -require './lib/net/ssh/multi/version' |
8 | 14 |
|
9 |
| -version = Net::SSH::Multi::Version::STRING.dup |
10 |
| -if ENV['SNAPSHOT'].to_i == 1 |
11 |
| - version << "." << Time.now.utc.strftime("%Y%m%d%H%M%S") |
| 15 | +task :default => :package |
| 16 | + |
| 17 | +# CONFIG ============================================================= |
| 18 | + |
| 19 | +# Change the following according to your needs |
| 20 | +README = "README.rdoc" |
| 21 | +CHANGES = "CHANGELOG.rdoc" |
| 22 | +THANKS = '' |
| 23 | + |
| 24 | +# Files and directories to be deleted when you run "rake clean" |
| 25 | +CLEAN.include [ 'pkg', '*.gem', '.config', 'doc'] |
| 26 | + |
| 27 | +# Virginia assumes your project and gemspec have the same name |
| 28 | +name = 'net-ssh-multi' |
| 29 | +load "#{name}.gemspec" |
| 30 | +version = @spec.version |
| 31 | + |
| 32 | +# That's it! The following defaults should allow you to get started |
| 33 | +# on other things. |
| 34 | + |
| 35 | + |
| 36 | +# TESTS/SPECS ========================================================= |
| 37 | + |
| 38 | + |
| 39 | + |
| 40 | +# INSTALL ============================================================= |
| 41 | + |
| 42 | +Rake::GemPackageTask.new(@spec) do |p| |
| 43 | + p.need_tar = true if RUBY_PLATFORM !~ /mswin/ |
| 44 | +end |
| 45 | + |
| 46 | +task :build => [ :package ] |
| 47 | +task :release => [ :rdoc, :package ] |
| 48 | +task :install => [ :rdoc, :package ] do |
| 49 | + sh %{sudo gem install pkg/#{name}-#{version}.gem} |
| 50 | +end |
| 51 | +task :uninstall => [ :clean ] do |
| 52 | + sh %{sudo gem uninstall #{name}} |
12 | 53 | end
|
13 | 54 |
|
14 |
| -Echoe.new('net-ssh-multi', version) do |p| |
15 |
| - p.changelog = "CHANGELOG.rdoc" |
16 | 55 |
|
17 |
| - p.author = "Jamis Buck" |
18 |
| - |
19 |
| - p.summary = "Control multiple Net::SSH connections via a single interface" |
20 |
| - p.url = "http://net-ssh.rubyforge.org/multi" |
| 56 | +# RUBYFORGE RELEASE / PUBLISH TASKS ================================== |
| 57 | + |
| 58 | +if @spec.rubyforge_project |
| 59 | + desc 'Publish website to rubyforge' |
| 60 | + task 'publish:rdoc' => 'doc/index.html' do |
| 61 | + sh "scp -r doc/* rubyforge.org:/var/www/gforge-projects/#{name}/ssh/v2/api/" |
| 62 | + end |
| 63 | + |
| 64 | + desc 'Public release to rubyforge' |
| 65 | + task 'publish:gem' => [:package] do |t| |
| 66 | + sh <<-end |
| 67 | + rubyforge add_release -o Any -a #{CHANGES} -f -n #{README} #{name} #{name} #{@spec.version} pkg/#{name}-#{@spec.version}.gem && |
| 68 | + rubyforge add_file -o Any -a #{CHANGES} -f -n #{README} #{name} #{name} #{@spec.version} pkg/#{name}-#{@spec.version}.tgz |
| 69 | + end |
| 70 | + end |
| 71 | +end |
| 72 | + |
21 | 73 |
|
22 |
| - p.dependencies = ["net-ssh >=1.99.2", "net-ssh-gateway >=0.99.0"] |
23 | 74 |
|
24 |
| - p.need_zip = true |
25 |
| - p.include_rakefile = true |
| 75 | +# RUBY DOCS TASK ================================== |
26 | 76 |
|
27 |
| - p.rdoc_pattern = /^(lib|README.rdoc|CHANGELOG.rdoc)/ |
| 77 | +Rake::RDocTask.new do |t| |
| 78 | + t.rdoc_dir = 'doc' |
| 79 | + t.title = @spec.summary |
| 80 | + t.options << '--line-numbers' << '-A cattr_accessor=object' |
| 81 | + t.options << '--charset' << 'utf-8' |
| 82 | + t.rdoc_files.include(README) |
| 83 | + t.rdoc_files.include(CHANGES) |
| 84 | + t.rdoc_files.include('lib/**/*.rb') |
28 | 85 | end
|
0 commit comments