hoe 4.4.0 → 4.5.1.beta.5
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 +25 -0
- data/Manifest.txt +1 -0
- data/README.rdoc +7 -6
- data/Rakefile +2 -2
- data/lib/hoe/git.rb +186 -0
- data/lib/hoe/publish.rb +3 -2
- data/lib/hoe.rb +39 -21
- data/test/test_hoe.rb +30 -30
- data.tar.gz.sig +0 -0
- metadata +32 -31
- 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: 2e34acae9e45333865f0b65998d2ce58d20208ce3c9799a7a7ee800b007e5f6b
|
|
4
|
+
data.tar.gz: ee1768f04335c9462512ec105c95369ed1ee9959e1aab10189af5fc58a2d0dbd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ea349d8441fc8a75bc48dc8bcb4ba3d3192b72df536bbdbf60e02601a8e23e691a692a393dfc84d90bb348edb0c0c8da53328f56ab72e9d7100148a610ccf442
|
|
7
|
+
data.tar.gz: b505f065725e255e6970e2760a28fa26339c1d5d6b9be642d744cc406fa48c2f76d6112ee33628e9a7652ed403a609d6050d78bfac51901ca68b05de1fd39064
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/History.rdoc
CHANGED
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
=== 4.5.1 / 2026-01-02
|
|
2
|
+
|
|
3
|
+
* 2 bug fixes:
|
|
4
|
+
|
|
5
|
+
* Bump rdoc dependency to include 7.x.
|
|
6
|
+
* Fix to load hoe plugins w/ camel-case.
|
|
7
|
+
|
|
8
|
+
=== 4.5.0 / 2025-12-24
|
|
9
|
+
|
|
10
|
+
* 3 minor enhancements:
|
|
11
|
+
|
|
12
|
+
* Added Hoe::Git plugin, forked from jbarnette/hoe-git + halostatue/hoe-git2
|
|
13
|
+
* Bumped ruby version to 3.2+.
|
|
14
|
+
* Clarified dependency on rake to ~> 13.0.
|
|
15
|
+
|
|
16
|
+
=== 4.4.0 / 2025-12-22
|
|
17
|
+
|
|
18
|
+
* 1 minor enhancement:
|
|
19
|
+
|
|
20
|
+
* Added rdoc_options accessor to expose it so you can add more.
|
|
21
|
+
|
|
22
|
+
* 1 bug fix:
|
|
23
|
+
|
|
24
|
+
* Updated File.read_utf to assume String encoding support. (wtn)
|
|
25
|
+
|
|
1
26
|
=== 4.3.0 / 2025-06-17
|
|
2
27
|
|
|
3
28
|
* 4 bug fixes:
|
data/Manifest.txt
CHANGED
data/README.rdoc
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
= Hoe
|
|
2
2
|
|
|
3
|
-
home ::
|
|
3
|
+
home :: https://zenspider.com/projects/hoe.html
|
|
4
4
|
code :: https://github.com/seattlerb/hoe
|
|
5
5
|
bugs :: https://github.com/seattlerb/hoe/issues
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
doco :: https://docs.seattlerb.org/hoe/
|
|
7
|
+
doco2 :: https://docs.seattlerb.org/hoe/Hoe.pdf
|
|
8
8
|
clog :: https://github.com/seattlerb/hoe/blob/master/History.rdoc
|
|
9
|
-
other ::
|
|
9
|
+
other :: https://github.com/jbarnette/hoe-plugin-examples
|
|
10
10
|
|
|
11
11
|
== DESCRIPTION:
|
|
12
12
|
|
|
@@ -19,7 +19,7 @@ testing, packaging, deployment, and announcement.
|
|
|
19
19
|
See class rdoc for help. Hint: `ri Hoe` or any of the plugins listed
|
|
20
20
|
below.
|
|
21
21
|
|
|
22
|
-
For extra goodness, see:
|
|
22
|
+
For extra goodness, see: https://docs.seattlerb.org/hoe/Hoe.pdf
|
|
23
23
|
|
|
24
24
|
== FEATURES/PROBLEMS:
|
|
25
25
|
|
|
@@ -167,6 +167,7 @@ Again, this must be done before the Hoe spec, or it won't be useful.
|
|
|
167
167
|
* Hoe::Flog
|
|
168
168
|
* Hoe::GemPreludeSucks
|
|
169
169
|
* Hoe::Gemcutter
|
|
170
|
+
* Hoe::Git
|
|
170
171
|
* Hoe::Inline
|
|
171
172
|
* Hoe::Newb
|
|
172
173
|
* Hoe::Package
|
|
@@ -204,7 +205,7 @@ Again, this must be done before the Hoe spec, or it won't be useful.
|
|
|
204
205
|
* hoe-rubygems - A Hoe plugin with additional RubyGems tasks (John Barnette)
|
|
205
206
|
* 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
207
|
* 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
|
|
208
|
+
* hoe-travis - hoe-travis is a Hoe plugin that allows your gem to gain maximum benefit from https://travis-ci.org (Eric Hodel)
|
|
208
209
|
* hoe-version - Hoe plugin to provide rake tasks to bump version (bhenderson)
|
|
209
210
|
* hoe-yard - A Hoe plugin for generating YARD documentation (Postmodern)
|
|
210
211
|
|
data/Rakefile
CHANGED
|
@@ -19,9 +19,9 @@ Hoe.spec "hoe" do
|
|
|
19
19
|
|
|
20
20
|
pluggable!
|
|
21
21
|
require_rubygems_version ">= 3.0"
|
|
22
|
-
require_ruby_version
|
|
22
|
+
require_ruby_version ">= 3.2"
|
|
23
23
|
|
|
24
|
-
dependency "rake",
|
|
24
|
+
dependency "rake", "~> 13.0" # FIX: to force it to exist pre-isolate
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
task :plugins do
|
data/lib/hoe/git.rb
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
class Hoe # :nodoc:
|
|
2
|
+
|
|
3
|
+
##
|
|
4
|
+
# This module is a Hoe plugin. You can set its attributes in your
|
|
5
|
+
# Rakefile Hoe spec, like this:
|
|
6
|
+
#
|
|
7
|
+
# Hoe.plugin :git
|
|
8
|
+
#
|
|
9
|
+
# Hoe.spec "myproj" do
|
|
10
|
+
# self.git_release_tag_prefix = "REL_"
|
|
11
|
+
# self.git_remotes << "myremote"
|
|
12
|
+
# end
|
|
13
|
+
#
|
|
14
|
+
#
|
|
15
|
+
# === Tasks
|
|
16
|
+
#
|
|
17
|
+
# git:changelog:: Print the current changelog.
|
|
18
|
+
# git:manifest:: Update the manifest with Git's file list.
|
|
19
|
+
# git:tag:: Create and push a tag.
|
|
20
|
+
|
|
21
|
+
module Git
|
|
22
|
+
|
|
23
|
+
##
|
|
24
|
+
# What do you want at the front of your release tags?
|
|
25
|
+
# [default: <tt>"v"</tt>]
|
|
26
|
+
|
|
27
|
+
attr_accessor :git_release_tag_prefix
|
|
28
|
+
|
|
29
|
+
##
|
|
30
|
+
# Which remotes do you want to push tags, etc. to?
|
|
31
|
+
# [default: <tt>%w[ origin ]</tt>]
|
|
32
|
+
|
|
33
|
+
attr_accessor :git_remotes
|
|
34
|
+
|
|
35
|
+
attr_accessor :git_changes # :nodoc:
|
|
36
|
+
|
|
37
|
+
def initialize_git # :nodoc:
|
|
38
|
+
self.git_release_tag_prefix = "v"
|
|
39
|
+
self.git_remotes = %w[ origin ]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def define_git_tasks # :nodoc:
|
|
43
|
+
return unless File.exist? ".git"
|
|
44
|
+
|
|
45
|
+
desc "Print the current changelog."
|
|
46
|
+
task "git:changelog" do
|
|
47
|
+
tag = ENV["FROM"] || git_tags.last
|
|
48
|
+
range = [tag, "HEAD"].compact.join ".."
|
|
49
|
+
|
|
50
|
+
changes = `git log #{range} --format="tformat:%B|||%aN|||%aE|||"`
|
|
51
|
+
.split("|||")
|
|
52
|
+
.each_slice(3)
|
|
53
|
+
.map { |msg, author, email|
|
|
54
|
+
msg.lines(chomp: true).reject(&:empty?)
|
|
55
|
+
}
|
|
56
|
+
.flatten
|
|
57
|
+
|
|
58
|
+
next if changes.empty?
|
|
59
|
+
|
|
60
|
+
self.git_changes = Hash.new { |h, k| h[k] = [] }
|
|
61
|
+
|
|
62
|
+
codes = {
|
|
63
|
+
"!" => :major,
|
|
64
|
+
"+" => :minor,
|
|
65
|
+
"*" => :minor,
|
|
66
|
+
"-" => :bug,
|
|
67
|
+
"?" => :unknown,
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
codes_re = Regexp.escape codes.keys.join
|
|
71
|
+
|
|
72
|
+
changes.each do |change|
|
|
73
|
+
if change =~ /^\s*([#{codes_re}])\s*(.*)/ then
|
|
74
|
+
code, line = codes[$1], $2
|
|
75
|
+
else
|
|
76
|
+
code, line = codes["?"], change.chomp
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
git_changes[code] << line
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
now = Time.new.strftime "%Y-%m-%d"
|
|
83
|
+
|
|
84
|
+
puts "=== #{ENV["VERSION"] || "NEXT"} / #{now}"
|
|
85
|
+
puts
|
|
86
|
+
changelog_section :major
|
|
87
|
+
changelog_section :minor
|
|
88
|
+
changelog_section :bug
|
|
89
|
+
changelog_section :unknown
|
|
90
|
+
puts
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
desc "Update the manifest with Git's file list. Use Hoe's excludes."
|
|
94
|
+
task "git:manifest" do
|
|
95
|
+
with_config do |config, _|
|
|
96
|
+
files = `git ls-files`
|
|
97
|
+
.lines(chomp:true)
|
|
98
|
+
.grep_v(config["exclude"])
|
|
99
|
+
|
|
100
|
+
File.write "Manifest.txt", files.sort.join("\n")
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
desc "Create and push a TAG " +
|
|
105
|
+
"(default #{git_release_tag_prefix}#{version})."
|
|
106
|
+
|
|
107
|
+
task "git:tag" do
|
|
108
|
+
tag = ENV["TAG"]
|
|
109
|
+
ver = ENV["VERSION"] || version
|
|
110
|
+
pre = ENV["PRERELEASE"] || ENV["PRE"]
|
|
111
|
+
ver += ".#{pre}" if pre
|
|
112
|
+
tag ||= "#{git_release_tag_prefix}#{ver}"
|
|
113
|
+
|
|
114
|
+
git_tag_and_push tag
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
task "git:tags" do
|
|
118
|
+
p git_tags
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
task :release_sanity do
|
|
122
|
+
unless ENV["DIRTY"] or `git status --porcelain`.empty?
|
|
123
|
+
abort "Won't release: Dirty index or untracked files present!"
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
task :release_to => "git:tag"
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
##
|
|
131
|
+
# Generate a tag and push it to all remotes.
|
|
132
|
+
|
|
133
|
+
def git_tag_and_push tag
|
|
134
|
+
msg = "Tagging #{tag}."
|
|
135
|
+
|
|
136
|
+
flags = " -s" unless `git config --get user.signingkey`.empty?
|
|
137
|
+
|
|
138
|
+
sh %Q(git tag#{flags} -f #{tag} -m "#{msg}")
|
|
139
|
+
git_remotes.each { |remote| sh "git push -f #{remote} tag #{tag}" }
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
##
|
|
143
|
+
# Return all git tags massaged down to readable versions.
|
|
144
|
+
|
|
145
|
+
def git_tags
|
|
146
|
+
flags = %w[--date-order
|
|
147
|
+
--reverse
|
|
148
|
+
--simplify-by-decoration
|
|
149
|
+
--pretty=format:%H].join " "
|
|
150
|
+
shas = `git log #{flags}`.lines(chomp: true)
|
|
151
|
+
|
|
152
|
+
`git name-rev --tags #{shas.join " "}`
|
|
153
|
+
.lines
|
|
154
|
+
.map { |s| s[/tags\/(#{git_release_tag_prefix}.+)/, 1] }
|
|
155
|
+
.compact
|
|
156
|
+
.map { |s| s.sub(/\^0$/, "") } # v1.2.3^0 -> v1.2.3 (why?)
|
|
157
|
+
.grep(%r{^#{git_release_tag_prefix}}) # TODO: remove?
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
##
|
|
161
|
+
# Generate and print a changelog section based on the +code+.
|
|
162
|
+
|
|
163
|
+
def changelog_section code
|
|
164
|
+
name = +{
|
|
165
|
+
:major => "major enhancement",
|
|
166
|
+
:minor => "minor enhancement",
|
|
167
|
+
:bug => "bug fix",
|
|
168
|
+
:unknown => "unknown",
|
|
169
|
+
}[code]
|
|
170
|
+
|
|
171
|
+
changes = git_changes[code]
|
|
172
|
+
count = changes.size
|
|
173
|
+
name += "s" if count > 1
|
|
174
|
+
name.sub!(/fixs/, "fixes")
|
|
175
|
+
|
|
176
|
+
return if count < 1
|
|
177
|
+
|
|
178
|
+
puts "* #{count} #{name}:"
|
|
179
|
+
puts
|
|
180
|
+
changes.sort.each do |line|
|
|
181
|
+
puts " * #{line}"
|
|
182
|
+
end
|
|
183
|
+
puts
|
|
184
|
+
end
|
|
185
|
+
end
|
|
186
|
+
end
|
data/lib/hoe/publish.rb
CHANGED
|
@@ -100,7 +100,7 @@ module Hoe::Publish
|
|
|
100
100
|
# Declare a dependency on rdoc, IF NEEDED.
|
|
101
101
|
|
|
102
102
|
def activate_publish_deps
|
|
103
|
-
dependency "rdoc", [">=
|
|
103
|
+
dependency "rdoc", [">= 6.0", "< 8"], :developer if need_rdoc
|
|
104
104
|
end
|
|
105
105
|
|
|
106
106
|
##
|
|
@@ -117,7 +117,8 @@ module Hoe::Publish
|
|
|
117
117
|
|
|
118
118
|
desc "Generate rdoc coverage report"
|
|
119
119
|
task :dcov => :isolate do
|
|
120
|
-
|
|
120
|
+
level = ENV["L"]
|
|
121
|
+
sh(*make_rdoc_cmd("-C#{level}"))
|
|
121
122
|
end
|
|
122
123
|
|
|
123
124
|
desc "Remove RDoc files"
|
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.5.1.beta.5"
|
|
91
91
|
|
|
92
92
|
@@plugins = [:clean, :debug, :deps, :flay, :flog, :newb, :package,
|
|
93
93
|
:publish, :gemcutter, :signing, :test]
|
|
@@ -114,12 +114,20 @@ class Hoe
|
|
|
114
114
|
URLS_TO_META_MAP = {
|
|
115
115
|
"bugs" => "bug_tracker_uri",
|
|
116
116
|
"clog" => "changelog_uri",
|
|
117
|
+
"code" => "source_code_uri",
|
|
117
118
|
"doco" => "documentation_uri",
|
|
118
119
|
"docs" => "documentation_uri",
|
|
119
120
|
"home" => "homepage_uri",
|
|
120
|
-
"code" => "source_code_uri",
|
|
121
|
-
"wiki" => "wiki_uri",
|
|
122
121
|
"mail" => "mailing_list_uri",
|
|
122
|
+
"wiki" => "wiki_uri",
|
|
123
|
+
|
|
124
|
+
"changelog" => "changelog_uri",
|
|
125
|
+
"changes" => "changelog_uri",
|
|
126
|
+
"documentation" => "documentation_uri",
|
|
127
|
+
"history" => "changelog_uri",
|
|
128
|
+
"issues" => "bug_tracker_uri",
|
|
129
|
+
"rdoc" => "documentation_uri",
|
|
130
|
+
"tickets" => "bug_tracker_uri",
|
|
123
131
|
}
|
|
124
132
|
|
|
125
133
|
##
|
|
@@ -162,6 +170,13 @@ class Hoe
|
|
|
162
170
|
|
|
163
171
|
attr_accessor :description_sections
|
|
164
172
|
|
|
173
|
+
##
|
|
174
|
+
# Optional: Add a (hopefully hidden) H2 to the description to force
|
|
175
|
+
# rubygems.org to properly render the description as rdoc. Defaults
|
|
176
|
+
# to true.
|
|
177
|
+
|
|
178
|
+
attr_accessor :description_rdoc_hack
|
|
179
|
+
|
|
165
180
|
##
|
|
166
181
|
# *MANDATORY*: The author's email address(es). (can be array)
|
|
167
182
|
#
|
|
@@ -428,7 +443,8 @@ class Hoe
|
|
|
428
443
|
names.reject! { |n| n =~ /^[A-Z_]+$/ }
|
|
429
444
|
|
|
430
445
|
names.each do |name|
|
|
431
|
-
|
|
446
|
+
underscored = name.gsub(/(?<!^)(?=[A-Z])/, "_").downcase.intern
|
|
447
|
+
next unless Hoe.plugins.include? underscored
|
|
432
448
|
warn "extend #{name}" if $DEBUG
|
|
433
449
|
self.extend Hoe.const_get(name)
|
|
434
450
|
end
|
|
@@ -643,7 +659,8 @@ class Hoe
|
|
|
643
659
|
self.author = []
|
|
644
660
|
self.changes = nil
|
|
645
661
|
self.description = nil
|
|
646
|
-
self.description_sections = %w[description]
|
|
662
|
+
self.description_sections = %w[description features/problems]
|
|
663
|
+
self.description_rdoc_hack = true
|
|
647
664
|
self.email = []
|
|
648
665
|
self.extra_deps = []
|
|
649
666
|
self.extra_dev_deps = []
|
|
@@ -683,21 +700,24 @@ class Hoe
|
|
|
683
700
|
.chunk { |l| l[/^(?:=+|#+)/] || "" }
|
|
684
701
|
.map(&:last)
|
|
685
702
|
.each_slice(2)
|
|
703
|
+
.select { |k, v| k && v }
|
|
686
704
|
.to_h { |k, v|
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
}.join("\n")
|
|
705
|
+
kp = k.join.strip.chomp(":").sub(/(?:=+|#+)\s*/, '').downcase
|
|
706
|
+
|
|
707
|
+
# keep key in value, but title case it
|
|
708
|
+
v.prepend k.join.downcase.gsub(/\b[a-z]/, &:upcase)
|
|
692
709
|
|
|
693
710
|
[kp, v.join.strip]
|
|
694
711
|
}
|
|
695
712
|
|
|
696
713
|
unless readme.empty? then
|
|
697
|
-
desc = readme.values_at(*description_sections).join("\n\n")
|
|
714
|
+
desc = readme.values_at(*description_sections).compact.join("\n\n")
|
|
715
|
+
desc = desc.lines.drop(2).join # drop first header (eg description)
|
|
716
|
+
desc += "\n\n==== To Install:\n" if description_rdoc_hack &&
|
|
717
|
+
desc !~ /^==+ [A-Z]/
|
|
698
718
|
summ = desc.split(/\.\s+/).first(summary_sentences).join(". ")
|
|
699
719
|
|
|
700
|
-
self.urls ||= parse_urls(readme.values.first)
|
|
720
|
+
self.urls ||= parse_urls(readme.values.first.lines.drop(1).join)
|
|
701
721
|
self.description ||= desc
|
|
702
722
|
self.summary ||= summ
|
|
703
723
|
else
|
|
@@ -732,13 +752,10 @@ class Hoe
|
|
|
732
752
|
# should update the readme.
|
|
733
753
|
|
|
734
754
|
def parse_urls text
|
|
735
|
-
|
|
755
|
+
keys = Regexp.union Hoe::URLS_TO_META_MAP.keys
|
|
756
|
+
kv_re = /^\s*(#{keys})\s*::\s*<?([^>\s]+)>?/
|
|
736
757
|
|
|
737
|
-
|
|
738
|
-
Hash[lines.map { |line| line.split(/\s*::\s*/) }]
|
|
739
|
-
else
|
|
740
|
-
raise "Please switch readme to hash format for urls."
|
|
741
|
-
end
|
|
758
|
+
text.scan(kv_re).to_h
|
|
742
759
|
end
|
|
743
760
|
|
|
744
761
|
##
|
|
@@ -771,11 +788,12 @@ class Hoe
|
|
|
771
788
|
end
|
|
772
789
|
|
|
773
790
|
##
|
|
774
|
-
#
|
|
791
|
+
# Raise about a file that is missing data or unparsable for intuiting values.
|
|
775
792
|
|
|
776
793
|
def missing name
|
|
777
|
-
|
|
778
|
-
|
|
794
|
+
raise \
|
|
795
|
+
"** #{name} is missing or in the wrong format for auto-intuiting." \
|
|
796
|
+
" run `sow blah` and look at its text files"
|
|
779
797
|
end
|
|
780
798
|
|
|
781
799
|
##
|
data/test/test_hoe.rb
CHANGED
|
@@ -8,9 +8,16 @@ class Hoe
|
|
|
8
8
|
end
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
$rakefile = nil # shuts up a warning in rdoctask.rb
|
|
12
|
-
|
|
13
11
|
class TestHoe < Minitest::Test
|
|
12
|
+
def without_plugins
|
|
13
|
+
old = Hoe.plugins.dup
|
|
14
|
+
Hoe.plugins.clear
|
|
15
|
+
|
|
16
|
+
yield
|
|
17
|
+
ensure
|
|
18
|
+
Hoe.plugins.replace old
|
|
19
|
+
end
|
|
20
|
+
|
|
14
21
|
def hoe *skips, &b
|
|
15
22
|
@hoe ||= Hoe.spec "blah" do
|
|
16
23
|
developer "author", "email"
|
|
@@ -150,6 +157,8 @@ class TestHoe < Minitest::Test
|
|
|
150
157
|
File.write "README.rdoc", "= blah\n\nhome :: http://blah/"
|
|
151
158
|
File.write "History.rdoc", "=== 1.0"
|
|
152
159
|
|
|
160
|
+
hoe = without_plugins { self.hoe }
|
|
161
|
+
|
|
153
162
|
assert_equal "History.rdoc", hoe.history_file
|
|
154
163
|
assert_equal "README.rdoc", hoe.readme_file
|
|
155
164
|
assert_equal %w[FAQ.rdoc History.rdoc README.rdoc],
|
|
@@ -180,7 +189,7 @@ class TestHoe < Minitest::Test
|
|
|
180
189
|
hoe
|
|
181
190
|
end
|
|
182
191
|
|
|
183
|
-
|
|
192
|
+
assert_match(/wrong format/, e.message)
|
|
184
193
|
end
|
|
185
194
|
end
|
|
186
195
|
end
|
|
@@ -196,30 +205,17 @@ class TestHoe < Minitest::Test
|
|
|
196
205
|
end
|
|
197
206
|
end
|
|
198
207
|
|
|
199
|
-
def test_parse_urls_ary
|
|
200
|
-
ary = ["* https://github.com/seattlerb/hoe",
|
|
201
|
-
"* http://docs.seattlerb.org/hoe/",
|
|
202
|
-
"* http://docs.seattlerb.org/hoe/Hoe.pdf",
|
|
203
|
-
"* http://github.com/jbarnette/hoe-plugin-examples"].join "\n"
|
|
204
|
-
|
|
205
|
-
assert_raises RuntimeError do
|
|
206
|
-
hoe.parse_urls ary
|
|
207
|
-
end
|
|
208
|
-
end
|
|
209
|
-
|
|
210
208
|
def test_parse_urls_hash
|
|
211
209
|
hash = [
|
|
212
210
|
"home :: https://github.com/seattlerb/hoe",
|
|
213
|
-
"rdoc ::
|
|
214
|
-
"
|
|
215
|
-
"other ::
|
|
211
|
+
"rdoc :: https://docs.seattlerb.org/hoe/",
|
|
212
|
+
"doco2 :: https://docs.seattlerb.org/hoe/Hoe.pdf",
|
|
213
|
+
"other :: https://github.com/jbarnette/hoe-plugin-examples",
|
|
216
214
|
].join "\n"
|
|
217
215
|
|
|
218
216
|
exp = {
|
|
219
|
-
"home"
|
|
220
|
-
"rdoc"
|
|
221
|
-
"doco" => "http://docs.seattlerb.org/hoe/Hoe.pdf",
|
|
222
|
-
"other" => "http://github.com/jbarnette/hoe-plugin-examples",
|
|
217
|
+
"home" => "https://github.com/seattlerb/hoe",
|
|
218
|
+
"rdoc" => "https://docs.seattlerb.org/hoe/",
|
|
223
219
|
}
|
|
224
220
|
|
|
225
221
|
assert_equal exp, hoe.parse_urls(hash)
|
|
@@ -242,8 +238,6 @@ class TestHoe < Minitest::Test
|
|
|
242
238
|
make working with file tasks cleaner, easier, and faster.
|
|
243
239
|
EOM
|
|
244
240
|
|
|
245
|
-
|
|
246
|
-
|
|
247
241
|
assert_silent do
|
|
248
242
|
h = Hoe.spec "blah" do
|
|
249
243
|
developer "author", "email"
|
|
@@ -258,13 +252,17 @@ class TestHoe < Minitest::Test
|
|
|
258
252
|
end
|
|
259
253
|
|
|
260
254
|
desc = mrww_readme.lines[10..11].join.chomp
|
|
255
|
+
summ = desc.chomp(".")
|
|
256
|
+
rdoc = "\n\n==== To Install:\n"
|
|
257
|
+
desc += rdoc
|
|
258
|
+
|
|
261
259
|
urls = {
|
|
262
260
|
"home" => "https://github.com/seattlerb/makerakeworkwell",
|
|
263
261
|
"rdoc" => "http://docs.seattlerb.org/makerakeworkwell"
|
|
264
262
|
}
|
|
265
263
|
|
|
266
264
|
assert_equal desc, h.description
|
|
267
|
-
assert_equal
|
|
265
|
+
assert_equal summ, h.summary
|
|
268
266
|
assert_equal urls, h.urls
|
|
269
267
|
end
|
|
270
268
|
|
|
@@ -352,6 +350,8 @@ class TestHoe < Minitest::Test
|
|
|
352
350
|
assert_equal exp, hoe.parse_urls(hash)
|
|
353
351
|
end
|
|
354
352
|
|
|
353
|
+
make_my_diffs_pretty!
|
|
354
|
+
|
|
355
355
|
def test_possibly_better
|
|
356
356
|
t = Gem::Specification::TODAY
|
|
357
357
|
|
|
@@ -365,13 +365,11 @@ class TestHoe < Minitest::Test
|
|
|
365
365
|
spec.date = nil # forces Date.today. default switched to 1980 for some reason
|
|
366
366
|
|
|
367
367
|
urls = {
|
|
368
|
-
"home" => "
|
|
368
|
+
"home" => "https://zenspider.com/projects/hoe.html",
|
|
369
369
|
"code" => "https://github.com/seattlerb/hoe",
|
|
370
370
|
"bugs" => "https://github.com/seattlerb/hoe/issues",
|
|
371
|
-
"
|
|
372
|
-
"doco" => "http://docs.seattlerb.org/hoe/Hoe.pdf",
|
|
371
|
+
"doco" => "https://docs.seattlerb.org/hoe/",
|
|
373
372
|
"clog" => "https://github.com/seattlerb/hoe/blob/master/History.rdoc",
|
|
374
|
-
"other" => "http://github.com/jbarnette/hoe-plugin-examples",
|
|
375
373
|
}
|
|
376
374
|
|
|
377
375
|
assert_equal urls, hoe.urls
|
|
@@ -397,9 +395,11 @@ class TestHoe < Minitest::Test
|
|
|
397
395
|
|
|
398
396
|
deps = spec.dependencies.sort_by(&:name)
|
|
399
397
|
|
|
398
|
+
version = Hoe::VERSION[/\d+\.\d+/]
|
|
399
|
+
|
|
400
400
|
expected = [
|
|
401
|
-
["hoe", :development, "~> #{
|
|
402
|
-
["rdoc", :development, "<
|
|
401
|
+
["hoe", :development, "~> #{version}"],
|
|
402
|
+
["rdoc", :development, "< 8", ">= 6.0"],
|
|
403
403
|
]
|
|
404
404
|
|
|
405
405
|
assert_equal expected, deps.map { |dep|
|
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.5.1.beta.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryan Davis
|
|
@@ -9,9 +9,9 @@ bindir: bin
|
|
|
9
9
|
cert_chain:
|
|
10
10
|
- |
|
|
11
11
|
-----BEGIN CERTIFICATE-----
|
|
12
|
-
|
|
12
|
+
MIIDPjCCAiagAwIBAgIBCjANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
|
|
13
13
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
|
14
|
-
|
|
14
|
+
GRYDY29tMB4XDTI2MDEwNzAxMDkxNFoXDTI3MDEwNzAxMDkxNFowRTETMBEGA1UE
|
|
15
15
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
|
16
16
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
|
17
17
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
|
@@ -21,12 +21,12 @@ cert_chain:
|
|
|
21
21
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
|
22
22
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
|
23
23
|
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBCwUAA4IB
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
AQA/X8/PKTTc/IkYQEUL6XWtfK8fAfbuLJzmLcz6f2ZWrtBvPsYvqRuwI1bWUtil
|
|
25
|
+
2ibJEfIuSIHX6BsUTX18+hlaIussf6EWq/YkE7e2BKmgQE42vSOZMce0kCEAPbx0
|
|
26
|
+
rQtqonfWTHQ8UbQ7GqCL3gDQ0QDD2B+HUlb4uaCZ2icxqa/eOtxMvHC2tj+h0xKY
|
|
27
|
+
xL84ipM5kr0bHGf9/MRZJWcw51urueNycBXu1Xh+pEN8qBmYsFRR4SIODLClybAO
|
|
28
|
+
6cbm2PyPQgKNiqE4H+IQrDVHd9bJs1XgLElk3qoaJBWXc/5fy0J1imYb25UqmiHG
|
|
29
|
+
snGe1hrppvBRdcyEzvhfIPjI
|
|
30
30
|
-----END CERTIFICATE-----
|
|
31
31
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
32
32
|
dependencies:
|
|
@@ -34,42 +34,36 @@ dependencies:
|
|
|
34
34
|
name: rake
|
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
|
-
- - "
|
|
38
|
-
- !ruby/object:Gem::Version
|
|
39
|
-
version: '0.8'
|
|
40
|
-
- - "<"
|
|
37
|
+
- - "~>"
|
|
41
38
|
- !ruby/object:Gem::Version
|
|
42
|
-
version: '
|
|
39
|
+
version: '13.0'
|
|
43
40
|
type: :runtime
|
|
44
41
|
prerelease: false
|
|
45
42
|
version_requirements: !ruby/object:Gem::Requirement
|
|
46
43
|
requirements:
|
|
47
|
-
- - "
|
|
48
|
-
- !ruby/object:Gem::Version
|
|
49
|
-
version: '0.8'
|
|
50
|
-
- - "<"
|
|
44
|
+
- - "~>"
|
|
51
45
|
- !ruby/object:Gem::Version
|
|
52
|
-
version: '
|
|
46
|
+
version: '13.0'
|
|
53
47
|
- !ruby/object:Gem::Dependency
|
|
54
48
|
name: rdoc
|
|
55
49
|
requirement: !ruby/object:Gem::Requirement
|
|
56
50
|
requirements:
|
|
57
51
|
- - ">="
|
|
58
52
|
- !ruby/object:Gem::Version
|
|
59
|
-
version: '
|
|
53
|
+
version: '6.0'
|
|
60
54
|
- - "<"
|
|
61
55
|
- !ruby/object:Gem::Version
|
|
62
|
-
version: '
|
|
56
|
+
version: '8'
|
|
63
57
|
type: :development
|
|
64
58
|
prerelease: false
|
|
65
59
|
version_requirements: !ruby/object:Gem::Requirement
|
|
66
60
|
requirements:
|
|
67
61
|
- - ">="
|
|
68
62
|
- !ruby/object:Gem::Version
|
|
69
|
-
version: '
|
|
63
|
+
version: '6.0'
|
|
70
64
|
- - "<"
|
|
71
65
|
- !ruby/object:Gem::Version
|
|
72
|
-
version: '
|
|
66
|
+
version: '8'
|
|
73
67
|
- !ruby/object:Gem::Dependency
|
|
74
68
|
name: simplecov
|
|
75
69
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -94,7 +88,16 @@ description: |-
|
|
|
94
88
|
See class rdoc for help. Hint: `ri Hoe` or any of the plugins listed
|
|
95
89
|
below.
|
|
96
90
|
|
|
97
|
-
For extra goodness, see:
|
|
91
|
+
For extra goodness, see: https://docs.seattlerb.org/hoe/Hoe.pdf
|
|
92
|
+
|
|
93
|
+
== Features/Problems:
|
|
94
|
+
|
|
95
|
+
* Includes a dynamic plug-in system allowing for easy extensibility.
|
|
96
|
+
* Auto-intuits changes, description, summary, and version.
|
|
97
|
+
* Uses a manifest for safe and secure deployment.
|
|
98
|
+
* Provides 'sow' for quick project directory creation.
|
|
99
|
+
* Sow uses a simple ERB templating system allowing you to capture your
|
|
100
|
+
project patterns.
|
|
98
101
|
email:
|
|
99
102
|
- ryand-ruby@zenspider.com
|
|
100
103
|
executables:
|
|
@@ -122,6 +125,7 @@ files:
|
|
|
122
125
|
- lib/hoe/flog.rb
|
|
123
126
|
- lib/hoe/gem_prelude_sucks.rb
|
|
124
127
|
- lib/hoe/gemcutter.rb
|
|
128
|
+
- lib/hoe/git.rb
|
|
125
129
|
- lib/hoe/inline.rb
|
|
126
130
|
- lib/hoe/newb.rb
|
|
127
131
|
- lib/hoe/package.rb
|
|
@@ -145,14 +149,14 @@ files:
|
|
|
145
149
|
- test/test_hoe_package.rb
|
|
146
150
|
- test/test_hoe_publish.rb
|
|
147
151
|
- test/test_hoe_test.rb
|
|
148
|
-
homepage:
|
|
152
|
+
homepage: https://zenspider.com/projects/hoe.html
|
|
149
153
|
licenses:
|
|
150
154
|
- MIT
|
|
151
155
|
metadata:
|
|
152
|
-
homepage_uri:
|
|
156
|
+
homepage_uri: https://zenspider.com/projects/hoe.html
|
|
153
157
|
source_code_uri: https://github.com/seattlerb/hoe
|
|
154
158
|
bug_tracker_uri: https://github.com/seattlerb/hoe/issues
|
|
155
|
-
documentation_uri:
|
|
159
|
+
documentation_uri: https://docs.seattlerb.org/hoe/
|
|
156
160
|
changelog_uri: https://github.com/seattlerb/hoe/blob/master/History.rdoc
|
|
157
161
|
rdoc_options:
|
|
158
162
|
- "--main"
|
|
@@ -163,10 +167,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
163
167
|
requirements:
|
|
164
168
|
- - ">="
|
|
165
169
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: '2
|
|
167
|
-
- - "<"
|
|
168
|
-
- !ruby/object:Gem::Version
|
|
169
|
-
version: '4'
|
|
170
|
+
version: '3.2'
|
|
170
171
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
171
172
|
requirements:
|
|
172
173
|
- - ">="
|
metadata.gz.sig
CHANGED
|
Binary file
|