hoe 1.1.6 → 1.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/History.txt +8 -0
  2. data/README.txt +1 -1
  3. data/bin/sow +1 -1
  4. data/lib/hoe.rb +24 -27
  5. metadata +8 -8
@@ -1,3 +1,11 @@
1
+ = 1.1.7 2007-01-10
2
+
3
+ * extra_deps is now self-healing, and ensures no (direct) cycles.
4
+ * cleans check_manifest for CVS projects.
5
+ * rubyforge changes for config.
6
+ * Now uses rsync for publish_docs. YAY for fast!
7
+ * Bug #7193 fix spelling of 'synopsys'. Submitted by Jacob Atzen.
8
+
1
9
  = 1.1.6 2006-11-29
2
10
 
3
11
  * Fix release to work correctly with need_zip and need_tar.
data/README.txt CHANGED
@@ -38,7 +38,7 @@ See class rdoc for help. Hint: ri Hoe
38
38
  * Provides 'sow' for quick project directory creation.
39
39
  * Make making and maintaining Rakefiles fun and easy.
40
40
 
41
- == SYNOPSYS:
41
+ == SYNOPSIS:
42
42
 
43
43
  % sow [group] project
44
44
 
data/bin/sow CHANGED
@@ -50,7 +50,7 @@ Dir.chdir project do
50
50
 
