hoe 3.24.0 → 3.26.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 +21 -0
- data/Manifest.txt +1 -1
- data/Rakefile +1 -0
- data/lib/hoe/clean.rb +1 -1
- data/lib/hoe/cov.rb +34 -0
- data/lib/hoe/gemcutter.rb +23 -5
- data/lib/hoe/package.rb +1 -2
- data/lib/hoe/test.rb +7 -2
- data/lib/hoe.rb +1 -1
- data/lib/minitest/test_task.rb +9 -0
- data/test/test_hoe.rb +4 -4
- data/test/test_hoe_debug.rb +2 -3
- data/test/test_hoe_gemcutter.rb +26 -3
- data/test/test_hoe_package.rb +1 -1
- data/test/test_hoe_publish.rb +0 -1
- data/test/test_hoe_test.rb +2 -5
- data.tar.gz.sig +0 -0
- metadata +17 -3
- metadata.gz.sig +0 -0
- data/lib/hoe/rcov.rb +0 -68
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b3cc28399dd8b7e10dc915b12bc3a9aba7baf0948753f52ad292cbfecf24929a
|
4
|
+
data.tar.gz: 5fb0f5df02f4597b4229f685707a4e27a977c6df70be287a24698e381ac71095
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c8fa5004607a777baff624078e9fcac387afa84c356b872970a684241314249bc6751b979662abbabe6e36301c389605544c9d7637253d81c981d21ef1a3ab2
|
7
|
+
data.tar.gz: 74db46687d2d171cae8a7d469f26167e878e403d27c85631b23828b6842fbe053357e965158c4deef4b78b8b5ae07f96cfba9dacffd47ff5308cd9580b5a483f
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
=== 3.26.0 / 2022-10-20
|
2
|
+
|
3
|
+
* 2 minor enhancements:
|
4
|
+
|
5
|
+
* Added warning to bundled minitest/test_task.
|
6
|
+
* Removed dead rcov plugin and added (simple)cov plugin.
|
7
|
+
|
8
|
+
* 1 bug fix:
|
9
|
+
|
10
|
+
* Fixed test task load path issue, prepend Hoe.include_dirs to ensure they come first.
|
11
|
+
|
12
|
+
=== 3.25.0 / 2022-08-18
|
13
|
+
|
14
|
+
* 1 minor enhancement:
|
15
|
+
|
16
|
+
* Added otp_command config option for OTP auth on gem push.
|
17
|
+
|
18
|
+
* 1 bug fix:
|
19
|
+
|
20
|
+
* Use sh instead of system during gem install to raise on error.
|
21
|
+
|
1
22
|
=== 3.24.0 / 2022-06-20
|
2
23
|
|
3
24
|
* 3 minor enhancements:
|
data/Manifest.txt
CHANGED
@@ -8,6 +8,7 @@ bin/sow
|
|
8
8
|
lib/hoe.rb
|
9
9
|
lib/hoe/clean.rb
|
10
10
|
lib/hoe/compiler.rb
|
11
|
+
lib/hoe/cov.rb
|
11
12
|
lib/hoe/debug.rb
|
12
13
|
lib/hoe/deps.rb
|
13
14
|
lib/hoe/flay.rb
|
@@ -20,7 +21,6 @@ lib/hoe/package.rb
|
|
20
21
|
lib/hoe/publish.rb
|
21
22
|
lib/hoe/racc.rb
|
22
23
|
lib/hoe/rake.rb
|
23
|
-
lib/hoe/rcov.rb
|
24
24
|
lib/hoe/rdoc.rb
|
25
25
|
lib/hoe/signing.rb
|
26
26
|
lib/hoe/test.rb
|
data/Rakefile
CHANGED
data/lib/hoe/clean.rb
CHANGED
data/lib/hoe/cov.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
##
|
2
|
+
# Coverage plugin for hoe. Uses simplecov.
|
3
|
+
#
|
4
|
+
# === Tasks Provided:
|
5
|
+
#
|
6
|
+
# cov:: Analyze code coverage with tests using simplecov.
|
7
|
+
|
8
|
+
module Hoe::Cov
|
9
|
+
|
10
|
+
##
|
11
|
+
# Activate the cov dependencies.
|
12
|
+
|
13
|
+
def activate_cov_deps
|
14
|
+
dependency "simplecov", "~> 0.21", :development
|
15
|
+
end
|
16
|
+
|
17
|
+
##
|
18
|
+
# Define tasks for plugin.
|
19
|
+
|
20
|
+
def define_cov_tasks
|
21
|
+
task :isolate # ensure it exists
|
22
|
+
|
23
|
+
self.clean_globs << "coverage"
|
24
|
+
|
25
|
+
desc "Run tests and analyze code coverage"
|
26
|
+
task :cov => :isolate do
|
27
|
+
test_task.test_prelude = "require \"simplecov\"; SimpleCov.start"
|
28
|
+
|
29
|
+
Rake::Task[:test].invoke
|
30
|
+
end
|
31
|
+
rescue LoadError
|
32
|
+
warn "simplecov not found"
|
33
|
+
end
|
34
|
+
end
|
data/lib/hoe/gemcutter.rb
CHANGED
@@ -1,8 +1,29 @@
|
|
1
1
|
require "rake"
|
2
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
|
+
|
3
10
|
module Hoe::Gemcutter
|
4
11
|
include Rake::DSL if defined?(Rake::DSL)
|
5
12
|
|
13
|
+
Hoe::DEFAULT_CONFIG["otp_command"] = false
|
14
|
+
|
15
|
+
def gem_push gems
|
16
|
+
with_config do |config, _|
|
17
|
+
otp_command = config["otp_command"]
|
18
|
+
|
19
|
+
ENV["GEM_HOST_OTP_CODE"] = `#{otp_command}`.chomp if otp_command
|
20
|
+
end
|
21
|
+
|
22
|
+
gems.each do |g|
|
23
|
+
sh Gem.ruby, "-S", "gem", "push", g
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
6
27
|
##
|
7
28
|
# Define release_to_gemcutter and attach it to the release task.
|
8
29
|
|
@@ -11,11 +32,8 @@ module Hoe::Gemcutter
|
|
11
32
|
task :release_to_gemcutter => [:clean, :package, :release_sanity] do
|
12
33
|
pkg = "pkg/#{spec.name}-#{spec.version}"
|
13
34
|
gems = Dir["#{pkg}*.gem"]
|
14
|
-
|
15
|
-
|
16
|
-
# We could still fail here due to --format executable
|
17
|
-
sh Gem.ruby, "-S", "gem", "push", g
|
18
|
-
end
|
35
|
+
|
36
|
+
gem_push gems
|
19
37
|
end
|
20
38
|
|
21
39
|
task :release_to => :release_to_gemcutter
|
data/lib/hoe/package.rb
CHANGED
@@ -100,8 +100,7 @@ module Hoe::Package
|
|
100
100
|
cmd += " --no-document" unless rdoc
|
101
101
|
cmd += " #{null_dev}" unless Rake.application.options.trace
|
102
102
|
|
103
|
-
|
104
|
-
result = system cmd
|
103
|
+
result = sh cmd
|
105
104
|
Gem::Specification.reset
|
106
105
|
result
|
107
106
|
end
|
data/lib/hoe/test.rb
CHANGED
@@ -56,6 +56,11 @@ module Hoe::Test
|
|
56
56
|
|
57
57
|
attr_accessor :rspec_options
|
58
58
|
|
59
|
+
##
|
60
|
+
# The test task created for this plugin.
|
61
|
+
|
62
|
+
attr_accessor :test_task
|
63
|
+
|
59
64
|
##
|
60
65
|
# Initialize variables for plugin.
|
61
66
|
|
@@ -81,9 +86,9 @@ module Hoe::Test
|
|
81
86
|
require "minitest/test_task" # currently in hoe, but will move
|
82
87
|
|
83
88
|
test_prelude = self.test_prelude
|
84
|
-
Minitest::TestTask.create :test do |t|
|
89
|
+
self.test_task = Minitest::TestTask.create :test do |t|
|
85
90
|
t.test_prelude = test_prelude
|
86
|
-
t.libs
|
91
|
+
t.libs.prepend Hoe.include_dirs.uniq
|
87
92
|
end
|
88
93
|
when :testunit then
|
89
94
|
desc "Run the test suite. Use FILTER or TESTOPTS to add flags/args."
|
data/lib/hoe.rb
CHANGED
data/lib/minitest/test_task.rb
CHANGED
@@ -2,6 +2,15 @@ require "shellwords"
|
|
2
2
|
require "rbconfig"
|
3
3
|
require "rake/tasklib"
|
4
4
|
|
5
|
+
warn <<~EOM
|
6
|
+
minitest/test_task.rb is now packaged with minitest. If you see
|
7
|
+
this, you are getting it from hoe instead. If you're NOT able to
|
8
|
+
upgrade minitest to pick this up, please drop an issue on
|
9
|
+
seattlerb/hoe and let me know.
|
10
|
+
|
11
|
+
Required from #{caller[2]}
|
12
|
+
EOM
|
13
|
+
|
5
14
|
module Minitest # :nodoc:
|
6
15
|
|
7
16
|
##
|
data/test/test_hoe.rb
CHANGED
@@ -265,7 +265,7 @@ class TestHoe < Minitest::Test
|
|
265
265
|
h = nil
|
266
266
|
nokogiri_readme = <<~EOM
|
267
267
|
## Links
|
268
|
-
|
268
|
+
|
269
269
|
* https://nokogiri.org
|
270
270
|
* [Installation Help](https://nokogiri.org/tutorials/installing_nokogiri.html)
|
271
271
|
* [Tutorials](https://nokogiri.org/tutorials/toc.html)
|
@@ -465,14 +465,14 @@ class TestHoe < Minitest::Test
|
|
465
465
|
|
466
466
|
def test_nosudo
|
467
467
|
hoe = self.hoe do
|
468
|
-
def
|
468
|
+
def sh cmd
|
469
469
|
cmd
|
470
470
|
end
|
471
471
|
end
|
472
472
|
|
473
|
-
assert_match(/^(sudo )?
|
473
|
+
assert_match(/^(sudo )?gem.*/, hoe.install_gem("foo"))
|
474
474
|
ENV["NOSUDO"] = "1"
|
475
|
-
assert_match(/^
|
475
|
+
assert_match(/^gem.*/, hoe.install_gem("foo"))
|
476
476
|
ensure
|
477
477
|
ENV.delete "NOSUDO"
|
478
478
|
end
|
data/test/test_hoe_debug.rb
CHANGED
@@ -1,8 +1,7 @@
|
|
1
|
+
require "minitest/autorun"
|
1
2
|
require "hoe"
|
2
|
-
|
3
|
+
require_relative "../lib/hoe/debug"
|
3
4
|
require "tmpdir"
|
4
|
-
require "tempfile"
|
5
|
-
require "minitest/autorun"
|
6
5
|
|
7
6
|
class TestHoeDebug < Minitest::Test
|
8
7
|
|
data/test/test_hoe_gemcutter.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
require "hoe"
|
2
|
-
require "hoe/gemcutter" unless defined? Hoe::Gemcutter
|
3
1
|
require "minitest/autorun"
|
2
|
+
require "hoe"
|
3
|
+
require_relative "../lib/hoe/gemcutter"
|
4
4
|
|
5
5
|
class TestHoeGemcutter < Minitest::Test
|
6
6
|
include Hoe::Gemcutter
|
@@ -11,5 +11,28 @@ class TestHoeGemcutter < Minitest::Test
|
|
11
11
|
assert Rake::Task[:release_to].prerequisites.include?("release_to_gemcutter")
|
12
12
|
end
|
13
13
|
|
14
|
-
|
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
|
15
38
|
end
|
data/test/test_hoe_package.rb
CHANGED
data/test/test_hoe_publish.rb
CHANGED
data/test/test_hoe_test.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require "minitest/autorun"
|
2
2
|
require "hoe"
|
3
|
+
require "minitest/test_task" # currently in hoe, but will move
|
3
4
|
|
4
5
|
Hoe.load_plugins # make sure Hoe::Test is loaded
|
5
6
|
|
@@ -60,11 +61,9 @@ class TestHoeTest < Minitest::Test
|
|
60
61
|
def test_make_test_cmd_for_minitest
|
61
62
|
skip "Using TESTOPTS... skipping" if ENV["TESTOPTS"]
|
62
63
|
|
63
|
-
require "minitest/test_task" # currently in hoe, but will move
|
64
|
-
|
65
64
|
framework = %(require "minitest/autorun"; )
|
66
65
|
|
67
|
-
@tester = Minitest::TestTask.create :
|
66
|
+
@tester = Minitest::TestTask.create :testtest do |t|
|
68
67
|
t.libs += Hoe.include_dirs.uniq
|
69
68
|
t.test_globs = ["test/test_hoe_test.rb"]
|
70
69
|
end
|
@@ -75,8 +74,6 @@ class TestHoeTest < Minitest::Test
|
|
75
74
|
def test_make_test_cmd_for_minitest_prelude
|
76
75
|
skip "Using TESTOPTS... skipping" if ENV["TESTOPTS"]
|
77
76
|
|
78
|
-
require "minitest/test_task" # currently in hoe, but will move
|
79
|
-
|
80
77
|
prelude = %(require "other/file")
|
81
78
|
framework = %(require "minitest/autorun"; )
|
82
79
|
|
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: 3.
|
4
|
+
version: 3.26.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
@@ -29,7 +29,7 @@ cert_chain:
|
|
29
29
|
JFmxn4h9YO/pVdB962BdBNNDia0kgIjI3ENnkLq0dKpYU3+F3KhEuTksLO0L6X/V
|
30
30
|
YsuyUzsMz6GQA4khyaMgKNSD
|
31
31
|
-----END CERTIFICATE-----
|
32
|
-
date: 2022-
|
32
|
+
date: 2022-10-20 00:00:00.000000000 Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: rake
|
@@ -71,6 +71,20 @@ dependencies:
|
|
71
71
|
- - "<"
|
72
72
|
- !ruby/object:Gem::Version
|
73
73
|
version: '7'
|
74
|
+
- !ruby/object:Gem::Dependency
|
75
|
+
name: simplecov
|
76
|
+
requirement: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - "~>"
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '0.21'
|
81
|
+
type: :development
|
82
|
+
prerelease: false
|
83
|
+
version_requirements: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - "~>"
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0.21'
|
74
88
|
description: |-
|
75
89
|
Hoe is a rake/rubygems helper for project Rakefiles. It helps you
|
76
90
|
manage, maintain, and release your project and includes a dynamic
|
@@ -102,6 +116,7 @@ files:
|
|
102
116
|
- lib/hoe.rb
|
103
117
|
- lib/hoe/clean.rb
|
104
118
|
- lib/hoe/compiler.rb
|
119
|
+
- lib/hoe/cov.rb
|
105
120
|
- lib/hoe/debug.rb
|
106
121
|
- lib/hoe/deps.rb
|
107
122
|
- lib/hoe/flay.rb
|
@@ -114,7 +129,6 @@ files:
|
|
114
129
|
- lib/hoe/publish.rb
|
115
130
|
- lib/hoe/racc.rb
|
116
131
|
- lib/hoe/rake.rb
|
117
|
-
- lib/hoe/rcov.rb
|
118
132
|
- lib/hoe/rdoc.rb
|
119
133
|
- lib/hoe/signing.rb
|
120
134
|
- lib/hoe/test.rb
|
metadata.gz.sig
CHANGED
Binary file
|
data/lib/hoe/rcov.rb
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
##
|
2
|
-
# RCov plugin for hoe.
|
3
|
-
#
|
4
|
-
# === Tasks Provided:
|
5
|
-
#
|
6
|
-
# rcov:: Analyze code coverage with tests
|
7
|
-
|
8
|
-
module Hoe::RCov
|
9
|
-
|
10
|
-
##
|
11
|
-
# Activate the rcov dependencies.
|
12
|
-
|
13
|
-
def activate_rcov_deps
|
14
|
-
dependency "rcov", "~> 0.9", :development
|
15
|
-
end
|
16
|
-
|
17
|
-
##
|
18
|
-
# Define tasks for plugin.
|
19
|
-
|
20
|
-
def define_rcov_tasks
|
21
|
-
task :isolate # ensure it exists
|
22
|
-
|
23
|
-
task :rcov => :isolate do
|
24
|
-
sh(*make_rcov_cmd)
|
25
|
-
end
|
26
|
-
|
27
|
-
task :clobber_rcov do
|
28
|
-
rm_rf "coverage"
|
29
|
-
end
|
30
|
-
|
31
|
-
task :clobber => :clobber_rcov
|
32
|
-
|
33
|
-
# this is for my emacs rcov overlay stuff on emacswiki.
|
34
|
-
task :rcov_overlay do
|
35
|
-
path = ENV["FILE"]
|
36
|
-
rcov, eol = Marshal.load(File.read("coverage.info")).last[path], 1
|
37
|
-
puts rcov[:lines].zip(rcov[:coverage]).map { |line, coverage|
|
38
|
-
bol, eol = eol, eol + line.length
|
39
|
-
[bol, eol, "#ffcccc"] unless coverage
|
40
|
-
}.compact.inspect
|
41
|
-
end
|
42
|
-
rescue LoadError
|
43
|
-
# skip
|
44
|
-
task :clobber_rcov # in case rcov didn't load
|
45
|
-
# TODO: didn't load? this must be terribly historical
|
46
|
-
end
|
47
|
-
|
48
|
-
def make_rcov_cmd # :nodoc:
|
49
|
-
rcov = Gem.bin_wrapper "rcov"
|
50
|
-
tests = test_globs.sort.map { |g| Dir.glob(g) }.flatten.map(&:inspect)
|
51
|
-
|
52
|
-
cmd = %W[#{rcov}
|
53
|
-
#{Hoe::RUBY_FLAGS}
|
54
|
-
--text-report
|
55
|
-
--no-color
|
56
|
-
--save coverage.info
|
57
|
-
-x ^/
|
58
|
-
-x tmp/isolate
|
59
|
-
--sort coverage
|
60
|
-
--sort-reverse
|
61
|
-
-o coverage
|
62
|
-
] + tests
|
63
|
-
|
64
|
-
cmd
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
task :clean => :clobber_rcov
|