hoe 2.3.2 → 2.3.3

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.
@@ -1,3 +1,14 @@
1
+ === 2.3.3 / 2009-08-07
2
+
3
+ * 6 minor enhancements:
4
+
5
+ * #plugin now uniq's contents. (asarih)
6
+ * Added extra warnings if manifest is borked.
7
+ * Added link to full doco.
8
+ * Deprecated plain string dependencies, auto-fill with '>= 0'.
9
+ * Improved doco with some code examples.
10
+ * Moved version check from package task to prerelease task.
11
+
1
12
  === 2.3.2 / 2009-06-30
2
13
 
3
14
  * 1 minor enhancement:
data/README.txt CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  * http://rubyforge.org/projects/seattlerb/
4
4
  * http://seattlerb.rubyforge.org/hoe/
5
+ * http://www.zenspider.com/~ryand/hoe.pdf
5
6
  * mailto:ryand-ruby@zenspider.com
6
7
 
7
8
  == DESCRIPTION:
data/lib/hoe.rb CHANGED
@@ -59,7 +59,7 @@ require 'hoe/rake'
59
59
 
60
60
  class Hoe
61
61
  # duh
62
- VERSION = '2.3.2'
62
+ VERSION = '2.3.3'
63
63
 
64
64
  @@plugins = [:clean, :debug, :deps, :flay, :flog, :package, :publish,
65
65
  :rcov, :signing, :test]
@@ -86,12 +86,14 @@ class Hoe
86
86
  }
87
87
 
88
88
  ##
89
- # True if you're a masochist developer. Used for building commands.
89
+ # True if you're a masochistic developer. Used for building commands.
90
90
 
91
91
  WINDOZE = /mswin|mingw/ =~ RUBY_PLATFORM unless defined? WINDOZE
92
92
 
93
93
  ##
94
94
  # *MANDATORY*: The author(s) of the package. (can be array)
95
+ #
96
+ # Use the #developer method to fill in both author and email cleanly.
95
97
 
96
98
  attr_accessor :author
97
99
 
@@ -113,11 +115,15 @@ class Hoe
113
115
 
114
116
  ##
115
117
  # *MANDATORY*: The author's email address(es). (can be array)
118
+ #
119
+ # Use the #developer method to fill in both author and email cleanly.
116
120
 
117
121
  attr_accessor :email
118
122
 
119
123
  ##
120
124
  # Optional: An array of rubygem dependencies.
125
+ #
126
+ # extra_deps << ['blah', '~> 1.0']
121
127
 
122
128
  attr_accessor :extra_deps
123
129
 
@@ -140,6 +146,8 @@ class Hoe
140
146
 
141
147
  ##
142
148
  # *MANDATORY*: The name of the release.
149
+ #
150
+ # Set via Hoe.spec.
143
151
 
144
152
  attr_accessor :name
145
153
 
@@ -165,6 +173,10 @@ class Hoe
165
173
 
166
174
  ##
167
175
  # Optional: A hash of extra values to set in the gemspec. Value may be a proc.
176
+ #
177
+ # spec_extras[:required_rubygems_version] = '>= 1.3.2'
178
+ #
179
+ # (tho, see #pluggable! if that's all you want to do)
168
180
 
169
181
  attr_accessor :spec_extras
170
182
 
@@ -245,6 +257,7 @@ class Hoe
245
257
 
246
258
  def self.plugin *names
247
259
  self.plugins.concat names
260
+ self.plugins.uniq!
248
261
  end
249
262
 
250
263
  ##
@@ -322,7 +335,7 @@ class Hoe
322
335
  s.homepage = Array(url).first
323
336
  s.rubyforge_project = rubyforge_name
324
337
  s.description = description
325
- s.files = File.read_utf("Manifest.txt").split(/\r?\n\r?/)
338
+ s.files = files = File.read_utf("Manifest.txt").split(/\r?\n\r?/)
326
339
  s.executables = s.files.grep(/^bin/) { |f| File.basename(f) }
327
340
  s.bindir = "bin"
328
341
  s.require_paths = dirs unless dirs.empty?
@@ -331,6 +344,8 @@ class Hoe
331
344
  s.post_install_message = post_install_message
332
345
  s.test_files = Dir[*self.test_globs]
333
346
 
347
+ missing "Manifest.txt" if files.empty?
348
+
334
349
  case author
335
350
  when Array
336
351
  s.authors = author
@@ -365,7 +380,9 @@ class Hoe
365
380
 
366
381
  unless self.version then
367
382
  spec.version = self.version = "0.borked"
368
- warn "Add 'VERSION = \"x.y.z\"' to your code or fix your hoe spec"
383
+ warn "** Add 'VERSION = \"x.y.z\"' to your code,"
384
+ warn " add a version to your hoe spec,"
385
+ warn " or fix your Manifest.txt"
369
386
  end
370
387
  end
371
388
 
@@ -495,7 +512,14 @@ class Hoe
495
512
  # Normalize the dependencies.
496
513
 
497
514
  def normalize_deps deps
