hoe 2.2.0 → 2.3.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 +0 -0
- data/History.txt +22 -0
- data/lib/hoe.rb +47 -50
- data/lib/hoe/clean.rb +0 -2
- data/lib/hoe/debug.rb +0 -2
- data/lib/hoe/deps.rb +0 -2
- data/lib/hoe/flay.rb +0 -2
- data/lib/hoe/flog.rb +0 -2
- data/lib/hoe/inline.rb +6 -1
- data/lib/hoe/package.rb +0 -2
- data/lib/hoe/publish.rb +25 -6
- data/lib/hoe/rake.rb +9 -1
- data/lib/hoe/rcov.rb +1 -3
- data/lib/hoe/signing.rb +0 -2
- data/lib/hoe/test.rb +0 -2
- metadata +2 -2
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/History.txt
CHANGED
@@ -1,3 +1,25 @@
|
|
1
|
+
=== 2.3.0 / 2009-06-23
|
2
|
+
|
3
|
+
* 1 major enhancement:
|
4
|
+
|
5
|
+
* Plugins can no longer be self-activating.
|
6
|
+
|
7
|
+
* 8 minor enhancements:
|
8
|
+
|
9
|
+
* All hoe plugins are pre-activated.
|
10
|
+
* Allow RDoc title to be set via spec_extras['rdoc_options'].
|
11
|
+
* Cleaned up plugin activation.
|
12
|
+
* History intuition extended for markdown. drnic/jbarnette
|
13
|
+
* Move RDoc task requires to hoe/publish.rb.
|
14
|
+
* Only activated plugins are loaded, extended, and activated.
|
15
|
+
* Plugin loading deferred until hoe-spec creation, allowing proper meta-plugins.
|
16
|
+
* inline plugin adds RubyInline dependency and hooks clean task.
|
17
|
+
|
18
|
+
* 2 bug fixes:
|
19
|
+
|
20
|
+
* Fixed developer load order error in load_plugins.
|
21
|
+
* rcov should use test_globs. apatterson
|
22
|
+
|
1
23
|
=== 2.2.0 / 2009-06-17
|
2
24
|
|
3
25
|
* 8 minor enhancements:
|
data/lib/hoe.rb
CHANGED
@@ -3,20 +3,11 @@
|
|
3
3
|
require 'rubygems'
|
4
4
|
require 'rake'
|
5
5
|
require 'rake/gempackagetask'
|
6
|
-
begin
|
7
|
-
require 'rdoc/task'
|
8
|
-
rescue LoadError
|
9
|
-
require 'rake/rdoctask'
|
10
|
-
end
|
11
6
|
require 'rake/testtask'
|
12
|
-
require 'rbconfig'
|
13
7
|
require 'rubyforge'
|
14
8
|
require 'yaml'
|
15
9
|
|
16
|
-
|
17
|
-
gem 'rdoc'
|
18
|
-
rescue Gem::LoadError
|
19
|
-
end
|
10
|
+
require 'hoe/rake'
|
20
11
|
|
21
12
|
##
|
22
13
|
# Hoe is a simple rake/rubygems helper for project Rakefiles. It helps
|
@@ -69,7 +60,10 @@ end
|
|
69
60
|
|
70
61
|
class Hoe
|
71
62
|
# duh
|
72
|
-
VERSION = '2.
|
63
|
+
VERSION = '2.3.0'
|
64
|
+
|
65
|
+
@@plugins = [:clean, :debug, :deps, :flay, :flog, :package, :publish,
|
66
|
+
:rcov, :signing, :test]
|
73
67
|
|
74
68
|
##
|
75
69
|
# Used to add extra flags to RUBY_FLAGS.
|
@@ -216,19 +210,22 @@ class Hoe
|
|
216
210
|
# It is called at the end of hoe.rb
|
217
211
|
|
218
212
|
def self.load_plugins
|
219
|
-
loaded = {}
|
213
|
+
loaded, found = {}, {}
|
220
214
|
|
221
|
-
Gem.find_files("hoe/*.rb").each do |
|
222
|
-
|
223
|
-
|
215
|
+
Gem.find_files("hoe/*.rb").reverse.each do |path|
|
216
|
+
found[File.basename(path, ".rb").intern] = path
|
217
|
+
end
|
218
|
+
|
219
|
+
:keep_doing_this while found.map { |name, plugin|
|
220
|
+
next unless Hoe.plugins.include? name
|
224
221
|
next if loaded[name]
|
225
222
|
begin
|
226
|
-
|
227
|
-
loaded[name] =
|
223
|
+
warn "loading #{plugin}" if $DEBUG
|
224
|
+
loaded[name] = load plugin
|
228
225
|
rescue LoadError => e
|
229
226
|
warn "error loading #{plugin.inspect}: #{e.message}. skipping..."
|
230
227
|
end
|
231
|
-
|
228
|
+
}.any?
|
232
229
|
end
|
233
230
|
|
234
231
|
##
|
@@ -255,13 +252,15 @@ class Hoe
|
|
255
252
|
# Return the list of activated plugins.
|
256
253
|
|
257
254
|
def self.plugins
|
258
|
-
@@plugins
|
255
|
+
@@plugins
|
259
256
|
end
|
260
257
|
|
261
258
|
##
|
262
259
|
# Create a new hoe-specification executing the supplied block
|
263
260
|
|
264
261
|
def self.spec name, &block
|
262
|
+
Hoe.load_plugins
|
263
|
+
|
265
264
|
spec = self.new name
|
266
265
|
spec.activate_plugins
|
267
266
|
spec.instance_eval(&block)
|
@@ -273,12 +272,19 @@ class Hoe
|
|
273
272
|
# Activate plugin modules and add them to the current instance.
|
274
273
|
|
275
274
|
def activate_plugins
|
276
|
-
self.class.constants.
|
275
|
+
names = self.class.constants.map { |s| s.to_s }
|
276
|
+
names.reject! { |n| n =~ /^[A-Z_]+$/ }
|
277
|
+
|
278
|
+
names.each do |name|
|
279
|
+
next unless Hoe.plugins.include? name.downcase.intern
|
280
|
+
warn "extend #{name}" if $DEBUG
|
277
281
|
self.extend Hoe.const_get(name)
|
278
282
|
end
|
279
283
|
|
280
|
-
|
281
|
-
|
284
|
+
Hoe.plugins.each do |plugin|
|
285
|
+
msg = "initialize_#{plugin}"
|
286
|
+
warn msg if $DEBUG
|
287
|
+
send msg if self.respond_to? msg
|
282
288
|
end
|
283
289
|
end
|
284
290
|
|
@@ -345,15 +351,6 @@ class Hoe
|
|
345
351
|
s.extra_rdoc_files.reject! { |f| f =~ %r%^(test|spec|vendor|template|data|tmp)/% }
|
346
352
|
s.extra_rdoc_files += @extra_rdoc_files
|
347
353
|
|
348
|
-
# Do any extra stuff the user wants
|
349
|
-
spec_extras.each do |msg, val|
|
350
|
-
case val
|
351
|
-
when Proc
|
352
|
-
val.call(s.send(msg))
|
353
|
-
else
|
354
|
-
s.send "#{msg}=", val
|
355
|
-
end
|
356
|
-
end
|
357
354
|
end
|
358
355
|
|
359
356
|
unless self.version then
|
@@ -372,6 +369,16 @@ class Hoe
|
|
372
369
|
warn "Add 'VERSION = \"x.y.z\"' to your code or fix your hoe spec"
|
373
370
|
end
|
374
371
|
end
|
372
|
+
|
373
|
+
# Do any extra stuff the user wants
|
374
|
+
spec_extras.each do |msg, val|
|
375
|
+
case val
|
376
|
+
when Proc
|
377
|
+
val.call spec.send(msg)
|
378
|
+
else
|
379
|
+
spec.send "#{msg}=", val
|
380
|
+
end
|
381
|
+
end
|
375
382
|
end
|
376
383
|
|
377
384
|
##
|
@@ -412,6 +419,7 @@ class Hoe
|
|
412
419
|
|
413
420
|
if block_given? then
|
414
421
|
warn "Hoe.new {...} deprecated. Switch to Hoe.spec."
|
422
|
+
Hoe.load_plugins
|
415
423
|
self.activate_plugins
|
416
424
|
yield self
|
417
425
|
post_initialize
|
@@ -422,12 +430,13 @@ class Hoe
|
|
422
430
|
# Intuit values from the readme and history files.
|
423
431
|
|
424
432
|
def intuit_values
|
425
|
-
|
433
|
+
header_re = /^((?:=+|#+) .*)$/
|
434
|
+
readme = File.read_utf(readme_file).split(header_re)[1..-1] rescue ''
|
435
|
+
|
426
436
|
unless readme.empty? then
|
427
|
-
sections = readme.map { |s|
|
428
|
-
s =~
|
429
|
-
}
|
430
|
-
sections = Hash[*sections]
|
437
|
+
sections = Hash[*readme.map { |s|
|
438
|
+
s =~ /^[=#]/ ? s.strip.downcase.chomp(':').split.last : s.strip
|
439
|
+
}]
|
431
440
|
desc = sections.values_at(*description_sections).join("\n\n")
|
432
441
|
summ = desc.split(/\.\s+/).first(summary_sentences).join(". ")
|
433
442
|
|
@@ -440,7 +449,7 @@ class Hoe
|
|
440
449
|
|
441
450
|
self.changes ||= begin
|
442
451
|
h = File.read_utf(history_file)
|
443
|
-
h.split(/^(
|
452
|
+
h.split(/^(={2,}|\#{2,})/)[1..2].join.strip
|
444
453
|
rescue
|
445
454
|
missing history_file
|
446
455
|
''
|
@@ -469,7 +478,7 @@ class Hoe
|
|
469
478
|
end
|
470
479
|
|
471
480
|
(Rake::Task.tasks - old_tasks).each do |task|
|
472
|
-
task.plugin = plugin
|
481
|
+
task.plugin = plugin
|
473
482
|
end
|
474
483
|
end
|
475
484
|
@@plugins -= bad
|
@@ -550,8 +559,6 @@ class Hoe
|
|
550
559
|
config = exists ? YAML.load_file(rc) : {}
|
551
560
|
yield(config, rc)
|
552
561
|
end
|
553
|
-
|
554
|
-
Hoe.load_plugins
|
555
562
|
end
|
556
563
|
|
557
564
|
class File
|
@@ -560,13 +567,3 @@ class File
|
|
560
567
|
File.read(path).sub(/\A\xEF\xBB\xBF/, '')
|
561
568
|
end
|
562
569
|
end
|
563
|
-
|
564
|
-
module Rake
|
565
|
-
class Task
|
566
|
-
attr_accessor :plugin
|
567
|
-
alias :old_comment :comment
|
568
|
-
def comment
|
569
|
-
"%-#{$plugin_max}s # %s" % [plugin, old_comment] if old_comment
|
570
|
-
end
|
571
|
-
end
|
572
|
-
end
|
data/lib/hoe/clean.rb
CHANGED
data/lib/hoe/debug.rb
CHANGED
data/lib/hoe/deps.rb
CHANGED
data/lib/hoe/flay.rb
CHANGED
data/lib/hoe/flog.rb
CHANGED
data/lib/hoe/inline.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'rbconfig'
|
2
|
+
|
1
3
|
##
|
2
4
|
# Hoe allows bundling of pre-compiled extensions in the +package+ task.
|
3
5
|
#
|
@@ -16,11 +18,14 @@
|
|
16
18
|
# +FORCE_PLATFORM+ (instead of default Gem::Platform::CURRENT)
|
17
19
|
|
18
20
|
module Hoe::Inline
|
19
|
-
|
20
21
|
##
|
21
22
|
# Define tasks for plugin.
|
22
23
|
|
23
24
|
def define_inline_tasks
|
25
|
+
extra_deps << 'RubyInline'
|
26
|
+
clean_globs << File.expand_path("~/.ruby_inline")
|
27
|
+
task :test => :clean
|
28
|
+
|
24
29
|
if ENV['INLINE'] then
|
25
30
|
s.platform = ENV['FORCE_PLATFORM'] || Gem::Platform::CURRENT
|
26
31
|
|
data/lib/hoe/package.rb
CHANGED
data/lib/hoe/publish.rb
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
begin
|
2
|
+
gem 'rdoc'
|
3
|
+
rescue Gem::LoadError
|
4
|
+
end
|
5
|
+
|
6
|
+
begin
|
7
|
+
require 'rdoc/task'
|
8
|
+
rescue LoadError
|
9
|
+
require 'rake/rdoctask'
|
10
|
+
end
|
11
|
+
|
1
12
|
##
|
2
13
|
# Publish plugin for hoe.
|
3
14
|
#
|
@@ -16,8 +27,6 @@
|
|
16
27
|
# blogs:: An array of hashes of blog settings.
|
17
28
|
|
18
29
|
module Hoe::Publish
|
19
|
-
Hoe.plugin :publish
|
20
|
-
|
21
30
|
##
|
22
31
|
# Optional: An array of the project's blog categories. Defaults to project
|
23
32
|
# name.
|
@@ -26,7 +35,7 @@ module Hoe::Publish
|
|
26
35
|
|
27
36
|
##
|
28
37
|
# Optional: Name of destination directory for RDoc generated files.
|
29
|
-
# [default:
|
38
|
+
# [default: doc]
|
30
39
|
|
31
40
|
attr_accessor :local_rdoc_dir
|
32
41
|
|
@@ -86,10 +95,20 @@ module Hoe::Publish
|
|
86
95
|
rd.rdoc_files += spec.require_paths
|
87
96
|
rd.rdoc_files += spec.extra_rdoc_files
|
88
97
|
|
89
|
-
title =
|
90
|
-
|
98
|
+
title = spec.rdoc_options.grep(/^(-t|--title)=?$/).first
|
99
|
+
|
100
|
+
if title then
|
101
|
+
rd.options << title
|
91
102
|
|
92
|
-
|
103
|
+
unless title =~ /=/ then # for ['-t', 'title here']
|
104
|
+
title_index = spec.rdoc_options.index(title)
|
105
|
+
rd.options << spec.rdoc_options[title_index + 1]
|
106
|
+
end
|
107
|
+
else
|
108
|
+
title = "#{name}-#{version} Documentation"
|
109
|
+
title = "#{rubyforge_name}'s " + title if rubyforge_name != name
|
110
|
+
rd.options << '--title' << title
|
111
|
+
end
|
93
112
|
end
|
94
113
|
|
95
114
|
desc 'Generate ri locally for testing.'
|
data/lib/hoe/rake.rb
CHANGED
@@ -1,4 +1,12 @@
|
|
1
1
|
module Rake
|
2
|
+
class Task
|
3
|
+
attr_accessor :plugin
|
4
|
+
alias :old_comment :comment
|
5
|
+
def comment
|
6
|
+
"%-#{$plugin_max}s # %s" % [plugin, old_comment] if old_comment
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
2
10
|
module TaskManager
|
3
11
|
##
|
4
12
|
# This gives us access to the tasks already defined in rake.
|
@@ -41,4 +49,4 @@ module Rake
|
|
41
49
|
all_tasks[name].actions.delete_at(-1)
|
42
50
|
end
|
43
51
|
end
|
44
|
-
end
|
52
|
+
end
|
data/lib/hoe/rcov.rb
CHANGED
@@ -6,8 +6,6 @@
|
|
6
6
|
# rcov:: Analyze code coverage with tests
|
7
7
|
|
8
8
|
module Hoe::RCov
|
9
|
-
Hoe.plugin :rcov
|
10
|
-
|
11
9
|
##
|
12
10
|
# Define tasks for plugin.
|
13
11
|
|
@@ -16,7 +14,7 @@ module Hoe::RCov
|
|
16
14
|
require 'rcov/rcovtask'
|
17
15
|
|
18
16
|
Rcov::RcovTask.new do |t|
|
19
|
-
pattern = ENV['PATTERN'] ||
|
17
|
+
pattern = ENV['PATTERN'] || test_globs
|
20
18
|
|
21
19
|
t.test_files = FileList[pattern]
|
22
20
|
t.verbose = true
|
data/lib/hoe/signing.rb
CHANGED
data/lib/hoe/test.rb
CHANGED
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
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
FBHgymkyj/AOSqKRIpXPhjC6
|
31
31
|
-----END CERTIFICATE-----
|
32
32
|
|
33
|
-
date: 2009-06-
|
33
|
+
date: 2009-06-23 00:00:00 -07:00
|
34
34
|
default_executable:
|
35
35
|
dependencies:
|
36
36
|
- !ruby/object:Gem::Dependency
|
metadata.gz.sig
CHANGED
Binary file
|