hoe 3.18.0 → 3.18.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6de30da4ab3f81bb05f71c363bcb5abc4e17135adf2a0aa0eb24d4b10952eee3
4
- data.tar.gz: 52ac3b48a9624a5be58e573b13857556355e7021aff97ded7543080e4dcf6ca6
3
+ metadata.gz: ce03a7b750a6d088f8682a6cbae61a3fb0304c6f8264aabbf18911654dd3180c
4
+ data.tar.gz: 5de095133b1ffdb47046a03a84e1bb73dfd9fa68d18d165396f18345eefa957d
5
5
  SHA512:
6
- metadata.gz: 7388568d21b94b2810df22b5f4aba3b4566fc2fbcb3623bf58d814d3f180a0b3aed5a279f3be16081290e71994eb07a307dd83ec81f15d87e59bc227af888c9d
7
- data.tar.gz: 7dbe503b0ba399504992d404e4d4591f8266fd881ce02571b37ea655a97b5456ffdb5aca7bd3a9a076d2b7d60781c030f5ba2471424f104071a7710cac0d5fd8
6
+ metadata.gz: 4e9d640f0483089d2afbf68675cc24c832af75886e1acd6c8ba2984b6cdc104a984e04689af962d3f92aebcbd9f25eafff556384c7ef0ea2e3fa4883d1cbc501
7
+ data.tar.gz: a10fe09bc6ff92504229ff602a58aa379715ab62a6b0e52cafd3e72eefb398613fb1d05a64621d2305187680be0ad010423c32fdaaa301f0f6680777e681e024
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -1,3 +1,15 @@
1
+ === 3.18.1 / 2019-09-14
2
+
3
+ * 1 minor enhancement:
4
+
5
+ * Added deprecations to minitest/test_task: TESTOPTS, N (for #threads), FILTER.
6
+
7
+ * 3 bug fixes:
8
+
9
+ * Fixed one use of Array.prepend on ruby 2.3-2.4.
10
+ * Removed FILTER/N/X handling from hoe/test.rb in favor of minitest/test_task.rb.
11
+ * Sort globs before shuffling to normalize different file systems.
12
+
1
13
  === 3.18.0 / 2019-05-25
2
14
 
3
15
  * 1 major enhancement:
@@ -13,7 +13,7 @@ Hoe is a rake/rubygems helper for project Rakefiles. It helps you
13
13
  manage, maintain, and release your project and includes a dynamic
14
14
  plug-in system allowing for easy extensibility. Hoe ships with
15
15
  plug-ins for all your usual project tasks including rdoc generation,
16
- testing, packaging, deployment, and announcement..
16
+ testing, packaging, deployment, and announcement.
17
17
 
18
18
  See class rdoc for help. Hint: `ri Hoe` or any of the plugins listed
19
19
  below.
@@ -39,7 +39,7 @@ for the first time)
39
39
  or:
40
40
 
41
41
  require 'hoe'
42
-
42
+
43
43
  Hoe.spec projectname do
44
44
  # ... project specific data ...
45
45
  end
@@ -90,7 +90,7 @@ crew for the use of customs officers.</em>
90
90
  Every project should know what it is shipping. This is done via an
91
91
  explicit list of everything that goes out in a release. Hoe uses this
92
92
  during packaging so that nothing embarrassing is picked up.
93
-
93
+
94
94
  Imagine, you're a customs inspector at the Los Angeles Port, the
95
95
  world's largest import/export port. A large ship filled to the brim
96
96
  pulls up to the pier ready for inspection. You walk up to the captain
@@ -122,9 +122,9 @@ ways. Hoe finds your version and uses it automatically during
122
122
  packaging.
123
123
 
124
124
  === Releasing in 1 easy step
125
-
125
+
126
126
  % rake release VERSION=x.y.z
127
-
127
+
128
128
  That really is all there is to it. Behind the scenes it:
129
129
 
130
130
  * Branches the release in our perforce server. (via hoe-seattlerb plugin)
@@ -133,7 +133,7 @@ That really is all there is to it. Behind the scenes it:
133
133
  * Uploads the packages to rubygems.org.
134
134
  * Posts news of the release my blog.
135
135
  * Sends an announcement email. (via the hoe-seattlerb plugin gem)
136
-
136
+
137
137
  That `VERSION=x.y.z` is there as a last-chance sanity check that you
138
138
  know what you're releasing. You'd be surprised how blurry eyed/brained
139
139
  you get at 3AM. This check helps a lot more than it should.
@@ -205,7 +205,7 @@ Again, this must be done before the Hoe spec, or it won't be useful.
205
205
  === Writing Plugins:
206
206
 
207
207
  A plugin can be as simple as:
208
-
208
+
209
209
  module Hoe::Thingy
210
210
  attr_accessor :thingy
211
211
 
@@ -219,7 +219,7 @@ A plugin can be as simple as:
219
219
  end
220
220
  end
221
221
  end
222
-
222
+
223
223
  Not terribly useful, but you get the idea. This example exercises both
224
224
  plugin methods (initialize_#{plugin} and define_#{plugin}_tasks and
225
225
  adds an accessor method to the Hoe instance.
@@ -244,13 +244,13 @@ All of the plugins that ship with hoe are activated by default. This is
244
244
  because they're providing the same functionality that the previous Hoe was and
245
245
  without them, it'd be rather useless. Other plugins should be "opt-in" and are
246
246
  activated by:
247
-
247
+
248
248
  Hoe::plugin :thingy
249
-
249
+
250
250
  Put this _above_ your hoe-spec. All it does is add `:thingy` to `Hoe.plugins`.
251
251
  You could also deactivate a plugin by removing it from `Hoe.plugins` although
252
252
  that shouldn't be necessary for the most part.
253
-
253
+
254
254
  Please note that it is **not** a good idea to have a plugin you're writing
255
255
  activate itself. Let developers opt-in, not opt-out. Just because someone
256
256
  needs the `:thingy` plugin on one project doesn't mean they need them on _all_
data/lib/hoe.rb CHANGED
@@ -91,7 +91,7 @@ class Hoe
91
91
  include Rake::DSL if defined?(Rake::DSL)
92
92
 
93
93
  # duh
94
- VERSION = "3.18.0"
94
+ VERSION = "3.18.1"
95
95
 
96
96
  @@plugins = [:clean, :debug, :deps, :flay, :flog, :newb, :package,
97
97
  :publish, :gemcutter, :signing, :test]
@@ -313,7 +313,7 @@ class Hoe
313
313
  @loaded ||= {}
314
314
  @files ||= Gem.find_files "hoe/*.rb"
315
315
 
316
- @files.reverse.each do |path|
316
+ @files.reverse.each do |path| # reverse so first one wins
317
317
  @found[File.basename(path, ".rb").intern] = path
318
318
  end
319
319
 
@@ -25,20 +25,6 @@ module Hoe::Test
25
25
  :none => nil,
26
26
  }
27
27
 
28
- ##
29
- # Used to add flags to test_unit (e.g., -n test_borked).
30
- #
31
- # eg FILTER="-n test_blah"
32
-
33
- FILTER = (ENV["FILTER"] || ENV["TESTOPTS"] || "").dup
34
- FILTER << " -n #{ENV["N"]}" if ENV["N"]
35
- FILTER << " -e #{ENV["X"]}" if ENV["X"]
36
-
37
- # this is an unfortunate naming collision. I don't use the CPU (N)
38
- # specifier so it is shifting to "C" inside of Hoe.
39
- ENV.delete "N" if ENV["N"]
40
- ENV["N"] = ENV["C"] if ENV["C"]
41
-
42
28
  Hoe::DEFAULT_CONFIG["multiruby_skip"] = []
43
29
 
44
30
  ##
@@ -188,7 +174,11 @@ module Hoe::Test
188
174
 
189
175
  tests.insert 1, test_prelude if test_prelude
190
176
 
191
- "#{Hoe::RUBY_FLAGS} -e '#{tests.join("; ")}' -- #{FILTER}"
177
+ filter = (ENV["FILTER"] || ENV["TESTOPTS"] || "").dup
178
+ filter << " -n #{ENV["N"]}" if ENV["N"]
179
+ filter << " -e #{ENV["X"]}" if ENV["X"]
180
+
181
+ "#{Hoe::RUBY_FLAGS} -e '#{tests.join("; ")}' -- #{filter}"
192
182
  end
193
183
 
194
184
  ##
@@ -118,23 +118,35 @@ module Minitest # :nodoc:
118
118
  # Environment Variables:
119
119
  #
120
120
  # + MT_LIB_EXTRAS - Extra libs to dynamically override/inject for custom runs.
121
- # + N - Tests to run (string or regexp)
122
- # + X - Tests to exclude (string or regexp)
123
- # + TESTOPTS - deprecated, use A
121
+ # + N - Tests to run (string or /regexp/)
122
+ # + X - Tests to exclude (string or /regexp/)
124
123
  # + A - Any extra arguments. Honors shell quoting.
124
+ #
125
+ # Deprecated:
126
+ #
127
+ # + TESTOPTS - for argument passing, use A
128
+ # + N - for parallel testing, use MT_CPU
129
+ # + FILTER - same as TESTOPTS
125
130
 
126
131
  def process_env
127
132
  warn "TESTOPTS is deprecated in Minitest::TestTask. Use A instead" if
128
133
  ENV["TESTOPTS"]
134
+ warn "FILTER is deprecated in Minitest::TestTask. Use A instead" if
135
+ ENV["FILTER"]
136
+ warn "N is deprecated in Minitest::TestTask. Use MT_CPU instead" if
137
+ ENV["N"] && ENV["N"].to_i > 0
129
138
 
130
139
  lib_extras = (ENV["MT_LIB_EXTRAS"] || "").split File::PATH_SEPARATOR
131
- self.libs.prepend lib_extras
140
+ self.libs[0,0] = lib_extras
132
141
 
133
142
  extra_args << "-n" << ENV["N"] if ENV["N"]
134
143
  extra_args << "-e" << ENV["X"] if ENV["X"]
135
144
  extra_args.concat Shellwords.split(ENV["TESTOPTS"]) if ENV["TESTOPTS"]
145
+ extra_args.concat Shellwords.split(ENV["FILTER"]) if ENV["FILTER"]
136
146
  extra_args.concat Shellwords.split(ENV["A"]) if ENV["A"]
137
147
 
148
+ ENV.delete "N" if ENV["N"]
149
+
138
150
  # TODO? RUBY_DEBUG = ENV["RUBY_DEBUG"]
139
151
  # TODO? ENV["RUBY_FLAGS"]
140
152
 
@@ -194,7 +206,7 @@ module Minitest # :nodoc:
194
206
 
195
207
  def make_test_cmd globs = test_globs
196
208
  tests = []
197
- tests.concat Dir[*globs].shuffle
209
+ tests.concat Dir[*globs].sort.shuffle # TODO: SEED -> srand first?
198
210
  tests.map! { |f| %(require "#{f}") }
199
211
 
200
212
  runner = []
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.18.0
4
+ version: 3.18.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Davis
@@ -29,7 +29,7 @@ cert_chain:
29
29
  Em82dBUFsipwMLCYj39kcyHWAxyl6Ae1Cn9r/ItVBCxoeFdrHjfavnrIEoXUt4bU
30
30
  UfBugfLD19bu3nvL+zTAGx/U
31
31
  -----END CERTIFICATE-----
32
- date: 2019-05-26 00:00:00.000000000 Z
32
+ date: 2019-09-15 00:00:00.000000000 Z
33
33
  dependencies:
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: rake
@@ -76,7 +76,7 @@ description: |-
76
76
  manage, maintain, and release your project and includes a dynamic
77
77
  plug-in system allowing for easy extensibility. Hoe ships with
78
78
  plug-ins for all your usual project tasks including rdoc generation,
79
- testing, packaging, deployment, and announcement..
79
+ testing, packaging, deployment, and announcement.
80
80
 
81
81
  See class rdoc for help. Hint: `ri Hoe` or any of the plugins listed
82
82
  below.
@@ -154,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
154
  - !ruby/object:Gem::Version
155
155
  version: '1.4'
156
156
  requirements: []
157
- rubygems_version: 3.0.2
157
+ rubygems_version: 3.0.6
158
158
  signing_key:
159
159
  specification_version: 4
160
160
  summary: Hoe is a rake/rubygems helper for project Rakefiles
metadata.gz.sig CHANGED
Binary file