hoe 2.4.0 → 2.5.0

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.
data.tar.gz.sig CHANGED
Binary file
data/.autotest CHANGED
@@ -3,5 +3,5 @@
3
3
  require 'autotest/restart'
4
4
 
5
5
  Autotest.add_hook :initialize do |at|
6
- at.testlib = "minitest/unit" # FIX: autotest testlib sucks
6
+ at.testlib = "minitest/unit"
7
7
  end
@@ -1,3 +1,21 @@
1
+ === 2.5.0 / 2010-01-06
2
+
3
+ * 8 minor enhancements:
4
+
5
+ * Add extra dirs to rcov include path if needed.
6
+ * Added Hoe#dependency_target to make dependencies easier to declare.
7
+ * Added extra doco to describe how auto-population works.
8
+ * Added more doco to readme.
9
+ * Don't bother posting news to rubyforge.
10
+ * Hoe::Inline plugin now deals with X::Y by flattening the name.
11
+ * Merged some of Hoe.pdf to README.txt and further improved doco.
12
+ * Pushed gemcutter & rubyforge dependencies down to the plugins.
13
+
14
+ * 2 bug fixes:
15
+
16
+ * Fix perms on Hoe.pdf after copying.
17
+ * Fixed Hoe rdoc problem caused by gemcutter plugin.
18
+
1
19
  === 2.4.0 / 2009-12-08
2
20
 
3
21
  * 6 minor enhancements:
data/README.txt CHANGED
@@ -7,15 +7,16 @@
7
7
 
8
8
  == DESCRIPTION:
9
9
 
10
- Hoe is a rake/rubygems helper for project Rakefiles. It helps generate
11
- rubygems and includes a dynamic plug-in system allowing for easy
12
- extensibility. Hoe ships with plug-ins for all your usual project
13
- tasks including rdoc generation, testing, packaging, and deployment.
10
+ Hoe is a rake/rubygems helper for project Rakefiles. It helps you
11
+ manage and maintain, and release your project and includes a dynamic
12
+ plug-in system allowing for easy extensibility. Hoe ships with
13
+ plug-ins for all your usual project tasks including rdoc generation,
14
+ testing, packaging, and deployment.
14
15
 
15
16
  See class rdoc for help. Hint: `ri Hoe` or any of the plugins listed
16
17
  below.
17
18
 
18
- See Also: http://seattlerb.rubyforge.org/hoe/Hoe.pdf
19
+ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf
19
20
 
20
21
  == FEATURES/PROBLEMS:
21
22
 
@@ -26,6 +27,126 @@ See Also: http://seattlerb.rubyforge.org/hoe/Hoe.pdf
26
27
  * Sow uses a simple ERB templating system allowing you to capture your
27
28
  project patterns.
28
29
 
