rake 13.0.5 → 13.1.0

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: cb2619a08088454d6ba2ff07bb0706b31098e2442fb938fa90fbfadf5c57b12f
4
- data.tar.gz: 645741fa2ddd07f6b115925d155a33d299e05e5b440bee92ddd9ee05ff9bfb9c
3
+ metadata.gz: 350499af9d666ea7ce0d89d4f2a9807cfec42df036da69a455edcc8e0a7928e4
4
+ data.tar.gz: 4825cb7208619ca06d3f3f627c41a5dfc23a831d889d15e5dacafe035e72c5e4
5
5
  SHA512:
6
- metadata.gz: fc55106ca899e1ce3673115ff43a860ef839297fc6b8b952155ae4d253175681a5f585de0ff34c685c33b210447e0e04365c930a4f9dcbcdad7e012349fe36ed
7
- data.tar.gz: 2e6f16af48a40c7abc19dd9e98d241af05225b0a7424fbf1f32c55252c5565ebcda2053557a78a94dec3123e9d3cc284a151309963458e9218d566151d6315a6
6
+ metadata.gz: 33ed2f30b780e6f26409bb513b26923c454b115e368f64c42aced2f200d3efb0c05afe8425aeeb907f591c2a735f61160ad105550aecdbab43c30c79078fd8a3
7
+ data.tar.gz: 0c97f16eb81f98917bd87445f9dd34488a08d5fc0b6cb6c82f18b0ae23939081617f6f2472c8aa95c717054e05dfb18cb51794b86287abe9b66958d968c19749
data/History.rdoc CHANGED
@@ -1,3 +1,8 @@
1
+ === 13.0.6
2
+
3
+ * Additional fix for #389
4
+ Pull request #390 by hsbt
5
+
1
6
  === 13.0.5
2
7
 
3
8
  * Fixed the regression of #388
data/README.rdoc CHANGED
@@ -116,7 +116,7 @@ other projects with similar (and not so similar) goals.
116
116
 
117
117
  [<b>Eric Hodel</b>] For aid in maintaining rake.
118
118
 
119
- [<b>Hiroshi SHIBATA</b>] Maintainer of Rake 10.X and Rake 11.X
119
+ [<b>Hiroshi SHIBATA</b>] Maintainer of Rake 10 and later
120
120
 
121
121
  == License
122
122
 
@@ -94,10 +94,32 @@ module Rake
94
94
  # Backward compatibility for capistrano
95
95
  args = handle_options
96
96
  end
97
+ load_debug_at_stop_feature
97
98
  collect_command_line_tasks(args)
98
99
  end
99
100
  end
100
101
 
102
+ def load_debug_at_stop_feature
103
+ return unless ENV["RAKE_DEBUG"]
104
+ require "debug/session"
105
+ DEBUGGER__::start no_sigint_hook: true, nonstop: true
106
+ Rake::Task.prepend Module.new {
107
+ def execute(*)
108
+ exception = DEBUGGER__::SESSION.capture_exception_frames(/(exe|bin|lib)\/rake/) do
109
+ super
110
+ end
111
+
112
+ if exception
113
+ STDERR.puts exception.message
114
+ DEBUGGER__::SESSION.enter_postmortem_session exception
115
+ raise exception
116
+ end
117
+ end
118
+ }
119
+ rescue LoadError
120
+ end
121
+ private :load_debug_at_stop_feature
122
+
101
123
  # Find the rakefile and then load it and any pending imports.
102
124
  def load_rakefile
103
125
  standard_exception_handling do
@@ -124,7 +146,7 @@ module Rake
124
146
 
125
147
  yield
126
148
 
127
- thread_pool.join
149
+ thread_pool.join if defined?(@thread_pool)
128
150
  if options.job_stats
129
151
  stats = thread_pool.statistics
130
152
  puts "Maximum active threads: #{stats[:max_active_threads]} + main"
@@ -237,6 +259,8 @@ module Rake
237
259
  def display_exception_message_details(ex) # :nodoc:
238
260
  if ex.instance_of?(RuntimeError)
239
261
  trace ex.message
262
+ elsif ex.respond_to?(:detailed_message)
263
+ trace "#{ex.class.name}: #{ex.detailed_message(highlight: false)}"
240
264
  else
241
265
  trace "#{ex.class.name}: #{ex.message}"
242
266
  end
