Skip to content

Commit bded235

Browse files
committed
Updated Rakefile
1 parent 74e3301 commit bded235

File tree

2 files changed

+75
-16
lines changed

2 files changed

+75
-16
lines changed

Rakefile

Lines changed: 73 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,85 @@
1+
2+
require 'rubygems'
3+
require 'rake/clean'
4+
require 'rake/gempackagetask'
5+
require 'fileutils'
6+
include FileUtils
7+
18
begin
2-
require 'echoe'
9+
require 'hanna/rdoctask'
310
rescue LoadError
4-
abort "You'll need to have `echoe' installed to use Net::SSH::Multi's Rakefile"
11+
require 'rake/rdoctask'
512
end
613

7-
require './lib/net/ssh/multi/version'
814

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}}
1253
end
1354

14-
Echoe.new('net-ssh-multi', version) do |p|
15-
p.changelog = "CHANGELOG.rdoc"
1655

17-
p.author = "Jamis Buck"
18-
p.email = "[email protected]"
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+
2173

22-
p.dependencies = ["net-ssh >=1.99.2", "net-ssh-gateway >=0.99.0"]
2374

24-
p.need_zip = true
25-
p.include_rakefile = true
75+
# RUBY DOCS TASK ==================================
2676

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')
2885
end

test/test_all.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# $ ruby -Ilib -Itest -rrubygems test/test_all.rb
2+
# $ ruby -Ilib -Itest -rrubygems test/channel_test.rb
13
Dir["#{File.dirname(__FILE__)}/**/*_test.rb"].each do |file|
24
load(file)
35
end

0 commit comments

Comments
 (0)