498
- Array(deps).map { |o| String === o ? [o] : o }
515
+ Array(deps).map { |o|
516
+ if String === o then
517
+ warn "WAR\NING: HOE DEPRECATION: Add '>= 0' to the '#{o}' dependency."
518
+ [o, ">= 0"]
519
+ else
520
+ o
521
+ end
522
+ }
499
523
  end
500
524
 
501
525
  ##
@@ -38,8 +38,6 @@ module Hoe::Package
38
38
 
39
39
  def define_package_tasks
40
40
  Gem::PackageTask.new spec do |pkg|
41
- abort "Fix your version before you release" if
42
- spec.version.version =~ /borked/
43
41
  pkg.need_tar = @need_tar
44
42
  pkg.need_zip = @need_zip
45
43
  end
@@ -53,7 +51,10 @@ module Hoe::Package
53
51
  task :release => [:prerelease, :release_to, :postrelease]
54
52
 
55
53
  # no doco, invisible hook
56
- task :prerelease
54
+ task :prerelease do
55
+ abort "Fix your version before you release" if
56
+ spec.version.version =~ /borked/
57
+ end
57
58
 
58
59
  # no doco, invisible hook
59
60
  task :release_to => :release_to_rubyforge
@@ -66,6 +66,8 @@ class TestHoe < MiniTest::Unit::TestCase
66
66
  before = Hoe.plugins.dup
67
67
  Hoe.plugin :first, :second
68
68
  assert_equal before + [:first, :second], Hoe.plugins
69
+ Hoe.plugin :first, :second
70
+ assert_equal before + [:first, :second], Hoe.plugins
69
71
  ensure
70
72
  # FIX: maybe add Hoe.reset
71
73
  Hoe.plugins.replace before
metadata CHANGED
@@ -1,36 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hoe
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.2
4
+ version: 2.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Davis
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain:
11
- - |
12
- -----BEGIN CERTIFICATE-----
13
- MIIDPjCCAiagAwIBAgIBADANBgkqhkiG9w0BAQUFADBFMRMwEQYDVQQDDApyeWFu
14
- ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
15
- GRYDY29tMB4XDTA5MDMwNjE4NTMxNVoXDTEwMDMwNjE4NTMxNVowRTETMBEGA1UE
16
- AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
17
- JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
18
- b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
19
- taCPaLmfYIaFcHHCSY4hYDJijRQkLxPeB3xbOfzfLoBDbjvx5JxgJxUjmGa7xhcT
20
- oOvjtt5P8+GSK9zLzxQP0gVLS/D0FmoE44XuDr3iQkVS2ujU5zZL84mMNqNB1znh
21
- GiadM9GHRaDiaxuX0cIUBj19T01mVE2iymf9I6bEsiayK/n6QujtyCbTWsAS9Rqt
22
- qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
23
- gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
24
- HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBBQUAA4IB
25
- AQAY59gYvDxqSqgC92nAP9P8dnGgfZgLxP237xS6XxFGJSghdz/nI6pusfCWKM8m
26
- vzjjH2wUMSSf3tNudQ3rCGLf2epkcU13/rguI88wO6MrE0wi4ZqLQX+eZQFskJb/
27
- w6x9W1ur8eR01s397LSMexySDBrJOh34cm2AlfKr/jokKCTwcM0OvVZnAutaovC0
28
- l1SVZ0ecg88bsWHA0Yhh7NFxK1utWoIhtB6AFC/+trM0FQEB/jZkIS8SaNzn96Rl
29
- n0sZEf77FLf5peR8TP/PtmIg7Cyqz23sLM4mCOoTGIy5OcZ8TdyiyINUHtb5ej/T
30
- FBHgymkyj/AOSqKRIpXPhjC6
31
- -----END CERTIFICATE-----
10
+ cert_chain: []
32
11
 
33
- date: 2009-06-30 00:00:00 -07:00
12
+ date: 2009-08-07 00:00:00 -07:00
34
13
  default_executable:
35
14
  dependencies:
36
15
  - !ruby/object:Gem::Dependency
@@ -41,7 +20,7 @@ dependencies:
41
20
  requirements:
42
21
  - - ">="
43
22
  - !ruby/object:Gem::Version
44
- version: 1.0.3
23
+ version: 1.0.4
45
24
  version:
46
25
  - !ruby/object:Gem::Dependency
47
26
  name: rake
@@ -137,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
116
  requirements: []
138
117
 
139
118
  rubyforge_project: seattlerb
140
- rubygems_version: 1.3.4
119
+ rubygems_version: 1.3.5
141
120
  signing_key:
142
121
  specification_version: 3
143
122
  summary: Hoe is a rake/rubygems helper for project Rakefiles
data.tar.gz.sig DELETED
@@ -1 +0,0 @@
1
- 5��X����Q�Dv&J��=/G4��X�����Z�O�# A�Ѩ�)�/�f����Gy6���6����Z"Tt|�(IW�c��� ���W���ʈ��l�鈐?E���P_t��2�Hf��4��}NE�h_i�d*-b *j�L00���Z�'�ԚI*�:O)9�P��'����cS}��,��tȖ�Ŝ<yG�c�"R�I�'C{�H� ں�Zqx"I����G%s�&��q&�����F�
metadata.gz.sig DELETED
Binary file