51
51
  files = {
52
52
  "History.txt" => "== 1.0.0 / #{Time.new.strftime("%Y-%m-%d")}\n\n* 1 major enhancement\n * Birthday!\n\n",
53
- "README.txt" => "#{project}\n by #{X} (your name)\n #{X} (url)\n\n== DESCRIPTION:\n \n#{X} (describe your package)\n\n== FEATURES/PROBLEMS:\n \n* #{X} (list of features or problems)\n\n== SYNOPSYS:\n\n #{X} (code sample of usage)\n\n== REQUIREMENTS:\n\n* #{X} (list of requirements)\n\n== INSTALL:\n\n* #{X} (sudo gem install, anything else)\n\n== LICENSE:\n\n(The MIT License)\n\nCopyright (c) #{Time.new.strftime("%Y")} #{X}\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
53
+ "README.txt" => "#{project}\n by #{X} (your name)\n #{X} (url)\n\n== DESCRIPTION:\n \n#{X} (describe your package)\n\n== FEATURES/PROBLEMS:\n \n* #{X} (list of features or problems)\n\n== SYNOPSIS:\n\n #{X} (code sample of usage)\n\n== REQUIREMENTS:\n\n* #{X} (list of requirements)\n\n== INSTALL:\n\n* #{X} (sudo gem install, anything else)\n\n== LICENSE:\n\n(The MIT License)\n\nCopyright (c) #{Time.new.strftime("%Y")} #{X}\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n'Software'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n",
54
54
  "Manifest.txt" => "",
55
55
  "bin/#{file_name}" => "",
56
56
  "lib/#{file_name}.rb" => "class #{klass}\n VERSION = '1.0.0'\nend",
data/lib/hoe.rb CHANGED
@@ -7,6 +7,7 @@ require 'rake/gempackagetask'
7
7
  require 'rake/rdoctask'
8
8
  require 'rake/testtask'
9
9
  require 'rbconfig'
10
+ require 'rubyforge'
10
11
 
11
12
  ##
12
13
  # hoe - a tool to help rake
@@ -22,7 +23,7 @@ require 'rbconfig'
22
23
  # Use this as a minimal starting point:
23
24
  #
24
25
  # require 'hoe'
25
- #
26
+ #
26
27
  # Hoe.new("project_name", '1.0.0') do |p|
27
28
  # p.rubyforge_name = "rf_project"
28
29
  # # add other details here
@@ -31,7 +32,7 @@ require 'rbconfig'
31
32
  # # add other tasks here
32
33
  #
33
34
  # === Tasks Provided:
34
- #
35
+ #
35
36
  # * announce - Generate email announcement file and post to rubyforge.
36
37
  # * audit - Run ZenTest against the package
37
38
  # * check_manifest - Verify the manifest
@@ -89,7 +90,7 @@ require 'rbconfig'
89
90
  # * RUBY_FLAGS - Used to specify flags to ruby [has smart default].
90
91
 
91
92
  class Hoe
92
- VERSION = '1.1.6'
93
+ VERSION = '1.1.7'
93
94
 
94
95
  rubyprefix = Config::CONFIG['prefix']
95
96
  sitelibdir = Config::CONFIG['sitelibdir']
@@ -128,15 +129,24 @@ class Hoe
128
129
  self.need_tar = true
129
130
  self.need_zip = false
130
131
 
132
+ yield self if block_given?
133
+
134
+ hoe_deps = {
135
+ 'rake' => ">= #{RAKEVERSION}",
136
+ 'rubyforge' => ">= #{::RubyForge::VERSION}",
137
+ }
138
+
139
+ self.extra_deps = Array(extra_deps) # just in case user used = instead of <<
140
+ self.extra_deps = [extra_deps] unless
141
+ extra_deps.empty? or Array === extra_deps.first
131
142
  if name == 'hoe' then
132
- extra_deps << ['rake']
133
- extra_deps << ['rubyforge', '>= 0.3.1']
143
+ hoe_deps.each do |pkg, version|
144
+ extra_deps << [pkg, version]
145
+ end
134
146
  else
135
- extra_deps << ['hoe', ">= #{VERSION}"]
147
+ extra_deps << ['hoe', ">= #{VERSION}"] unless hoe_deps.has_key? name
136
148
  end
137
149
 
138
- yield self if block_given?
139
-
140
150
  define_tasks
141
151
  end
142
152
 
@@ -259,7 +269,6 @@ class Hoe
259
269
  task :release => [:clean, :package] do |t|
260
270
  v = ENV["VERSION"] or abort "Must supply VERSION=x.y.z"
261
271
  abort "Versions don't match #{v} vs #{version}" if v != version
262
- require 'rubyforge'
263
272
  pkg = "pkg/#{name}-#{version}"
264
273
 
265
274
  if $DEBUG then
@@ -271,7 +280,7 @@ class Hoe
271
280
  puts "Logging in"
272
281
  rf.login
273
282
 
274
- c = rf.config
283
+ c = rf.userconfig
275
284
  c["release_notes"] = description if description
276
285
  c["release_changes"] = changes if changes
277
286
  c["preformatted"] = true
@@ -308,23 +317,11 @@ class Hoe
308
317
 
309
318
  desc 'Publish RDoc to RubyForge'
310
319
  task :publish_docs => [:clean, :docs] do
311
- config = YAML.load(File.read(File.expand_path("~/.rubyforge/config.yml")))
312
- user = "#{config["username"]}@rubyforge.org"
313
- project = "/var/www/gforge-projects/#{rubyforge_name}"
314
- project += "/#{name}" if rubyforge_name != name
320
+ config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
321
+ host = "#{config["username"]}@rubyforge.org"
322
+ remote_dir = "/var/www/gforge-projects/#{rubyforge_name}/#{name}"
315
323
  local_dir = 'doc'
316
- pub = Rake::SshDirPublisher.new user, project, local_dir
317
- if rubyforge_name != name then
318
- def pub.upload
319
- begin
320
- super
321
- rescue
322
- # project directory probably doesn't exist, transfer as a whole
323
- sh %{scp -qr #{local_dir} #{host}:#{remote_dir}}
324
- end
325
- end
326
- end
327
- pub.upload
324
+ sh %{rsync -av --delete #{local_dir}/ #{host}:#{remote_dir}}
328
325
  end
329
326
 
330
327
  ############################################################
@@ -384,7 +381,7 @@ class Hoe
384
381
  files = []
385
382
  Find.find '.' do |path|
386
383
  next unless File.file? path
387
- next if path =~ /svn|tmp$/
384
+ next if path =~ /\.svn|tmp$|CVS/
388
385
  files << path[2..-1]
389
386
  end
390
387
  files = files.sort.join "\n"
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0.7
2
+ rubygems_version: 0.9.0.9
3
3
  specification_version: 1
4
4
  name: hoe
5
5
  version: !ruby/object:Gem::Version
6
- version: 1.1.6
7
- date: 2006-11-29 00:00:00 -08:00
6
+ version: 1.1.7
7
+ date: 2007-01-10 00:00:00 -05:00
8
8
  summary: Hoe is a way to write Rakefiles much easier and cleaner.
9
9
  require_paths:
10
10
  - lib
@@ -50,20 +50,20 @@ requirements: []
50
50
 
51
51
  dependencies:
52
52
  - !ruby/object:Gem::Dependency
53
- name: rake
53
+ name: rubyforge
54
54
  version_requirement:
55
55
  version_requirements: !ruby/object:Gem::Version::Requirement
56
56
  requirements:
57
- - - ">"
57
+ - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: 0.0.0
59
+ version: 0.4.0
60
60
  version:
61
61
  - !ruby/object:Gem::Dependency
62
- name: rubyforge
62
+ name: rake
63
63
  version_requirement:
64
64
  version_requirements: !ruby/object:Gem::Version::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: 0.3.1
68
+ version: 0.7.1
69
69
  version: