hoe 4.2.3 → 4.4.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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/History.rdoc +9 -0
- data/README.rdoc +29 -24
- data/Rakefile +9 -5
- data/lib/hoe/deps.rb +1 -25
- data/lib/hoe.rb +12 -11
- data/test/test_hoe.rb +2 -4
- data/test/test_hoe_test.rb +7 -7
- data.tar.gz.sig +0 -0
- metadata +3 -3
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1c31e0e3362927291031e62734b470e8f4f0c16becc1414189fabb72b55dcff4
|
|
4
|
+
data.tar.gz: 8a5d6ff3863b75d249e4cf5950b505969cf8b1d793e6f2be7b9e357708d5b856
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 977ea6dade95007c67b7f8291538ead50ea2a4c951549ca26454802c933a2bd4a81e24ed6faebcc88027e487f7eb7ce1705091dcab91e33941ec3e7be574221e
|
|
7
|
+
data.tar.gz: 7df64a23d9b3146559bfbdc16f3d5bfed1a3d8ca74479c3c88db27f1dd5cee6ee53a1fdd31d95af48b66e0ce362c60d022de4f0afc3ab7fd7da6e6722c5afb08
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/History.rdoc
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
=== 4.3.0 / 2025-06-17
|
|
2
|
+
|
|
3
|
+
* 4 bug fixes:
|
|
4
|
+
|
|
5
|
+
* Fix Gem index inflation. (halostatue)
|
|
6
|
+
* Fix known_plugins task for Gem::SpecFetcher API changes. (segiddins)
|
|
7
|
+
* Removed defunct deps:email task.
|
|
8
|
+
* Update list of known plugins. (segiddins)
|
|
9
|
+
|
|
1
10
|
=== 4.2.3 / 2025-03-25
|
|
2
11
|
|
|
3
12
|
* 2 minor enhancements:
|
data/README.rdoc
CHANGED
|
@@ -178,30 +178,35 @@ Again, this must be done before the Hoe spec, or it won't be useful.
|
|
|
178
178
|
|
|
179
179
|
=== Known 3rd-Party Plugins:
|
|
180
180
|
|
|
181
|
-
* hoe-bundler -
|
|
182
|
-
* hoe-debugging - A Hoe plugin to help you debug your
|
|
183
|
-
* hoe-deveiate - A collection of Rake tasks and utility functions
|
|
184
|
-
* hoe-doofus - A Hoe plugin that helps me keep from messing up gem releases
|
|
185
|
-
* hoe-gemcutter - Adds gemcutter release automation to Hoe.
|
|
186
|
-
* hoe-geminabox -
|
|
187
|
-
* hoe-gemspec - Generate a prerelease gemspec based on a Hoe spec.
|
|
188
|
-
* hoe-gemspec2 -
|
|
189
|
-
* hoe-git - A set of Hoe plugins for tighter Git integration
|
|
190
|
-
* hoe-
|
|
191
|
-
* hoe-
|
|
192
|
-
* hoe-
|
|
193
|
-
* hoe-
|
|
194
|
-
* hoe-
|
|
195
|
-
* hoe-
|
|
196
|
-
* hoe-
|
|
197
|
-
* hoe-
|
|
198
|
-
* hoe-
|
|
199
|
-
* hoe-
|
|
200
|
-
* hoe-
|
|
201
|
-
* hoe-
|
|
202
|
-
* hoe-
|
|
203
|
-
* hoe-
|
|
204
|
-
* hoe-
|
|
181
|
+
* hoe-bundler - Generate a Gemfile based on a Hoe spec's declared dependencies. (Mike Dalessio)
|
|
182
|
+
* hoe-debugging - A Hoe plugin to help you debug your C extensions (John Barnette)
|
|
183
|
+
* hoe-deveiate - A collection of Rake tasks and utility functions I use to maintain my Open Source projects (Michael Granger)
|
|
184
|
+
* hoe-doofus - A Hoe plugin that helps me (and you, maybe?) keep from messing up gem releases (John Barnette)
|
|
185
|
+
* hoe-gemcutter - Adds gemcutter release automation to Hoe. (James Tucker)
|
|
186
|
+
* hoe-geminabox - A small hoe plugin that allows you to push your gems to geminabox (Ben Bleything)
|
|
187
|
+
* hoe-gemspec - Generate a prerelease gemspec based on a Hoe spec. (Mike Dalessio)
|
|
188
|
+
* hoe-gemspec2 - Adds support for generation of gemspec files to Hoe (raggi)
|
|
189
|
+
* hoe-git - A set of Hoe plugins for tighter Git integration (John Barnette)
|
|
190
|
+
* hoe-git2 - A set of Hoe plugins for tighter Git integration (John Barnette)
|
|
191
|
+
* hoe-halostatue - Hoe::Halostatue is a Hoe meta-plugin that provides improved support for Markdown README files, provides features from other plugins, and enables improved support for trusted publishing. (Austin Ziegler)
|
|
192
|
+
* hoe-heroku - A Hoe plugin that helps you get your stuff on Heroku (Ben Bleything)
|
|
193
|
+
* hoe-hg - A Hoe plugin for Mercurial integration (McClain Looney)
|
|
194
|
+
* hoe-highline - A Hoe plugin for building interactive Rake tasks (Michael Granger)
|
|
195
|
+
* hoe-ignore - FIX (describe your package) (Evan Phoenix)
|
|
196
|
+
* hoe-manns - Collection of some personal used tasks (Sascha Manns)
|
|
197
|
+
* hoe-manualgen - A manual-generation plugin for Hoe (Michael Granger)
|
|
198
|
+
* hoe-markdown - Hoe plugin with helpers for markdown documentation files. (Mike Dalessio)
|
|
199
|
+
* hoe-mercurial - This is a fork of the hoe-hg plugin (Michael Granger)
|
|
200
|
+
* hoe-packaging - Collection of some personal used tasks for creating and deploying RPM and DEB packages. (Sascha Manns)
|
|
201
|
+
* hoe-reek - Tasks to integrate the reek code smell engine into your hoe projects (Sascha Manns)
|
|
202
|
+
* hoe-roodi - hoe-roodi is a Hoe plugin to integrate the roodi code smell tool into your hoe projects. (Erik Hollensbe)
|
|
203
|
+
* hoe-rubocop - This hoe plugin extends hoe for using some rake tasks to control rubocop. (Sascha Manns)
|
|
204
|
+
* hoe-rubygems - A Hoe plugin with additional RubyGems tasks (John Barnette)
|
|
205
|
+
* hoe-seattlerb - Hoe plugins providing tasks used by seattle.rb including minitest, perforce, and email providing full front-to-back release/announce automation. (Ryan Davis)
|
|
206
|
+
* hoe-telicopter - Hoe plugin providing tasks used by hotelicopter, currently just the email plugin from the seattlerb plugin by Ryan Davis (jim nist)
|
|
207
|
+
* hoe-travis - hoe-travis is a Hoe plugin that allows your gem to gain maximum benefit from http://travis-ci.org (Eric Hodel)
|
|
208
|
+
* hoe-version - Hoe plugin to provide rake tasks to bump version (bhenderson)
|
|
209
|
+
* hoe-yard - A Hoe plugin for generating YARD documentation (Postmodern)
|
|
205
210
|
|
|
206
211
|
=== Writing Plugins:
|
|
207
212
|
|
data/Rakefile
CHANGED
|
@@ -32,13 +32,17 @@ end
|
|
|
32
32
|
task :known_plugins do
|
|
33
33
|
dep = Gem::Dependency.new(/^hoe-/, Gem::Requirement.default)
|
|
34
34
|
fetcher = Gem::SpecFetcher.fetcher
|
|
35
|
-
spec_tuples = fetcher.
|
|
35
|
+
spec_tuples = fetcher.search_for_dependency(dep).flatten(1)
|
|
36
36
|
|
|
37
|
-
max = spec_tuples.map { |(tuple, _source)| tuple.
|
|
37
|
+
max = spec_tuples.map { |(tuple, _source)| tuple.name.size }.max
|
|
38
38
|
|
|
39
|
-
spec_tuples.each do |(tuple, source)|
|
|
40
|
-
spec =
|
|
41
|
-
|
|
39
|
+
spec_tuples.sort_by { |(tuple, _source)| tuple.name }.each do |(tuple, source)|
|
|
40
|
+
spec = source.fetch_spec(tuple)
|
|
41
|
+
summary = spec
|
|
42
|
+
.summary
|
|
43
|
+
.gsub(/\[([^\]]+)\](?:[\[\(].*?[\]\)])?/, '\1')
|
|
44
|
+
|
|
45
|
+
puts "* %-#{max}s - %s (%s)" % [spec.name, summary, spec.authors.first]
|
|
42
46
|
end
|
|
43
47
|
end
|
|
44
48
|
|
data/lib/hoe/deps.rb
CHANGED
|
@@ -82,30 +82,6 @@ module Hoe::Deps
|
|
|
82
82
|
end
|
|
83
83
|
end
|
|
84
84
|
|
|
85
|
-
def deps_email_task # :nodoc:
|
|
86
|
-
gems = self.get_gems_by_name
|
|
87
|
-
gem = gems[self.name]
|
|
88
|
-
|
|
89
|
-
abort "Couldn't find gem: #{self.name}" unless gem
|
|
90
|
-
|
|
91
|
-
deps = self.dependent_upon self.name
|
|
92
|
-
email = deps.map(&:email).compact.flatten.sort.uniq
|
|
93
|
-
email = email.map { |s| s.split(/,\s*/) }.flatten.sort.uniq
|
|
94
|
-
|
|
95
|
-
email.map! { |s| # don't you people realize how easy this is?
|
|
96
|
-
s.gsub(/ at | _at_ |\s*(atmark|@nospam@|-at?-|@at?@|<at?>|\[at?\]|\(at?\))\s*/i, "@").gsub(/\s*(dot|\[d(ot)?\]|\.dot\.)\s*/i, ".").gsub(/\s+com$/, ".com")
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
bad, good = email.partition { |e| e !~ /^[\w.+-]+\@[\w.+-]+$/ }
|
|
100
|
-
|
|
101
|
-
warn "Rejecting #{bad.size} email. I couldn't unmunge them." unless
|
|
102
|
-
bad.empty?
|
|
103
|
-
|
|
104
|
-
puts good.join(", ")
|
|
105
|
-
|
|
106
|
-
warn "Warning: couldn't extract any email addresses" if good.empty?
|
|
107
|
-
end
|
|
108
|
-
|
|
109
85
|
def deps_fetch_task # :nodoc:
|
|
110
86
|
deps = self.dependent_upon self.name
|
|
111
87
|
|
|
@@ -154,7 +130,7 @@ module Hoe::Deps
|
|
|
154
130
|
warn "Fetching full index and caching. This can take a while."
|
|
155
131
|
url = GEMURL + "Marshal.#{Gem.marshal_version}.Z"
|
|
156
132
|
dump = Gem::RemoteFetcher.fetcher.fetch_path url
|
|
157
|
-
dump = Gem.inflate dump
|
|
133
|
+
dump = Gem::Util.inflate dump
|
|
158
134
|
|
|
159
135
|
warn "stripping index to latest gems"
|
|
160
136
|
ary = Marshal.load dump
|
data/lib/hoe.rb
CHANGED
|
@@ -87,7 +87,7 @@ class Hoe
|
|
|
87
87
|
include Rake::DSL if defined?(Rake::DSL)
|
|
88
88
|
|
|
89
89
|
# duh
|
|
90
|
-
VERSION = "4.
|
|
90
|
+
VERSION = "4.3.0"
|
|
91
91
|
|
|
92
92
|
@@plugins = [:clean, :debug, :deps, :flay, :flog, :newb, :package,
|
|
93
93
|
:publish, :gemcutter, :signing, :test]
|
|
@@ -181,6 +181,11 @@ class Hoe
|
|
|
181
181
|
|
|
182
182
|
attr_accessor :extra_dev_deps
|
|
183
183
|
|
|
184
|
+
##
|
|
185
|
+
# Optional: rdoc arguments to be used when generating rdoc.
|
|
186
|
+
|
|
187
|
+
attr_accessor :rdoc_options
|
|
188
|
+
|
|
184
189
|
##
|
|
185
190
|
# Optional: Extra files you want to add to RDoc.
|
|
186
191
|
#
|
|
@@ -544,7 +549,7 @@ class Hoe
|
|
|
544
549
|
s.bindir = bindir || "bin"
|
|
545
550
|
s.executables = s.files.grep(/^#{s.bindir}/) { |f| File.basename(f) }
|
|
546
551
|
s.require_paths = dirs unless dirs.empty?
|
|
547
|
-
s.rdoc_options =
|
|
552
|
+
s.rdoc_options = rdoc_options
|
|
548
553
|
s.post_install_message = post_install_message
|
|
549
554
|
s.metadata = (urls.keys & URLS_TO_META_MAP.keys).map { |name|
|
|
550
555
|
[URLS_TO_META_MAP[name], urls[name]]
|
|
@@ -663,6 +668,9 @@ class Hoe
|
|
|
663
668
|
self.history_file ||= Dir.glob("History.{rdoc,txt,md}").first || "History.txt"
|
|
664
669
|
self.readme_file ||= Dir.glob("README.{rdoc,txt,md}").first || "README.txt"
|
|
665
670
|
|
|
671
|
+
# delayed to set readme_file first
|
|
672
|
+
self.rdoc_options = ["--main", readme_file]
|
|
673
|
+
|
|
666
674
|
abort "Hoe.new {...} removed. Switch to Hoe.spec." if block_given?
|
|
667
675
|
end
|
|
668
676
|
|
|
@@ -953,15 +961,8 @@ end
|
|
|
953
961
|
class File # :nodoc:
|
|
954
962
|
# Like File::read, but strips out a BOM marker if it exists.
|
|
955
963
|
def self.read_utf path
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
open path, opt do |f|
|
|
960
|
-
if r19 then
|
|
961
|
-
f.read
|
|
962
|
-
else
|
|
963
|
-
f.read.sub %r%\A\xEF\xBB\xBF%, ""
|
|
964
|
-
end
|
|
964
|
+
open path, "r:bom|utf-8" do |f|
|
|
965
|
+
f.read
|
|
965
966
|
end
|
|
966
967
|
end
|
|
967
968
|
end
|
data/test/test_hoe.rb
CHANGED
|
@@ -192,10 +192,7 @@ class TestHoe < Minitest::Test
|
|
|
192
192
|
|
|
193
193
|
content = File.read_utf io.path
|
|
194
194
|
assert_equal "BOM", content
|
|
195
|
-
|
|
196
|
-
if content.respond_to? :encoding then
|
|
197
|
-
assert_equal Encoding::UTF_8, content.encoding
|
|
198
|
-
end
|
|
195
|
+
assert_equal Encoding::UTF_8, content.encoding
|
|
199
196
|
end
|
|
200
197
|
end
|
|
201
198
|
|
|
@@ -365,6 +362,7 @@ class TestHoe < Minitest::Test
|
|
|
365
362
|
files = File.read("Manifest.txt").split(/\n/)
|
|
366
363
|
|
|
367
364
|
spec = hoe.spec
|
|
365
|
+
spec.date = nil # forces Date.today. default switched to 1980 for some reason
|
|
368
366
|
|
|
369
367
|
urls = {
|
|
370
368
|
"home" => "http://www.zenspider.com/projects/hoe.html",
|
data/test/test_hoe_test.rb
CHANGED
|
@@ -28,11 +28,9 @@ class TestHoeTest < Minitest::Test
|
|
|
28
28
|
|
|
29
29
|
MT_EXPECTED = %W[-I#{mt_path} -w
|
|
30
30
|
-e '%srequire "test/test_hoe_test.rb"'
|
|
31
|
-
--].join(" ")
|
|
31
|
+
-- %s].join(" ")
|
|
32
32
|
|
|
33
33
|
def test_make_test_cmd_for_minitest
|
|
34
|
-
skip "Using TESTOPTS... skipping" if ENV["TESTOPTS"]
|
|
35
|
-
|
|
36
34
|
framework = %(require "minitest/autorun"; )
|
|
37
35
|
|
|
38
36
|
@tester = Minitest::TestTask.create :testtest do |t|
|
|
@@ -40,12 +38,12 @@ class TestHoeTest < Minitest::Test
|
|
|
40
38
|
t.test_globs = ["test/test_hoe_test.rb"]
|
|
41
39
|
end
|
|
42
40
|
|
|
43
|
-
|
|
41
|
+
fw = [framework].join("; ")
|
|
42
|
+
env = ENV["A"]
|
|
43
|
+
assert_equal MT_EXPECTED % [fw, env], @tester.make_test_cmd
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
def test_make_test_cmd_for_minitest_prelude
|
|
47
|
-
skip "Using TESTOPTS... skipping" if ENV["TESTOPTS"]
|
|
48
|
-
|
|
49
47
|
prelude = %(require "other/file")
|
|
50
48
|
framework = %(require "minitest/autorun"; )
|
|
51
49
|
|
|
@@ -55,6 +53,8 @@ class TestHoeTest < Minitest::Test
|
|
|
55
53
|
t.test_globs = ["test/test_hoe_test.rb"]
|
|
56
54
|
end
|
|
57
55
|
|
|
58
|
-
|
|
56
|
+
prelude = [prelude, framework].join("; ")
|
|
57
|
+
env = ENV["A"]
|
|
58
|
+
assert_equal MT_EXPECTED % [prelude, env], @tester.make_test_cmd
|
|
59
59
|
end
|
|
60
60
|
end
|
data.tar.gz.sig
CHANGED
|
Binary file
|
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: 4.
|
|
4
|
+
version: 4.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryan Davis
|
|
@@ -28,7 +28,7 @@ cert_chain:
|
|
|
28
28
|
bwfinv7Yp5fA6AysuZLhCykyfDuZVRrUp0Vb68YCKsLjJly/Theak+euNTxvHsB+
|
|
29
29
|
al9oSgPPHICMEX65qvLywitx
|
|
30
30
|
-----END CERTIFICATE-----
|
|
31
|
-
date:
|
|
31
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
32
32
|
dependencies:
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
|
34
34
|
name: rake
|
|
@@ -173,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
173
173
|
- !ruby/object:Gem::Version
|
|
174
174
|
version: '3.0'
|
|
175
175
|
requirements: []
|
|
176
|
-
rubygems_version: 3.
|
|
176
|
+
rubygems_version: 3.7.2
|
|
177
177
|
specification_version: 4
|
|
178
178
|
summary: Hoe is a rake/rubygems helper for project Rakefiles
|
|
179
179
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|