hoe 4.6.1 → 4.7.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0d7dba45c80f5bbddc2b84068e7c118f72a4e67c3d18f3bab129cb889928a468
4
- data.tar.gz: 1a2aac15390a9b5e245d5e0eec7917c398321047cc2a4ff11cb8b1bf0e12a0f0
3
+ metadata.gz: 20ec1f5d237fc914227d856620a07c1b89a0fd4b9b30774cad19ac0aeaf5447f
4
+ data.tar.gz: e7d40ade197f7de061bf861dfb232177dccbb4bd95327d7f67690eb147df2e1e
5
5
  SHA512:
6
- metadata.gz: de0cc99b4c941f729c2b4fd248354efee6cc939ce390a9c10506203d46d6afcbd3e1e89d39b45e2e7b683175077d219c5e7b3bb6f7285218bd0561cb49678423
7
- data.tar.gz: ed575ecb590c942e0d61ffd11eb2fc0162f8a98fc8ad65d0e72c5410d802fab3dce0ed369d1787793e885d43f0f74146f825f45f64e9afcffe7f3b602873d318
6
+ metadata.gz: 33e07aa62f9cee923c51e36a39698d91752e86e1d644750a2c16d42d4413eb0bd998991730b6c33bd03b487e384a6f552ec821174318be8f40cdc010d1d2cf2d
7
+ data.tar.gz: 7788b5fbbb8314a5dfa05653adcef61e6399760d4ff9ace79cb5ced206f9aa0a2b72015384d927ad11b5ebe1ec23067116951f7d0ee6ba6c256571211f87b0e1
checksums.yaml.gz.sig CHANGED
Binary file
data/History.rdoc CHANGED
@@ -1,3 +1,16 @@
1
+ === 4.7.1 / 2026-07-03
2
+
3
+ * 1 bug fix:
4
+
5
+ * Remove Manifest.txt from extra_rdoc_files as latest rdoc mangles the file.
6
+
7
+ === 4.7.0 / 2026-04-22
8
+
9
+ * 2 minor enhancements:
10
+
11
+ * Added cov_branches to enable branch level coverage reporting.
12
+ * Merged hoe/gemcutter into hoe/package. Distinction doesn't make sense.
13
+
1
14
  === 4.6.1 / 2026-02-23
2
15
 
3
16
  * 1 minor enhancement:
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/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/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.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.6.1"
90
+ VERSION = "4.7.1"
91
91
 
92
92
  @@plugins = [:clean, :debug, :deps, :flay, :flog, :newb, :package,
93
- :publish, :gemcutter, :signing, :test]
93
+ :publish, :signing, :test]
94
94
 
95
95
  @bad_plugins = []
96
96
 
@@ -580,9 +580,15 @@ class Hoe
580
580
  s.author = author
581
581
  end
582
582
 
583
- s.extra_rdoc_files += s.files.grep(/\.(txt|rdoc|md)$/)
584
- s.extra_rdoc_files.reject! { |f| f =~ %r%^(test|spec|vendor|template|data|tmp)/% }
585
- s.extra_rdoc_files += @extra_rdoc_files
583
+ # TODO: pull up to accessors?
584
+ bad_files = %w[ Manifest.txt ]
585
+ bad_dirs = %w[ test spec vendor template data tmp ]
586
+
587
+ s.extra_rdoc_files += s.files
588
+ .grep(/\.(txt|rdoc|md)$/)
589
+ .grep_v(/^(?:#{bad_files.join "|"})/)
590
+ .grep_v(/^(?:#{bad_dirs.join "|"})\//)
591
+ s.extra_rdoc_files += self.extra_rdoc_files
586
592
  end
587
593
 
588
594
  check_for_version
data/test/test_hoe.rb CHANGED
@@ -374,7 +374,7 @@ class TestHoe < Minitest::Test
374
374
 
375
375
  assert_equal urls, hoe.urls
376
376
 
377
- text_files = files.grep(/(txt|rdoc)$/).reject { |f| f =~ /template/ }
377
+ text_files = files.grep(/(txt|rdoc)$/).reject { |f| f =~ /template|Manifest/ }
378
378
 
379
379
  assert_equal "blah", spec.name
380
380
  assert_equal "1.2.3", spec.version.to_s
@@ -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
 
@@ -25,7 +25,7 @@ class TestHoePublish < Minitest::Test
25
25
  -o doc
26
26
  --main README.rdoc
27
27
  lib
28
- History.rdoc Manifest.txt README.rdoc
28
+ History.rdoc README.rdoc
29
29
  ]
30
30
 
31
31
  # skip if linux?
data.tar.gz.sig CHANGED
@@ -1,4 +1 @@
1
- <�O����lNk
2
- C���� ��)3�j�z0��ë�';3P�A.B
3
- �� G��q���������eyr<?:c�̶A���A�
4
- ~�)��9��G�A
1
+ �c��^�������Z����L���5���W~9�d[Ozoz��u͑a V�o�����&c@^��C[��j���y������
2
+ ��\��}A�#�T�9]��5a��u{���
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.6.1
4
+ version: 4.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Davis
@@ -105,7 +105,6 @@ executables:
105
105
  extensions: []
106
106
  extra_rdoc_files:
107
107
  - History.rdoc
108
- - Manifest.txt
109
108
  - README.rdoc
110
109
  files:
111
110
  - ".autotest"
@@ -124,7 +123,6 @@ files:
124
123
  - lib/hoe/flay.rb
125
124
  - lib/hoe/flog.rb
126
125
  - lib/hoe/gem_prelude_sucks.rb
127
- - lib/hoe/gemcutter.rb
128
126
  - lib/hoe/git.rb
129
127
  - lib/hoe/inline.rb
130
128
  - lib/hoe/newb.rb
@@ -145,7 +143,6 @@ files:
145
143
  - template/test/test_file_name.rb.erb
146
144
  - test/test_hoe.rb
147
145
  - test/test_hoe_debug.rb
148
- - test/test_hoe_gemcutter.rb
149
146
  - test/test_hoe_package.rb
150
147
  - test/test_hoe_publish.rb
151
148
  - test/test_hoe_test.rb
@@ -174,7 +171,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
174
171
  - !ruby/object:Gem::Version
175
172
  version: '3.0'
176
173
  requirements: []
177
- rubygems_version: 3.7.2
174
+ rubygems_version: 4.0.12
178
175
  specification_version: 4
179
176
  summary: Hoe is a rake/rubygems helper for project Rakefiles
180
177
  test_files: []
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
@@ -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