hoe 4.6.0 → 4.7.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 +2 -3
- data/History.rdoc +18 -0
- data/Manifest.txt +0 -2
- data/bin/sow +7 -1
- data/lib/hoe/cov.rb +12 -1
- data/lib/hoe/debug.rb +1 -1
- data/lib/hoe/package.rb +29 -0
- data/lib/hoe/rake.rb +1 -1
- data/lib/hoe.rb +5 -2
- data/test/test_hoe_package.rb +54 -2
- data.tar.gz.sig +0 -0
- metadata +1 -3
- metadata.gz.sig +0 -0
- data/lib/hoe/gemcutter.rb +0 -44
- data/test/test_hoe_gemcutter.rb +0 -38
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a47db98a0422c274cefb089291c685fc8e96a4df9cdcd8147f14f0c65cff70de
|
|
4
|
+
data.tar.gz: 6fb65c19376ab2fc8260e6494516dfcc68addcadd6e9ab7f56c0e259202b02dc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2227db950c24e51df2ac48c78b5b1e55c9a93090f3c1481cbf6b7733aa726e448341f0cf2bbe5bcd5cbc3f23d37371a9eeafcf1ebf96223414f24b4013289a33
|
|
7
|
+
data.tar.gz: 9aadc713bae85b54c02e1460f599d5ac1a12c27418a22b58be6f7053b8c29f2a2f5b07bd9d4ef64219e3b309f6d73852a58abd5bcb891efccb997b6fc15e21e4
|
checksums.yaml.gz.sig
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|��$`�;���h&��z�q�v���O�p>j���ws�q�8/*��Xw��1�r����g���a���M��>S
|
|
1
|
+
y��)[�b2T��Il� ��ۙ�o��~x�4�`OAUJg�6���R�ɕ�"@)�Cq���OM����|�x�wX]S��1CB�ґg�>�5g8ٶ(ȝB��!�"AC�]��U�3f����4���{�(�^\�)'<�AO�ƹq��
|
|
2
|
+
�6��R�bl��N�x1{Θgׂ��������'�s�P%Lvf-Q#^��Ґ�e�:�L��:�&�����*v��!X4X���e�7+�u5�F�mQ
|
data/History.rdoc
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
=== 4.7.0 / 2026-04-22
|
|
2
|
+
|
|
3
|
+
* 2 minor enhancements:
|
|
4
|
+
|
|
5
|
+
* Added cov_branches to enable branch level coverage reporting.
|
|
6
|
+
* Merged hoe/gemcutter into hoe/package. Distinction doesn't make sense.
|
|
7
|
+
|
|
8
|
+
=== 4.6.1 / 2026-02-23
|
|
9
|
+
|
|
10
|
+
* 1 minor enhancement:
|
|
11
|
+
|
|
12
|
+
* Added -C dir arg to sow to cd to dir before creating so I can test local changes easier.
|
|
13
|
+
|
|
14
|
+
* 2 bug fixes:
|
|
15
|
+
|
|
16
|
+
* Fixes for a very buggy rdoc... wtf
|
|
17
|
+
* Switch to pp for debug_gem. Long file lists are finally readable. Gem#to_ruby is ugly as fuck.
|
|
18
|
+
|
|
1
19
|
=== 4.6.0 / 2026-01-28
|
|
2
20
|
|
|
3
21
|
* 6 minor enhancements:
|
data/Manifest.txt
CHANGED
|
@@ -14,7 +14,6 @@ lib/hoe/deps.rb
|
|
|
14
14
|
lib/hoe/flay.rb
|
|
15
15
|
lib/hoe/flog.rb
|
|
16
16
|
lib/hoe/gem_prelude_sucks.rb
|
|
17
|
-
lib/hoe/gemcutter.rb
|
|
18
17
|
lib/hoe/git.rb
|
|
19
18
|
lib/hoe/inline.rb
|
|
20
19
|
lib/hoe/newb.rb
|
|
@@ -35,7 +34,6 @@ template/lib/file_name.rb.erb
|
|
|
35
34
|
template/test/test_file_name.rb.erb
|
|
36
35
|
test/test_hoe.rb
|
|
37
36
|
test/test_hoe_debug.rb
|
|
38
|
-
test/test_hoe_gemcutter.rb
|
|
39
37
|
test/test_hoe_package.rb
|
|
40
38
|
test/test_hoe_publish.rb
|
|
41
39
|
test/test_hoe_test.rb
|
data/bin/sow
CHANGED
|
@@ -22,12 +22,14 @@ end
|
|
|
22
22
|
|
|
23
23
|
def make_sub_modules klass
|
|
24
24
|
last = nil
|
|
25
|
-
result =
|
|
25
|
+
result = []
|
|
26
|
+
|
|
26
27
|
klass.split("::")[0..-2].each do |part|
|
|
27
28
|
last = [last, part].compact.join("::")
|
|
28
29
|
result << "module #{last}; end\n"
|
|
29
30
|
end
|
|
30
31
|
result << "\n" unless result.empty?
|
|
32
|
+
result.join
|
|
31
33
|
end
|
|
32
34
|
|
|
33
35
|
op = OptionParser.new do |opts|
|
|
@@ -45,6 +47,10 @@ op = OptionParser.new do |opts|
|
|
|
45
47
|
option[:subdir] = "dev"
|
|
46
48
|
end
|
|
47
49
|
|
|
50
|
+
opts.on "-C dir", String, "Change directory to dir before creating project." do |d|
|
|
51
|
+
Dir.chdir d
|
|
52
|
+
end
|
|
53
|
+
|
|
48
54
|
opts.on("-s style", "--style style", String, "Use template <style>.") do |s|
|
|
49
55
|
option[:style] = s
|
|
50
56
|
end
|
data/lib/hoe/cov.rb
CHANGED
|
@@ -9,11 +9,21 @@ module Hoe::Cov
|
|
|
9
9
|
|
|
10
10
|
##
|
|
11
11
|
# Directories to filter out from coverage.
|
|
12
|
+
#
|
|
13
|
+
# The default = tmp:test
|
|
12
14
|
|
|
13
15
|
attr_accessor :cov_filter
|
|
14
16
|
|
|
17
|
+
##
|
|
18
|
+
# Set to true to enable branch level coverage reporting.
|
|
19
|
+
#
|
|
20
|
+
# The default = false
|
|
21
|
+
|
|
22
|
+
attr_accessor :cov_branches
|
|
23
|
+
|
|
15
24
|
def initialize_cov # :nodoc:
|
|
16
25
|
self.cov_filter = %w[tmp test]
|
|
26
|
+
self.cov_branches = nil
|
|
17
27
|
end
|
|
18
28
|
|
|
19
29
|
##
|
|
@@ -33,8 +43,9 @@ module Hoe::Cov
|
|
|
33
43
|
|
|
34
44
|
desc "Run tests and analyze code coverage"
|
|
35
45
|
task :cov => :isolate do
|
|
46
|
+
extra = cov_branches && "; enable_coverage :branch"
|
|
36
47
|
test_task.test_prelude =
|
|
37
|
-
%(require "simplecov"; SimpleCov.start { add_filter %p }) % [cov_filter]
|
|
48
|
+
%(require "simplecov"; SimpleCov.start { add_filter %p%s }) % [cov_filter, extra]
|
|
38
49
|
|
|
39
50
|
Rake::Task[:test].invoke
|
|
40
51
|
end
|
data/lib/hoe/debug.rb
CHANGED
data/lib/hoe/package.rb
CHANGED
|
@@ -18,6 +18,10 @@ end
|
|
|
18
18
|
# release:: Package and upload the release.
|
|
19
19
|
|
|
20
20
|
module Hoe::Package
|
|
21
|
+
include Rake::DSL if defined?(Rake::DSL)
|
|
22
|
+
|
|
23
|
+
Hoe::DEFAULT_CONFIG["otp_command"] = false
|
|
24
|
+
|
|
21
25
|
##
|
|
22
26
|
# Optional: Should package create a tarball? [default: true]
|
|
23
27
|
|
|
@@ -80,6 +84,16 @@ module Hoe::Package
|
|
|
80
84
|
abort "Versions don't match: %s vs %s" % [v, version] if v != version
|
|
81
85
|
abort "Versions don't match %s: %s vs %s" % [history_file, v, c] if v != c
|
|
82
86
|
end
|
|
87
|
+
|
|
88
|
+
desc "Push gem to package."
|
|
89
|
+
task :release_to_rubygems => [:clean, :package, :release_sanity] do
|
|
90
|
+
pkg = "pkg/#{spec.name}-#{spec.version}"
|
|
91
|
+
gems = Dir["#{pkg}*.gem"]
|
|
92
|
+
|
|
93
|
+
gem_push gems
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
task :release_to => :release_to_rubygems
|
|
83
97
|
end
|
|
84
98
|
|
|
85
99
|
##
|
|
@@ -121,4 +135,19 @@ module Hoe::Package
|
|
|
121
135
|
(Gem::VERSION < "1.4" and pre !~ /^[a-z]+(\.\d+)?$/) or
|
|
122
136
|
(Gem::VERSION >= "1.4" and pre !~ /^[a-z]+(\.?\d+)?$/)
|
|
123
137
|
end
|
|
138
|
+
|
|
139
|
+
##
|
|
140
|
+
# Push gems to server.
|
|
141
|
+
|
|
142
|
+
def gem_push gems
|
|
143
|
+
with_config do |config, _|
|
|
144
|
+
otp_command = config["otp_command"]
|
|
145
|
+
|
|
146
|
+
ENV["GEM_HOST_OTP_CODE"] = `#{otp_command}`.chomp if otp_command
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
gems.each do |g|
|
|
150
|
+
sh Gem.ruby, "-S", "gem", "push", g
|
|
151
|
+
end
|
|
152
|
+
end
|
|
124
153
|
end
|
data/lib/hoe/rake.rb
CHANGED
data/lib/hoe.rb
CHANGED
|
@@ -87,10 +87,10 @@ class Hoe
|
|
|
87
87
|
include Rake::DSL if defined?(Rake::DSL)
|
|
88
88
|
|
|
89
89
|
# duh
|
|
90
|
-
VERSION = "4.
|
|
90
|
+
VERSION = "4.7.0"
|
|
91
91
|
|
|
92
92
|
@@plugins = [:clean, :debug, :deps, :flay, :flog, :newb, :package,
|
|
93
|
-
:publish, :
|
|
93
|
+
:publish, :signing, :test]
|
|
94
94
|
|
|
95
95
|
@bad_plugins = []
|
|
96
96
|
|
|
@@ -984,3 +984,6 @@ class File # :nodoc:
|
|
|
984
984
|
end
|
|
985
985
|
end
|
|
986
986
|
end
|
|
987
|
+
|
|
988
|
+
module Gem # :nodoc:
|
|
989
|
+
end
|
data/test/test_hoe_package.rb
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
require "minitest/autorun"
|
|
2
2
|
require "hoe"
|
|
3
|
-
|
|
4
|
-
Hoe.load_plugins
|
|
3
|
+
require_relative "../lib/hoe/package.rb"
|
|
5
4
|
|
|
6
5
|
class TestHoePackage < Minitest::Test
|
|
7
6
|
def setup
|
|
@@ -23,6 +22,10 @@ class TestHoePackage < Minitest::Test
|
|
|
23
22
|
end
|
|
24
23
|
|
|
25
24
|
attr_reader :spec
|
|
25
|
+
|
|
26
|
+
def with_config
|
|
27
|
+
yield({ "otp_command" => "echo my_otp_code"}, "~/.hoerc")
|
|
28
|
+
end
|
|
26
29
|
end
|
|
27
30
|
end
|
|
28
31
|
|
|
@@ -31,6 +34,55 @@ class TestHoePackage < Minitest::Test
|
|
|
31
34
|
ENV["PRERELEASE"] = @orig_PRERELEASE
|
|
32
35
|
end
|
|
33
36
|
|
|
37
|
+
def assert_task name, *deps
|
|
38
|
+
dep = Rake::Task[name]
|
|
39
|
+
assert dep
|
|
40
|
+
prereqs = dep.prerequisites.map(&:to_sym)
|
|
41
|
+
deps.each do |dep|
|
|
42
|
+
# not asserting existence of tasks because they might be in other plugins
|
|
43
|
+
assert_includes prereqs, dep.to_sym
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def test_package_tasks_defined
|
|
48
|
+
@tester.define_package_tasks
|
|
49
|
+
|
|
50
|
+
assert_task :gem, :clean
|
|
51
|
+
assert_task :install_gem, :clean, :package, :check_extra_deps
|
|
52
|
+
assert_task :postrelease
|
|
53
|
+
assert_task :prerelease
|
|
54
|
+
assert_task :release, :prerelease, :release_to, :postrelease
|
|
55
|
+
assert_task :release_sanity
|
|
56
|
+
assert_task :release_to
|
|
57
|
+
assert_task :release_to, :release_to_rubygems
|
|
58
|
+
assert_task :release_to_rubygems, :clean, :package, :release_sanity
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def save_env
|
|
62
|
+
orig_env = ENV.to_h
|
|
63
|
+
yield
|
|
64
|
+
ensure
|
|
65
|
+
ENV.replace orig_env
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def test_gem_push
|
|
69
|
+
def @tester.sh *cmd_args
|
|
70
|
+
@cmd_args = cmd_args
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def @tester.cmd_args
|
|
74
|
+
@cmd_args
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
save_env do
|
|
78
|
+
@tester.gem_push %w[pkg/blah-123.gem]
|
|
79
|
+
|
|
80
|
+
exp = %W[#{Gem.ruby} -S gem push pkg/blah-123.gem]
|
|
81
|
+
assert_equal exp, @tester.cmd_args
|
|
82
|
+
assert_equal "my_otp_code", ENV["GEM_HOST_OTP_CODE"]
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
|
|
34
86
|
def test_prerelease_version_pre
|
|
35
87
|
ENV["PRE"] = "pre.0"
|
|
36
88
|
|
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.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryan Davis
|
|
@@ -124,7 +124,6 @@ files:
|
|
|
124
124
|
- lib/hoe/flay.rb
|
|
125
125
|
- lib/hoe/flog.rb
|
|
126
126
|
- lib/hoe/gem_prelude_sucks.rb
|
|
127
|
-
- lib/hoe/gemcutter.rb
|
|
128
127
|
- lib/hoe/git.rb
|
|
129
128
|
- lib/hoe/inline.rb
|
|
130
129
|
- lib/hoe/newb.rb
|
|
@@ -145,7 +144,6 @@ files:
|
|
|
145
144
|
- template/test/test_file_name.rb.erb
|
|
146
145
|
- test/test_hoe.rb
|
|
147
146
|
- test/test_hoe_debug.rb
|
|
148
|
-
- test/test_hoe_gemcutter.rb
|
|
149
147
|
- test/test_hoe_package.rb
|
|
150
148
|
- test/test_hoe_publish.rb
|
|
151
149
|
- test/test_hoe_test.rb
|
metadata.gz.sig
CHANGED
|
Binary file
|
data/lib/hoe/gemcutter.rb
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
require "rake"
|
|
2
|
-
|
|
3
|
-
##
|
|
4
|
-
# Gemcutter plugin for hoe.
|
|
5
|
-
#
|
|
6
|
-
# === Extra Configuration Options:
|
|
7
|
-
#
|
|
8
|
-
# otp_command:: Shell command to run to populate GEM_HOST_OTP_CODE.
|
|
9
|
-
|
|
10
|
-
module Hoe::Gemcutter
|
|
11
|
-
include Rake::DSL if defined?(Rake::DSL)
|
|
12
|
-
|
|
13
|
-
Hoe::DEFAULT_CONFIG["otp_command"] = false
|
|
14
|
-
|
|
15
|
-
##
|
|
16
|
-
# Push gems to server.
|
|
17
|
-
|
|
18
|
-
def gem_push gems
|
|
19
|
-
with_config do |config, _|
|
|
20
|
-
otp_command = config["otp_command"]
|
|
21
|
-
|
|
22
|
-
ENV["GEM_HOST_OTP_CODE"] = `#{otp_command}`.chomp if otp_command
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
gems.each do |g|
|
|
26
|
-
sh Gem.ruby, "-S", "gem", "push", g
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
##
|
|
31
|
-
# Define release_to_gemcutter and attach it to the release task.
|
|
32
|
-
|
|
33
|
-
def define_gemcutter_tasks
|
|
34
|
-
desc "Push gem to gemcutter."
|
|
35
|
-
task :release_to_gemcutter => [:clean, :package, :release_sanity] do
|
|
36
|
-
pkg = "pkg/#{spec.name}-#{spec.version}"
|
|
37
|
-
gems = Dir["#{pkg}*.gem"]
|
|
38
|
-
|
|
39
|
-
gem_push gems
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
task :release_to => :release_to_gemcutter
|
|
43
|
-
end
|
|
44
|
-
end unless defined? Hoe::Gemcutter
|
data/test/test_hoe_gemcutter.rb
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
require "minitest/autorun"
|
|
2
|
-
require "hoe"
|
|
3
|
-
require_relative "../lib/hoe/gemcutter"
|
|
4
|
-
|
|
5
|
-
class TestHoeGemcutter < Minitest::Test
|
|
6
|
-
include Hoe::Gemcutter
|
|
7
|
-
|
|
8
|
-
def test_gemcutter_tasks_defined
|
|
9
|
-
define_gemcutter_tasks
|
|
10
|
-
assert Rake::Task[:release_to_gemcutter]
|
|
11
|
-
assert Rake::Task[:release_to].prerequisites.include?("release_to_gemcutter")
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def sh *cmd_args
|
|
15
|
-
@cmd_args = cmd_args
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def with_config
|
|
19
|
-
yield({ "otp_command" => "echo my_otp_code"}, "~/.hoerc")
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def save_env
|
|
23
|
-
orig_env = ENV.to_h
|
|
24
|
-
yield
|
|
25
|
-
ensure
|
|
26
|
-
ENV.replace orig_env
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
def test_gem_push
|
|
30
|
-
save_env do
|
|
31
|
-
gem_push %w[pkg/blah-123.gem]
|
|
32
|
-
|
|
33
|
-
exp = %W[#{Gem.ruby} -S gem push pkg/blah-123.gem]
|
|
34
|
-
assert_equal exp, @cmd_args
|
|
35
|
-
assert_equal "my_otp_code", ENV["GEM_HOST_OTP_CODE"]
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|