30
+ == SYNOPSIS:
31
+
32
+ % sow [group] project
33
+
34
+ (you can edit a project template in ~/.hoe_template after running sow
35
+ for the first time)
36
+
37
+ or:
38
+
39
+ require 'hoe'
40
+
41
+ Hoe.spec projectname do
42
+ # ... project specific data ...
43
+ end
44
+
45
+ # ... project specific tasks ...
46
+
47
+ == Deployment, the DRY way
48
+
49
+ Hoe focuses on keeping everything in its place in a useful form and
50
+ intelligently extracting what it needs. As a result, there are no
51
+ extra YAML files, config directories, ruby files, or any other
52
+ artifacts in your release that you wouldn't already have.
53
+
54
+ === Structure Overview
55
+
56
+ project_dir/
57
+ History.txt
58
+ Manifest.txt
59
+ README.txt
60
+ Rakefile
61
+ bin/...
62
+ lib/...
63
+ test/...
64
+
65
+ === README.txt
66
+
67
+ Most projects have a readme file of some kind that describes the
68
+ project. Hoe projects are no different, but we take them one step
69
+ further. The readme file points the reader towards all the information
70
+ they need to know to get started including a description, relevant
71
+ urls, code synopsis, license, etc. Hoe knows how to read a basic rdoc
72
+ formatted file to pull out the description (and summary by extension),
73
+ urls, and extra paragraphs of info you may want to provide in
74
+ news/blog posts.
75
+
76
+ === History.txt
77
+
78
+ Every project should have a document describing changes over time. Hoe
79
+ can read this file (also in rdoc) and include the latest changes in
80
+ your announcements.
81
+
82
+ === Manifest.txt
83
+
84
+ <em><strong>manifest [noun]</strong> a document giving comprehensive
85
+ details of a ship and its cargo and other contents, passengers, and
86
+ crew for the use of customs officers.</em>
87
+
88
+ Every project should know what it is shipping. This is done via an
89
+ explicit list of everything that goes out in a release. Hoe uses this
90
+ during packaging so that nothing embarrassing is picked up.
91
+
92
+ Imagine, you're a customs inspector at the Los Angeles Port, the
93
+ world's largest import/export port. A large ship filled to the brim
94
+ pulls up to the pier ready for inspection. You walk up to the captain
95
+ and his crew and ask "what is the contents of this fine ship today"
96
+ and the captain answers "oh... whatever is inside". The mind boggles.
97
+ There is no way in the world that a professionally run ship would ever
98
+ run this way and there is no way that you should either.
99
+
100
+ Professional software releases know _exactly_ what is in them, amateur
101
+ releases _do not_. "Write better globs" is the response I often hear.
102
+ I consider myself and the people I work with to be rather smart people
103
+ and if we get them wrong, chances are you will too. How many times
104
+ have you peered under the covers and seen .DS_Store, emacs backup~
105
+ files, vim vm files and other files completely unrelated to the
106
+ package? I have far more times than I'd like.
107
+
108
+ === VERSION
109
+
110
+ Releases have versions and I've found it best for the version to be
111
+ part of the code. You can use this during runtime in a multitude of
112
+ ways. Hoe finds your version and uses it automatically during
113
+ packaging.
114
+
115
+ === Releasing in 1 easy step
116
+
117
+ % rake release VERSION=x.y.z
118
+
119
+ That really is all there is to it. Behind the scenes it:
120
+
121
+ * Branches the release in our perforce server. (via hoe-seattlerb plugin)
122
+ * Performs sanity checks to ensure the release has integrity. (hoe-seattlerb)
123
+ * Packages into gem and tarballs.
124
+ * Uploads the packages to rubyforge.
125
+ * Posts news of the release to rubyforge and my blog.
126
+ * Sends an announcement email. (hoe-seattlerb)
127
+
128
+ That `VERSION=x.y.z` is there as a last-chance sanity check that you
129
+ know what you're releasing. You'd be surprised how blurry eyed/brained
130
+ you get at 3AM. This check helps a lot more than it should.
131
+
132
+ == Plugins:
133
+
134
+ Hoe has a flexible plugin system that allows you to activate and
135
+ deactivate what tasks are available on a given project. Hoe has been
136
+ broken up into plugins partially to make maintenance easier but also
137
+ to make it easier to turn off or replace code you don't want.
138
+
139
+ * To activate a plugin, add the following to your Rakefile above your
140
+ Hoe spec:
141
+
142
+ Hoe.plugin :plugin_name
143
+
144
+ * To deactivate a plugin, remove its name from the plugins array:
145
+
146
+ Hoe.plugins.delete :plugin_name
147
+
148
+ Again, this must be done before the Hoe spec, or it won't be useful.
149
+
29
150
  === Plug-ins Provided:
30
151
 
31
152
  * Hoe::Clean
@@ -33,6 +154,7 @@ See Also: http://seattlerb.rubyforge.org/hoe/Hoe.pdf
33
154
  * Hoe::Deps
34
155
  * Hoe::Flay
35
156
  * Hoe::Flog
157
+ * Hoe::Gemcutter
36
158
  * Hoe::Inline
37
159
  * Hoe::Newb
38
160
  * Hoe::Package
@@ -44,27 +166,100 @@ See Also: http://seattlerb.rubyforge.org/hoe/Hoe.pdf
44
166
 
45
167
  === Known 3rd-Party Plugins:
46
168
 
47
- * Hoe::Seattlerb - email announcements & perforce branching/validation on release.
169
+ * Hoe::Seattlerb - minitest support, email announcements & perforce branching/validation on release.
48
170
  * Hoe::Git - git tagging on release, changelogs, and manifest creation.
49
171
  * Hoe::Doofus - release checklist.
50
172
  * Hoe::Debugging - for extensions, run your tests with GDB and Valgrind
51
173
 
52
- == SYNOPSIS:
174
+ === Writing Plugins:
53
175
 
54
- % sow [group] project
176
+ A plugin can be as simple as:
177
+
178
+ module Hoe::Thingy
179
+ attr_accessor :thingy
55
180
 