@@ -575,7 +599,7 @@ module Rake
575
599
  ["--tasks", "-T [PATTERN]",
576
600
  "Display the tasks (matching optional PATTERN) " +
577
601
  "with descriptions, then exit. " +
578
- "-AT combination displays all of tasks contained no description.",
602
+ "-AT combination displays all the tasks, including those without descriptions.",
579
603
  lambda { |value|
580
604
  select_tasks_to_show(options, :tasks, value)
581
605
  }
@@ -158,7 +158,7 @@ module Rake
158
158
  #
159
159
  # Example:
160
160
  # desc "Run the Unit Tests"
161
- # task test: [:build]
161
+ # task test: [:build] do
162
162
  # # ... run tests
163
163
  # end
164
164
  #
@@ -14,14 +14,18 @@ module Rake
14
14
  # Is this file task needed? Yes if it doesn't exist, or if its time stamp
15
15
  # is out of date.
16
16
  def needed?
17
- !File.exist?(name) || out_of_date?(timestamp) || @application.options.build_all
17
+ begin
18
+ out_of_date?(File.mtime(name)) || @application.options.build_all
19
+ rescue Errno::ENOENT
20
+ true
21
+ end
18
22
  end
19
23
 
20
24
  # Time stamp for file task.
21
25
  def timestamp
22
- if File.exist?(name)
23
- File.mtime(name.to_s)
24
- else
26
+ begin
27
+ File.mtime(name)
28
+ rescue Errno::ENOENT
25
29
  Rake::LATE
26
30
  end
27
31
  end
@@ -60,8 +60,6 @@ module FileUtils
60
60
 
61
61
  def create_shell_runner(cmd) # :nodoc:
62
62
  show_command = sh_show_command cmd
63
- show_command = show_command[0, 42] + "..." unless $trace
64
-
65
63
  lambda do |ok, status|
66
64
  ok or
67
65
  fail "Command failed with status (#{status.exitstatus}): " +
@@ -79,7 +79,7 @@ module Rake
79
79
  # Zip command for zipped archives. The default is 'zip'.
80
80
  attr_accessor :zip_command
81
81
 
82
- # True if parent directory should be omited (default is false)
82
+ # True if parent directory should be omitted (default is false)
83
83
  attr_accessor :without_parent_dir
84
84
 
85
85
  # Create a Package Task with the given name and version. Use +:noversion+
@@ -8,7 +8,7 @@ argv = ARGV.select do |argument|
8
8
  when /^-/ then
9
9
  argument
10
10
  when /\*/ then
11
- FileList[argument].to_a.each do |file|
11
+ Rake::FileList[argument].to_a.each do |file|
12
12
  require File.expand_path file
13
13
  end
14
14
 
data/lib/rake/task.rb CHANGED
@@ -276,9 +276,9 @@ module Rake
276
276
  application.trace "** Execute #{name}" if application.options.trace
277
277
  application.enhance_with_matching_rule(name) if @actions.empty?
278
278
  if opts = Hash.try_convert(args) and !opts.empty?
279
- @actions.each { |act| act.call(self, args, **opts)}
279
+ @actions.each { |act| act.call(self, args, **opts) }
280
280
  else
281
- @actions.each { |act| act.call(self, args)}
281
+ @actions.each { |act| act.call(self, args) }
282
282
  end
283
283
  end
284
284
 
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "rake/promise"
4
+ require "set"
4
5
 
5
6
  module Rake
6
7
 
@@ -9,7 +10,6 @@ module Rake
9
10
  # Creates a ThreadPool object. The +thread_count+ parameter is the size
10
11
  # of the pool.
11
12
  def initialize(thread_count)
12
- require "set"
13
13
  @max_active_threads = [thread_count, 0].max
14
14
  @threads = Set.new
15
15
  @threads_mon = Monitor.new
data/lib/rake/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  module Rake
3
- VERSION = "13.0.5"
3
+ VERSION = "13.1.0"
4
4
 
5
5
  module Version # :nodoc: all
6
6
  MAJOR, MINOR, BUILD, *OTHER = Rake::VERSION.split "."
data/rake.gemspec CHANGED
@@ -1,32 +1,33 @@
1
1
  # frozen_string_literal: true
2
- require_relative 'lib/rake/version'
2
+
3
+ require_relative "lib/rake/version"
3
4
 
4
5
  Gem::Specification.new do |s|
5
- s.name = "rake".freeze
6
+ s.name = "rake"
6
7
  s.version = Rake::VERSION
7
- s.authors = ["Hiroshi SHIBATA".freeze, "Eric Hodel".freeze, "Jim Weirich".freeze]
8
- s.email = ["hsbt@ruby-lang.org".freeze, "drbrain@segment7.net".freeze, "".freeze]
8
+ s.authors = ["Hiroshi SHIBATA", "Eric Hodel", "Jim Weirich"]
9
+ s.email = ["hsbt@ruby-lang.org", "drbrain@segment7.net", ""]
9
10
 
10
- s.summary = "Rake is a Make-like program implemented in Ruby".freeze
11
- s.description = <<-DESCRIPTION
12
- Rake is a Make-like program implemented in Ruby. Tasks and dependencies are
13
- specified in standard Ruby syntax.
14
- Rake has the following features:
15
- * Rakefiles (rake's version of Makefiles) are completely defined in standard Ruby syntax.
16
- No XML files to edit. No quirky Makefile syntax to worry about (is that a tab or a space?)
17
- * Users can specify tasks with prerequisites.
18
- * Rake supports rule patterns to synthesize implicit tasks.
19
- * Flexible FileLists that act like arrays but know about manipulating file names and paths.
20
- * Supports parallel execution of tasks.
11
+ s.summary = "Rake is a Make-like program implemented in Ruby"
12
+ s.description = <<~DESCRIPTION
13
+ Rake is a Make-like program implemented in Ruby. Tasks and dependencies are
14
+ specified in standard Ruby syntax.
15
+ Rake has the following features:
16
+ * Rakefiles (rake's version of Makefiles) are completely defined in standard Ruby syntax.
17
+ No XML files to edit. No quirky Makefile syntax to worry about (is that a tab or a space?)
18
+ * Users can specify tasks with prerequisites.
19
+ * Rake supports rule patterns to synthesize implicit tasks.
20
+ * Flexible FileLists that act like arrays but know about manipulating file names and paths.
21
+ * Supports parallel execution of tasks.
21
22
  DESCRIPTION
22
- s.homepage = "https://github.com/ruby/rake".freeze
23
- s.licenses = ["MIT".freeze]
23
+ s.homepage = "https://github.com/ruby/rake"
24
+ s.licenses = ["MIT"]
24
25
 
25
26
  s.metadata = {
26
- "bug_tracker_uri" => "https://github.com/ruby/rake/issues",
27
- "changelog_uri" => "https://github.com/ruby/rake/blob/v#{s.version}/History.rdoc",
27
+ "bug_tracker_uri" => "https://github.com/ruby/rake/issues",
28
+ "changelog_uri" => "https://github.com/ruby/rake/blob/v#{s.version}/History.rdoc",
28
29
  "documentation_uri" => "https://ruby.github.io/rake",
29
- "source_code_uri" => "https://github.com/ruby/rake/tree/v#{s.version}",
30
+ "source_code_uri" => "https://github.com/ruby/rake/tree/v#{s.version}"
30
31
  }
31
32
 
32
33
  s.files = [
@@ -93,8 +94,8 @@ Rake has the following features:
93
94
  ]
94
95
  s.bindir = "exe"
95
96
  s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
96
- s.require_paths = ["lib".freeze]
97
+ s.require_paths = ["lib"]
97
98
 
98
- s.required_ruby_version = Gem::Requirement.new(">= 2.2".freeze)
99
- s.rdoc_options = ["--main".freeze, "README.rdoc".freeze]
99
+ s.required_ruby_version = Gem::Requirement.new(">= 2.3")
100
+ s.rdoc_options = ["--main", "README.rdoc"]
100
101
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake
3
3
  version: !ruby/object:Gem::Version
4
- version: 13.0.5
4
+ version: 13.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hiroshi SHIBATA
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2021-07-08 00:00:00.000000000 Z
13
+ date: 2023-10-28 00:00:00.000000000 Z
14
14
  dependencies: []
15
15
  description: |
16
16
  Rake is a Make-like program implemented in Ruby. Tasks and dependencies are
@@ -96,9 +96,9 @@ licenses:
96
96
  - MIT
97
97
  metadata:
98
98
  bug_tracker_uri: https://github.com/ruby/rake/issues
99
- changelog_uri: https://github.com/ruby/rake/blob/v13.0.5/History.rdoc
99
+ changelog_uri: https://github.com/ruby/rake/blob/v13.1.0/History.rdoc
100
100
  documentation_uri: https://ruby.github.io/rake
101
- source_code_uri: https://github.com/ruby/rake/tree/v13.0.5
101
+ source_code_uri: https://github.com/ruby/rake/tree/v13.1.0
102
102
  post_install_message:
103
103
  rdoc_options:
104
104
  - "--main"
@@ -109,14 +109,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
109
109
  requirements:
110
110
  - - ">="
111
111
  - !ruby/object:Gem::Version
112
- version: '2.2'
112
+ version: '2.3'
113
113
  required_rubygems_version: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  requirements: []
119
- rubygems_version: 3.3.0.dev
119
+ rubygems_version: 3.5.0.dev
120
120
  signing_key:
121
121
  specification_version: 4
122
122
  summary: Rake is a Make-like program implemented in Ruby