echoe 1.0.0 → 1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/echoe.rb +36 -12
  2. metadata +3 -3
@@ -89,7 +89,7 @@ require 'rbconfig'
89
89
  # * RUBY_FLAGS - Used to specify flags to ruby [has smart default].
90
90
 
91
91
  class Echoe
92
- VERSION = '1.0.0'
92
+ VERSION = '1.1'
93
93
 
94
94
  rubyprefix = Config::CONFIG['prefix']
95
95
  sitelibdir = Config::CONFIG['sitelibdir']
@@ -106,7 +106,7 @@ class Echoe
106
106
  (RUBY_DEBUG ? " #{RUBY_DEBUG}" : '')
107
107
  FILTER = ENV['FILTER'] # for tests (eg FILTER="-n test_blah")
108
108
 
109
- attr_accessor :author, :bin_files, :changes, :clean_globs, :description, :email, :extra_deps, :lib_files, :name, :need_tar, :need_zip, :rdoc_pattern, :rubyforge_name, :spec, :spec_extras, :summary, :test_files, :test_globs, :url, :version
109
+ attr_accessor :author, :bin_files, :changes, :clean_globs, :description, :email, :extra_deps, :lib_files, :name, :need_tar, :need_tar_gz, :need_zip, :rdoc_pattern, :rubyforge_name, :spec, :spec_extras, :summary, :test_files, :test_globs, :url, :version, :tar_extension #, :tar_separator, :zip_separator
110
110
 
111
111
  def initialize(name, version)
112
112
  self.name = name
@@ -126,7 +126,10 @@ class Echoe
126
126
  self.extra_deps = []
127
127
  self.spec_extras = {}
128
128
  self.need_tar = true
129
+ self.need_tar_gz = false
129
130
  self.need_zip = false
131
+ # self.tar_separator = "." # separator choice is buried in rake/packagetask, bah
132
+ # self.zip_separator = "."
130
133
 
131
134
  if name == 'echoe' then
132
135
  extra_deps << ['rake']
@@ -188,7 +191,9 @@ class Echoe
188
191
  s.add_dependency(*dep)
189
192
  end
190
193
 
191
- s.files = File.read("Manifest.txt").split
194
+ manifest = "Manifest"
195
+ manifest += ".txt" if File.exist? "Manifest.txt"
196
+ s.files = File.read(manifest).split
192
197
  s.executables = s.files.grep(/bin/) { |f| File.basename(f) }
193
198
 
194
199
  s.bindir = "bin"
@@ -224,6 +229,7 @@ class Echoe
224
229
 
225
230
  Rake::GemPackageTask.new spec do |pkg|
226
231
  pkg.need_tar = @need_tar
232
+ pkg.need_tar_gz = @need_tar_gz
227
233
  pkg.need_zip = @need_zip
228
234
  end
229
235
 
@@ -259,12 +265,19 @@ class Echoe
259
265
  task :release => [:clean, :package] do |t|
260
266
  v = ENV["VERSION"] or abort "Must supply VERSION=x.y.z"
261
267
  abort "Versions don't match #{v} vs #{version}" if v != version
268
+
269
+ gem 'rubyforge', '= 0.4.0'
262
270
  require 'rubyforge'
263
- pkg = "pkg/#{name}-#{version}"
264
271
 
272
+ pkg = "pkg/#{name}-#{version}"
273
+ pkg_gem = pkg + ".gem"
274
+ pkg_tar = pkg + ".tgz"
275
+ pkg_tar_gz = pkg + ".tar.gz"
276
+ pkg_zip = pkg + ".zip"
277
+
265
278
  if $DEBUG then
266
- puts "release_id = rf.add_release #{rubyforge_name.inspect}, #{name.inspect}, #{version.inspect}, \"#{pkg}.tgz\""
267
- puts "rf.add_file #{rubyforge_name.inspect}, #{name.inspect}, release_id, \"#{pkg}.gem\""
279
+ puts "release_id = rf.add_release #{rubyforge_name.inspect}, #{name.inspect}, #{version.inspect}, \"#{pkg_tar}\""
280
+ puts "rf.add_file #{rubyforge_name.inspect}, #{name.inspect}, release_id, \"#{pkg_gem}\""
268
281
  end
269
282
 
270
283
  rf = RubyForge.new
@@ -276,12 +289,19 @@ class Echoe
276
289
  c["release_changes"] = changes if changes
277
290
  c["preformatted"] = true
278
291
 
279
- files = [(@need_tar ? "#{pkg}.tgz" : nil),
280
- (@need_zip ? "#{pkg}.zip" : nil),
281
- "#{pkg}.gem"].compact
292
+ files = [(@need_tar ? pkg_tar : nil),
293
+ (@need_tar_gz ? pkg_tar_gz : nil),
294
+ (@need_zip ? pkg_zip : nil),
295
+ pkg_gem].compact
282
296
 
283
297
  puts "Releasing #{name} v. #{version}"
284
- rf.add_release rubyforge_name, name, version, *files
298
+ self.version = self.version.ljust(3)
299
+
300
+ begin
301
+ rf.add_release rubyforge_name, name, version, *files
302
+ rescue NoMethodError => boom
303
+ puts "If you are releasing a package for the first time, don't panic.\nOtherwise, it seems that this release already exists."
304
+ end
285
305
  end
286
306
 
287
307
  ############################################################
@@ -292,7 +312,7 @@ class Echoe
292
312
  rd.options << '-d' if RUBY_PLATFORM !~ /win32/ and `which dot` =~ /\/dot/
293
313
  rd.rdoc_dir = 'doc'
294
314
  files = spec.files.grep(rdoc_pattern)
295
- files -= ['Manifest.txt']
315
+ files -= ['Manifest.txt', 'Manifest']
296
316
  rd.rdoc_files.push(*files)
297
317
 
298
318
  title = "#{name}-#{version} Documentation"
@@ -389,7 +409,11 @@ class Echoe
389
409
  end
390
410
  files = files.sort.join "\n"
391
411
  File.open f, 'w' do |fp| fp.puts files end
392
- system "diff -du Manifest.txt #{f}"
412
+
413
+ manifest = "Manifest"
414
+ manifest += ".txt" if File.exist? "Manifest.txt"
415
+
416
+ system "diff -du #{manifest}.txt #{f}"
393
417
  rm f
394
418
  end
395
419
 
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0.9
2
+ rubygems_version: 0.9.2
3
3
  specification_version: 1
4
4
  name: echoe
5
5
  version: !ruby/object:Gem::Version
6
- version: 1.0.0
7
- date: 2007-01-10 00:00:00 -05:00
6
+ version: "1.1"
7
+ date: 2007-02-06 00:00:00 -05:00
8
8
  summary: Echoe makes gem creation easy.
9
9
  require_paths:
10
10
  - lib