0
-require 'rake/testtask'
0
-require 'rake/rdoctask'
0
-require 'rake/contrib/sshpublisher'
0
+if ENV['REBUILD_MANIFEST']
0
+ source_files = FileList.new do |fl|
0
+ [ "lib", "test" ].each do |dir|
0
+ fl.include "#{dir}/**/*"
0
-$LOAD_PATH.unshift "../net-ssh/lib"
0
-require "./lib/net/sftp/version"
0
-PACKAGE_NAME = "net-sftp"
0
-PACKAGE_VERSION = Net::SFTP::Version::STRING.dup
0
-if ENV['SNAPSHOT'].to_i == 1
0
- PACKAGE_VERSION << "." << Time.now.utc.strftime("%Y%m%d%H%M%S")
0
-SOURCE_FILES = FileList.new do |fl|
0
- [ "lib", "test" ].each do |dir|
0
- fl.include "#{dir}/**/*"
0
+ fl.include "History.txt", "Manifest.txt", "README.txt"
0
+ fl.include "Rakefile", "setup.rb"
0
-PACKAGE_FILES = FileList.new do |fl|
0
- [ "api", "doc" ].each do |dir|
0
- fl.include "#{dir}/**/*"
0
- fl.include "NEWS", "LICENSE", "TODO", "#{PACKAGE_NAME}.gemspec"
0
- fl.include "README", "THANKS", "setup.rb"
0
- fl.include SOURCE_FILES
0
-def can_require( file )
0
-task :default => [ :test ]
0
-desc "Build documentation"
0
-task :rdoc => SOURCE_FILES
0
-desc "Clean generated files"
0
-Rake::TestTask.new do |t|
0
- t.test_files = FileList["test/test_*.rb"]
0
-desc "Build a code coverage report"
0
- files = Dir.glob("test/test_*.rb").join(" ")
0
- sh "rcov -o coverage #{files}"
0
-desc "Prepackage warnings and reminders"
0
- unless ENV["OK"] == "yes"
0
- puts "========================================================="
0
- puts "Please check that the following files have been updated"
0
- puts "in preparation for this release:"
0
- puts " NEWS (with latest release notes)"
0
- puts " lib/net/sftp/version.rb (with current version number)"
0
- puts " git tag v#{Net::SFTP::Version::STRING}"
0
- puts "If you are sure these have all been taken care of, re-run"
0
- puts "rake with 'OK=yes'."
0
- puts "========================================================="
0
-desc "Tag the current HEAD with the current release version"
0
- warn "WARNING: this will tag HEAD using the tag v#{Net::SSH::Version::STRING}"
0
- warn "If you do not wish to continue, you have 5 seconds to cancel by pressing CTRL-C..."
0
- 5.times { |i| print "#{5-i} "; $stdout.flush; sleep 1 }
0
- system "git tag v#{Net::SSH::Version::STRING}"
0
-package_name = "#{PACKAGE_NAME}-#{PACKAGE_VERSION}"
0
-package_dir_path = "#{package_dir}/#{package_name}"
0
-gz_file = "#{package_name}.tar.gz"
0
-bz2_file = "#{package_name}.tar.bz2"
0
-zip_file = "#{package_name}.zip"
0
-gem_file = "#{package_name}.gem"
0
-task :gzip => SOURCE_FILES + [ :doc, "#{package_dir}/#{gz_file}" ]
0
-task :bzip => SOURCE_FILES + [ :doc, "#{package_dir}/#{bz2_file}" ]
0
-task :zip => SOURCE_FILES + [ :doc, "#{package_dir}/#{zip_file}" ]
0
-task :gem => SOURCE_FILES + [ "#{package_dir}/#{gem_file}" ]
0
-desc "Build all packages"
0
-task :package => [ :prepackage, :test, :gzip, :bzip, :zip, :gem ]
0
-file package_dir_path do
0
- mkdir_p package_dir_path rescue nil
0
- PACKAGE_FILES.each do |fn|
0
- f = File.join( package_dir_path, fn )
0
- if File.directory?( fn )
0
- mkdir_p f unless File.exist?( f )
0
- dir = File.dirname( f )
0
- mkdir_p dir unless File.exist?( dir )
0
+ File.open("Manifest.txt", "w") do |f|
0
+ source_files.each do |file|
0
+ next if File.directory?(file)
0
-file "#{package_dir}/#{zip_file}" => package_dir_path do
0
- rm_f "#{package_dir}/#{zip_file}"
0
- FileUtils.chdir package_dir do
0
- sh %{zip -r #{zip_file} #{package_name}}
0
+$LOAD_PATH.unshift "../net-ssh/lib"
0
+require './lib/net/sftp/version'
0
-file "#{package_dir}/#{gz_file}" => package_dir_path do
0
- rm_f "#{package_dir}/#{gz_file}"
0
- FileUtils.chdir package_dir do
0
- sh %{tar czvf #{gz_file} #{package_name}}
0
-file "#{package_dir}/#{bz2_file}" => package_dir_path do
0
- rm_f "#{package_dir}/#{bz2_file}"
0
- FileUtils.chdir package_dir do
0
- sh %{tar cjvf #{bz2_file} #{package_name}}
0
+version = Net::SFTP::Version::STRING.dup
0
+if ENV['SNAPSHOT'].to_i == 1
0
+ version << "." << Time.now.utc.strftime("%Y%m%d%H%M%S")
0
-file "#{package_dir}/#{gem_file}" => package_dir do
0
- spec = eval(File.read(PACKAGE_NAME+".gemspec"))
0
- spec.version = PACKAGE_VERSION
0
- Gem::Builder.new(spec).build
0
- mv gem_file, "#{package_dir}/#{gem_file}"
0
-desc "Build the RDoc API documentation"
0
-task :rdoc => :rdoc_core do
0
- img_dir = File.join( rdoc_dir, "files", "doc", "images" )
0
- Dir["doc/images/*"].reject { |i| File.directory?(i) }.each { |f|
0
-Rake::RDocTask.new( :rdoc_core ) do |rdoc|
0
- rdoc.rdoc_dir = rdoc_dir
0
- rdoc.title = "Net::SFTP -- An SFTP client in, and for, Ruby"
0
- rdoc.options += %w(--line-numbers --inline-source --main README)
0
- #rdoc.rdoc_files.include 'README'
0
- rdoc.rdoc_files.include 'lib/**/*.rb'
0
- if can_require( "rdoc/generators/template/html/jamis" )
0
- rdoc.template = "jamis"
0
-desc "Publish the API documentation"
0
-task :pubrdoc => [ :rdoc ] do
0
- Rake::SshDirPublisher.new(
0
- "minam@rubyforge.org",
0
- "/var/www/gforge-projects/net-ssh/api",
0
-desc "Publish the documentation"
0
-task :pubdoc => [:pubrdoc]
0
-desc "Start an IRB session with the dev load-path preloaded"
0
- system "irb -I../net-ssh/lib -Ilib -rnet/sftp"
0
+Hoe.new('net-sftp', version) do |p|
0
+ p.author = "Jamis Buck"
0
+ p.email = "jamis@jamisbuck.org"
0
+ p.summary = "A pure Ruby implementation of the SFTP client protocol"
0
+ p.url = "http://net-ssh.rubyforge.org/sftp"
0
+ p.extra_deps << [["net-ssh", ">= 1.99.1"]]
0
+ p.rubyforge_name = "net-ssh"