56
- (you can edit a project template in ~/.hoe_template after running sow
57
- for the first time)
181
+ def initialize_thingy # optional
182
+ self.thingy = 42
183
+ end
58
184
 
59
- or:
185
+ def define_thingy_tasks
186
+ task :thingy do
187
+ puts thingy
188
+ end
189
+ end
190
+ end
191
+
192
+ Not terribly useful, but you get the idea. This example exercises both
193
+ plugin methods (initialize_#{plugin} and define_#{plugin}_tasks and
194
+ adds an accessor method to the Hoe instance.
60
195
 
61
- require 'hoe'
62
-
63
- Hoe.spec projectname do
64
- # ... project specific data ...
65
- end
196
+ === How Plugins Work
66
197
 
67
- # ... project specific tasks ...
198
+ Hoe plugins are made to be as simple as possible, but no simpler. They are
199
+ modules defined in the `Hoe` namespace and have only one required method
200
+ (`define_#{plugin}_tasks`) and one optional method (`initialize_#{plugin}`).
201
+ Plugins can also define their own methods and they'll be available as instance
202
+ methods to your hoe-spec. Plugins have 4 simple phases:
203
+
204
+ ==== Loading
205
+
206
+ When Hoe is loaded the last thing it does is to ask rubygems for all of its
207
+ plugins. Plugins are found by finding all files matching "hoe/*.rb" via
208
+ installed gems or `$LOAD_PATH`. All found files are then loaded.
209
+
210
+ ==== Activation
211
+
212
+ All of the plugins that ship with hoe are activated by default. This is
213
+ because they're providing the same functionality that the previous Hoe was and
214
+ without them, it'd be rather useless. Other plugins should be "opt-in" and are
215
+ activated by:
216
+
217
+ Hoe::plugin :thingy
218
+
219
+ Put this _above_ your hoe-spec. All it does is add `:thingy` to `Hoe.plugins`.
220
+ You could also deactivate a plugin by removing it from `Hoe.plugins` although
221
+ that shouldn't be necessary for the most part.
222
+
223
+ Please note that it is **not** a good idea to have a plugin you're writing
224
+ activate itself. Let developers opt-in, not opt-out. Just because someone
225
+ needs the `:thingy` plugin on one project doesn't mean they need them on _all_
226
+ their projects.
227
+
228
+ ==== Initialization
229
+
230
+ When your hoe-spec is instantiated, it extends itself all known plugin
231
+ modules. This adds the method bodies to the hoe-spec and allows for the plugin
232
+ to work as part of the spec itself. Once that is over, activated plugins have
233
+ their **optional** define `initialize_#{plugin}` methods called. This lets
234
+ them set needed instance variables to default values. Finally, the hoe-spec
235
+ block is evaluated so that project specific values can override the defaults.
236
+
237
+ ==== Task Definition
238
+
239
+ Finally, once the user's hoe-spec has been evaluated, all activated plugins
240
+ have their `define_#{plugin}_tasks` method called. This method must be defined
241
+ and it is here that you'll define all your tasks.
242
+
243
+ == HOW TO CONTRIBUTE OR GET SUPPORT:
244
+
245
+ === Mailing List
246
+
247
+ A mailing list for hoe is hosted at: http://rubyforge.org/projects/seattlerb
248
+
249
+ === Bugs & Feature Requests:
250
+
251
+ We use the bug trackers hosted at: http://rubyforge.org/projects/seattlerb
252
+
253
+ === Patches:
254
+
255
+ * If you have a bug fix or enhancement to hoe that you'd like to
256
+ contribute, please provide a unified diff and file it in a ticket in
257
+ the bug tracker listed above.
258
+ * You can check out hoe:
259
+ * With git via github: http://github.com/seattlerb/hoe
260
+ * With svn via rubyforge: http://rubyforge.org/projects/seattlerb
261
+ * Or via perforce if you'd like to directly contribute:
262
+ http://www.zenspider.com/ZSS/Process/Perforce.html
68
263
 
69
264
  == REQUIREMENTS:
70
265
 
data/Rakefile CHANGED
@@ -16,9 +16,15 @@ Hoe.spec "hoe" do
16
16
  pluggable!
17
17
  end
18
18
 
19
+ task :plugins do
20
+ puts `find lib/hoe -name \*.rb | xargs grep -h module.Hoe::`.
21
+ gsub(/module/, '*')
22
+ end
23
+
19
24
  [:redocs, :docs].each do |t|
20
25
  task t do
21
26
  cp "Hoe.pdf", "doc"
27
+ sh "chmod u+w doc/Hoe.pdf"
22
28
  end
23
29
  end
24
30
 
data/lib/hoe.rb CHANGED
@@ -58,7 +58,7 @@ require 'hoe/rake'
58
58
 
59
59
  class Hoe
60
60
  # duh
61
- VERSION = '2.4.0'
61
+ VERSION = '2.5.0'
62
62
 
63
63
  @@plugins = [:clean, :debug, :deps, :flay, :flog, :newb, :package,
64
64
  :publish, :rcov, :rubyforge, :gemcutter, :signing, :test]
@@ -97,12 +97,16 @@ class Hoe
97
97
  attr_accessor :author
98
98
 
99
99
  ##
100
- # Optional: A description of the release's latest changes. Auto-populates.
100
+ # Optional: A description of the release's latest changes.
101
+ # Auto-populates to the top entry of History.txt.
101
102
 
102
103
  attr_accessor :changes
103
104
 
104
105
  ##
105
- # Optional: A description of the project. Auto-populates.
106
+ # Optional: A description of the project. Auto-populates from the
107
+ # first paragraph of the DESCRIPTION section of README.txt.
108
+ #
109
+ # See also: Hoe#summary and Hoe.paragraphs_of.
106
110
 
107
111
  attr_accessor :description
108
112
 
@@ -180,7 +184,10 @@ class Hoe
180
184
  attr_accessor :spec_extras
181
185
 
182
186
  ##
183
- # Optional: A short summary of the project. Auto-populates.
187
+ # Optional: A short summary of the project. Auto-populates from the
188
+ # first sentence of the description.
189
+ #
190
+ # See also: Hoe#description and Hoe.paragraphs_of.
184
191
 
185
192
  attr_accessor :summary
186
193
 
@@ -195,7 +202,9 @@ class Hoe
195
202
  attr_accessor :test_globs
196
203
 
197
204
  ##
198
- # Optional: The url(s) of the project. (can be array). Auto-populates.
205
+ # Optional: The url(s) of the project. (can be array).
206
+ # Auto-populates to a list of urls read from the beginning of
207
+ # README.txt.
199
208
 
200
209
  attr_accessor :url
201
210
 
@@ -267,7 +276,13 @@ class Hoe
267
276
  end
268
277
 
269
278
  ##
270
- # Create a new hoe-specification executing the supplied block
279
+ # Execute the Hoe DSL to define your project's Hoe specification
280
+ # (which interally creates a gem specification). All hoe attributes
281
+ # and methods are available within +block+. Eg:
282
+ #
283
+ # Hoe.spec name do
284
+ # # ... project specific data ...
285
+ # end
271
286
 
272
287
  def self.spec name, &block
273
288
  Hoe.load_plugins
@@ -303,23 +318,26 @@ class Hoe
303
318
  # Add standard and user defined dependencies to the spec.
304
319
 
305
320
  def add_dependencies
306
- hoe_deps = {
307
- 'rake' => ">= #{RAKEVERSION}",
308
- 'rubyforge' => ">= #{::RubyForge::VERSION}", # TODO: push down
309
- }
310
-
311
321
  self.extra_deps = normalize_deps extra_deps
312
322
  self.extra_dev_deps = normalize_deps extra_dev_deps
313
323
 
314
- if name == 'hoe' then
315
- hoe_deps.each do |pkg, vers|
316
- extra_deps << [pkg, vers]
317
- end
324
+ case name
325
+ when 'hoe' then
326
+ extra_deps << ['rake', ">= #{RAKEVERSION}"]
327
+ when 'rubyforge', 'rake', 'gemcutter' then
328
+ # avoid circular dependencies for hoe's (potentially) hoe'd dependencies
318
329
  else
319
- extra_dev_deps << ['hoe', ">= #{VERSION}"] unless hoe_deps.has_key? name
330
+ extra_dev_deps << ['hoe', ">= #{VERSION}"]
320
331
  end
321
332
  end
322
333
 
334
+ ##
335
+ # Returns the proper dependency list for the thingy.
336
+
337
+ def dependency_target
338
+ self.name == 'hoe' ? extra_deps : extra_dev_deps
339
+ end
340
+
323
341
  ##
324
342
  # Define the Gem::Specification.
325
343
 
@@ -1,20 +1,24 @@
1
1
  require 'rake'
2
+ gem "gemcutter" # lame. gemcutter doesn't have a VERSION const.
2
3
 
3
- class Hoe #:nodoc:
4
- module Gemcutter
5
- def define_gemcutter_tasks
6
- desc "Push gem to gemcutter."
7
- task :release_to_gemcutter => [:clean, :package, :release_sanity] do
8
- pkg = "pkg/#{spec.name}-#{spec.version}"
9
- gems = Dir["#{pkg}*.gem"]
10
- gems.each do |g|
11
- # TODO - once gemcutter supports command invocation, use it.
12
- # We could still fail here due to --format executable
13
- sh Gem.ruby, "-S", "gem", "push", g
14
- end
15
- end
4
+ module Hoe::Gemcutter
5
+ def initialize_gemcutter
6
+ version = Gem.loaded_specs['gemcutter'].version
7
+ dependency_target << ['gemcutter', ">= #{version}"]
8
+ end
16
9
 
17
- task :release_to => :release_to_gemcutter
10
+ def define_gemcutter_tasks
11
+ desc "Push gem to gemcutter."
12
+ task :release_to_gemcutter => [:clean, :package, :release_sanity] do
13
+ pkg = "pkg/#{spec.name}-#{spec.version}"
14
+ gems = Dir["#{pkg}*.gem"]
15
+ gems.each do |g|
16
+ # TODO - once gemcutter supports command invocation, use it.
17
+ # We could still fail here due to --format executable
18
+ sh Gem.ruby, "-S", "gem", "push", g
19
+ end
18
20
  end
19
- end unless defined? Gemcutter # HACK - tests force load twice
20
- end
21
+
22
+ task :release_to => :release_to_gemcutter
23
+ end
24
+ end unless defined? Hoe::Gemcutter
@@ -36,7 +36,7 @@ module Hoe::Inline
36
36
  dlext = Config::CONFIG['DLEXT']
37
37
 
38
38
  Inline.registered_inline_classes.each do |cls|
39
- name = cls.name # TODO: what about X::Y::Z?
39
+ name = cls.name.gsub(/::/, '')
40
40
  # name of the extension is CamelCase
41
41
  alternate_name = if name =~ /[A-Z]/ then
42
42
  name.gsub(/([A-Z])/, '_\1').downcase.sub(/^_/, '')
@@ -100,7 +100,7 @@ module Hoe::Publish
100
100
  if title then
101
101
  rd.options << title
102
102
 
103
- unless title =~ /=/ then # for ['-t', 'title here']
103
+ unless title =~ /\=/ then # for ['-t', 'title here']
104
104
  title_index = spec.rdoc_options.index(title)
105
105
  rd.options << spec.rdoc_options[title_index + 1]
106
106
  end
@@ -119,7 +119,8 @@ module Hoe::Publish
119
119
 
120
120
  desc 'Publish RDoc to RubyForge.'
121
121
  task :publish_docs => [:clean, :docs] do
122
- config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
122
+ path = File.expand_path("~/.rubyforge/user-config.yml")
123
+ config = YAML.load(File.read(path))
123
124
  host = "#{config["username"]}@rubyforge.org"
124
125
 
125
126
  remote_dir = "/var/www/gforge-projects/#{rubyforge_name}/#{remote_rdoc_dir}"
@@ -178,7 +179,7 @@ module Hoe::Publish
178
179
  end
179
180
 
180
181
  desc 'Announce your release.'
181
- task :announce => [:post_news, :post_blog, :publish_on_announce ]
182
+ task :announce => [:post_blog, :publish_on_announce ]
182
183
  end
183
184
 
184
185
  def generate_email full = nil
@@ -18,6 +18,7 @@ module Hoe::RCov
18
18
 
19
19
  t.test_files = FileList[pattern]
20
20
  t.verbose = true
21
+ t.rcov_opts << Hoe::RUBY_FLAGS
21
22
  t.rcov_opts << "--no-color"
22
23
  t.rcov_opts << "--save coverage.info"
23
24
  t.rcov_opts << "-x ^/"
@@ -11,8 +11,11 @@ require 'rubyforge'
11
11
  # release_to_rubyforge:: Release to rubyforge when release task is run.
12
12
 
13
13
  module Hoe::RubyForge
14
- def define_rubyforge_tasks # :nodoc:
14
+ def initialize_rubyforge
15
+ dependency_target << ['rubyforge', ">= #{::RubyForge::VERSION}"]
16
+ end
15
17
 
18
+ def define_rubyforge_tasks # :nodoc:
16
19
  # no doco, invisible hook
17
20
  task :release_to => :release_to_rubyforge
18
21
 
@@ -51,15 +51,25 @@ class TestHoe < MiniTest::Unit::TestCase
51
51
  assert_match(/^Hoe.*Rakefiles$/, spec.summary)
52
52
  assert_equal files.grep(/^test/), spec.test_files
53
53
 
54
- deps = spec.dependencies
54
+ deps = spec.dependencies.sort_by { |dep| dep.name }
55
55
 
56
- assert_equal 1, deps.size
56
+ assert_equal %w(gemcutter hoe rubyforge), deps.map { |dep| dep.name }
57
57
 
58
- dep = deps.first
58
+ dep = deps.shift
59
+ assert_equal 'gemcutter', dep.name
60
+ assert_equal :development, dep.type
61
+ version = Gem.loaded_specs['gemcutter'].version
62
+ assert_equal ">= #{version}", dep.version_requirements.to_s
59
63
 
64
+ dep = deps.shift
60
65
  assert_equal 'hoe', dep.name
61
66
  assert_equal :development, dep.type
62
67
  assert_equal ">= #{Hoe::VERSION}", dep.version_requirements.to_s
68
+
69
+ dep = deps.shift
70
+ assert_equal 'rubyforge', dep.name
71
+ assert_equal :development, dep.type
72
+ assert_equal ">= #{::RubyForge::VERSION}", dep.version_requirements.to_s
63
73
  end
64
74
 
65
75
  def test_plugins
@@ -69,7 +79,6 @@ class TestHoe < MiniTest::Unit::TestCase
69
79
  Hoe.plugin :first, :second
70
80
  assert_equal before + [:first, :second], Hoe.plugins
71
81
  ensure
72
- # FIX: maybe add Hoe.reset
73
82
  Hoe.plugins.replace before
74
83
  end
75
84
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hoe
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 2.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Davis
@@ -30,9 +30,29 @@ cert_chain:
30
30
  FBHgymkyj/AOSqKRIpXPhjC6
31
31
  -----END CERTIFICATE-----
32
32
 
33
- date: 2009-12-08 00:00:00 -08:00
33
+ date: 2010-01-06 00:00:00 -08:00
34
34
  default_executable:
35
35
  dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: rubyforge
38
+ type: :runtime
39
+ version_requirement:
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: 2.0.3
45
+ version:
46
+ - !ruby/object:Gem::Dependency
47
+ name: gemcutter
48
+ type: :runtime
49
+ version_requirement:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 0.2.1
55
+ version:
36
56
  - !ruby/object:Gem::Dependency
37
57
  name: rake
38
58
  type: :runtime
@@ -44,25 +64,26 @@ dependencies:
44
64
  version: 0.8.7
45
65
  version:
46
66
  - !ruby/object:Gem::Dependency
47
- name: rubyforge
48
- type: :runtime
67
+ name: minitest
68
+ type: :development
49
69
  version_requirement:
50
70
  version_requirements: !ruby/object:Gem::Requirement
51
71
  requirements:
52
72
  - - ">="
53
73
  - !ruby/object:Gem::Version
54
- version: 2.0.3
74
+ version: 1.4.2
55
75
  version:
56
76
  description: |-
57
- Hoe is a rake/rubygems helper for project Rakefiles. It helps generate
58
- rubygems and includes a dynamic plug-in system allowing for easy
59
- extensibility. Hoe ships with plug-ins for all your usual project
60
- tasks including rdoc generation, testing, packaging, and deployment.
77
+ Hoe is a rake/rubygems helper for project Rakefiles. It helps you
78
+ manage and maintain, and release your project and includes a dynamic
79
+ plug-in system allowing for easy extensibility. Hoe ships with
80
+ plug-ins for all your usual project tasks including rdoc generation,
81
+ testing, packaging, and deployment.
61
82
 
62
83
  See class rdoc for help. Hint: `ri Hoe` or any of the plugins listed
63
84
  below.
64
85
 
65
- See Also: http://seattlerb.rubyforge.org/hoe/Hoe.pdf
86
+ For extra goodness, see: http://seattlerb.rubyforge.org/hoe/Hoe.pdf
66
87
  email:
67
88
  - ryand-ruby@zenspider.com
68
89
  executables:
metadata.gz.sig CHANGED
Binary file