rake 12.2.0 → 13.0.6

Sign up to get free protection for your applications and to get access to all the features.
data/lib/rake/task.rb CHANGED
@@ -15,6 +15,10 @@ module Rake
15
15
  class Task
16
16
  # List of prerequisites for a task.
17
17
  attr_reader :prerequisites
18
+ alias prereqs prerequisites
19
+
20
+ # List of order only prerequisites for a task.
21
+ attr_reader :order_only_prerequisites
18
22
 
19
23
  # List of actions attached to a task.
20
24
  attr_reader :actions
@@ -55,7 +59,7 @@ module Rake
55
59
 
56
60
  # List of prerequisite tasks
57
61
  def prerequisite_tasks
58
- prerequisites.map { |pre| lookup_prerequisite(pre) }
62
+ (prerequisites + order_only_prerequisites).map { |pre| lookup_prerequisite(pre) }
59
63
  end
60
64
 
61
65
  def lookup_prerequisite(prerequisite_name) # :nodoc:
@@ -103,6 +107,8 @@ module Rake
103
107
  @scope = app.current_scope
104
108
  @arg_names = nil
105
109
  @locations = []
110
+ @invocation_exception = nil
111
+ @order_only_prerequisites = []
106
112
  end
107
113
 
108
114
  # Enhance a task with prerequisites or actions. Returns self.
@@ -140,6 +146,7 @@ module Rake
140
146
  # is invoked again.
141
147
  def reenable
142
148
  @already_invoked = false
149
+ @invocation_exception = nil
143
150
  end
144
151
 
145
152
  # Clear the existing prerequisites, actions, comments, and arguments of a rake task.
@@ -183,20 +190,39 @@ module Rake
183
190
 
184
191
  # Same as invoke, but explicitly pass a call chain to detect
185
192
  # circular dependencies.
186
- def invoke_with_call_chain(task_args, invocation_chain) # :nodoc:
187
- new_chain = InvocationChain.append(self, invocation_chain)
193
+ #
194
+ # If multiple tasks depend on this
195
+ # one in parallel, they will all fail if the first execution of
196
+ # this task fails.
197
+ def invoke_with_call_chain(task_args, invocation_chain)
198
+ new_chain = Rake::InvocationChain.append(self, invocation_chain)
188
199
  @lock.synchronize do
189
- if application.options.trace
190
- application.trace "** Invoke #{name} #{format_trace_flags}"
200
+ begin
201
+ if application.options.trace
202
+ application.trace "** Invoke #{name} #{format_trace_flags}"
203
+ end
204
+
205
+ if @already_invoked
206
+ if @invocation_exception
207
+ if application.options.trace
208
+ application.trace "** Previous invocation of #{name} failed #{format_trace_flags}"
209
+ end
210
+ raise @invocation_exception
211
+ else
212
+ return
213
+ end
214
+ end
215
+
216
+ @already_invoked = true
217
+
218
+ invoke_prerequisites(task_args, new_chain)
219
+ execute(task_args) if needed?
220
+ rescue Exception => ex
221
+ add_chain_to(ex, new_chain)
222
+ @invocation_exception = ex
223
+ raise ex
191
224
  end
192
- return if @already_invoked
193
- @already_invoked = true
194
- invoke_prerequisites(task_args, new_chain)
195
- execute(task_args) if needed?
196
225
  end
197
- rescue Exception => ex
198
- add_chain_to(ex, new_chain)
199
- raise ex
200
226
  end
201
227
  protected :invoke_with_call_chain
202
228
 
@@ -227,7 +253,8 @@ module Rake
227
253
  r.invoke_with_call_chain(prereq_args, invocation_chain)
228
254
  end
229
255
  end
230
- futures.each(&:value)
256
+ # Iterate in reverse to improve performance related to thread waiting and switching
257
+ futures.reverse_each(&:value)
231
258
  end
232
259
 
233
260
  # Format the trace flags for display.
@@ -248,7 +275,11 @@ module Rake
248
275
  end
249
276
  application.trace "** Execute #{name}" if application.options.trace
250
277
  application.enhance_with_matching_rule(name) if @actions.empty?
251
- @actions.each { |act| act.call(self, args) }
278
+ if opts = Hash.try_convert(args) and !opts.empty?
279
+ @actions.each { |act| act.call(self, args, **opts)}
280
+ else
281
+ @actions.each { |act| act.call(self, args)}
282
+ end
252
283
  end
253
284
 
254
285
  # Is this task needed?
@@ -267,7 +298,7 @@ module Rake
267
298
  def add_description(description)
268
299
  return unless description
269
300
  comment = description.strip
270
- add_comment(comment) if comment && ! comment.empty?
301
+ add_comment(comment) if comment && !comment.empty?
271
302
  end
272
303
 
273
304
  def comment=(comment) # :nodoc:
@@ -338,6 +369,18 @@ module Rake
338
369
  return result
339
370
  end
340
371
 
372
+ # Format dependencies parameter to pass to task.
373
+ def self.format_deps(deps)
374
+ deps = [deps] unless deps.respond_to?(:to_ary)
375
+ deps.map { |d| Rake.from_pathname(d).to_s }
376
+ end
377
+
378
+ # Add order only dependencies.
379
+ def |(deps)
380
+ @order_only_prerequisites |= Task.format_deps(deps) - @prerequisites
381
+ self
382
+ end
383
+
341
384
  # ----------------------------------------------------------------
342
385
  # Rake Module Methods
343
386
  #
@@ -15,13 +15,13 @@ module Rake
15
15
  end
16
16
 
17
17
  def create_rule(*args, &block) # :nodoc:
18
- pattern, args, deps = resolve_args(args)
18
+ pattern, args, deps, order_only = resolve_args(args)
19
19
  pattern = Regexp.new(Regexp.quote(pattern) + "$") if String === pattern
20
- @rules << [pattern, args, deps, block]
20
+ @rules << [pattern, args, deps, order_only, block]
21
21
  end
22
22
 
23
23
  def define_task(task_class, *args, &block) # :nodoc:
24
- task_name, arg_names, deps = resolve_args(args)
24
+ task_name, arg_names, deps, order_only = resolve_args(args)
25
25
 
26
26
  original_scope = @scope
27
27
  if String === task_name and
@@ -31,15 +31,15 @@ module Rake
31
31
  end
32
32
 
33
33
  task_name = task_class.scope_name(@scope, task_name)
34
- deps = [deps] unless deps.respond_to?(:to_ary)
35
- deps = deps.map { |d| Rake.from_pathname(d).to_s }
36
34
  task = intern(task_class, task_name)
37
35
  task.set_arg_names(arg_names) unless arg_names.empty?
38
36
  if Rake::TaskManager.record_task_metadata
39
37
  add_location(task)
40
38
  task.add_description(get_description(task))
41
39
  end
42
- task.enhance(deps, &block)
40
+ task.enhance(Task.format_deps(deps), &block)
41
+ task | order_only unless order_only.nil?
42
+ task
43
43
  ensure
44
44
  @scope = original_scope
45
45
  end
@@ -60,17 +60,22 @@ module Rake
60
60
  end
61
61
 
62
62
  def generate_message_for_undefined_task(task_name)
63
- message = "Don't know how to build task '#{task_name}' (see --tasks)"
63
+ message = "Don't know how to build task '#{task_name}' "\
64
+ "(See the list of available tasks with `#{Rake.application.name} --tasks`)"
65
+ message + generate_did_you_mean_suggestions(task_name)
66
+ end
64
67
 
65
- suggestion_message = \
66
- if defined?(::DidYouMean::SpellChecker) && defined?(::DidYouMean::Formatter)
67
- suggestions = ::DidYouMean::SpellChecker.new(dictionary: @tasks.keys).correct(task_name.to_s)
68
- ::DidYouMean::Formatter.new(suggestions).to_s
69
- else
70
- ""
71
- end
68
+ def generate_did_you_mean_suggestions(task_name)
69
+ return "" unless defined?(::DidYouMean::SpellChecker)
72
70
 
73
- message + suggestion_message
71
+ suggestions = ::DidYouMean::SpellChecker.new(dictionary: @tasks.keys).correct(task_name.to_s)
72
+ if ::DidYouMean.respond_to?(:formatter)# did_you_mean v1.2.0 or later
73
+ ::DidYouMean.formatter.message_for(suggestions)
74
+ elsif defined?(::DidYouMean::Formatter) # before did_you_mean v1.2.0
75
+ ::DidYouMean::Formatter.new(suggestions).to_s
76
+ else
77
+ ""
78
+ end
74
79
  end
75
80
 
76
81
  def synthesize_file_task(task_name) # :nodoc:
@@ -78,8 +83,8 @@ module Rake
78
83
  define_task(Rake::FileTask, task_name)
79
84
  end
80
85
 
81
- # Resolve the arguments for a task/rule. Returns a triplet of
82
- # [task_name, arg_name_list, prerequisites].
86
+ # Resolve the arguments for a task/rule. Returns a tuple of
87
+ # [task_name, arg_name_list, prerequisites, order_only_prerequisites].
83
88
  def resolve_args(args)
84
89
  if args.last.is_a?(Hash)
85
90
  deps = args.pop
@@ -104,7 +109,7 @@ module Rake
104
109
  else
105
110
  arg_names = args
106
111
  end
107
- [task_name, arg_names, []]
112
+ [task_name, arg_names, [], nil]
108
113
  end
109
114
  private :resolve_args_without_dependencies
110
115
 
@@ -113,11 +118,17 @@ module Rake
113
118
  #
114
119
  # The patterns recognized by this argument resolving function are:
115
120
  #
121
+ # task :t, order_only: [:e]
116
122
  # task :t => [:d]
123
+ # task :t => [:d], order_only: [:e]
117
124
  # task :t, [a] => [:d]
125
+ # task :t, [a] => [:d], order_only: [:e]
118
126
  #
119
127
  def resolve_args_with_dependencies(args, hash) # :nodoc:
120
- fail "Task Argument Error" if hash.size != 1
128
+ fail "Task Argument Error" if
129
+ hash.size != 1 &&
130
+ (hash.size != 2 || !hash.key?(:order_only))
131
+ order_only = hash.delete(:order_only)
121
132
  key, value = hash.map { |k, v| [k, v] }.first
122
133
  if args.empty?
123
134
  task_name = key
@@ -125,11 +136,11 @@ module Rake
125
136
  deps = value || []
126
137
  else
127
138
  task_name = args.shift
128
- arg_names = key
129
- deps = value
139
+ arg_names = key || args.shift|| []
140
+ deps = value || []
130
141
  end
131
142
  deps = [deps] unless deps.respond_to?(:to_ary)
132
- [task_name, arg_names, deps]
143
+ [task_name, arg_names, deps, order_only]
133
144
  end
134
145
  private :resolve_args_with_dependencies
135
146
 
@@ -140,9 +151,10 @@ module Rake
140
151
  def enhance_with_matching_rule(task_name, level=0)
141
152
  fail Rake::RuleRecursionOverflowError,
142
153
  "Rule Recursion Too Deep" if level >= 16
143
- @rules.each do |pattern, args, extensions, block|
154
+ @rules.each do |pattern, args, extensions, order_only, block|
144
155
  if pattern && pattern.match(task_name)
145
156
  task = attempt_rule(task_name, pattern, args, extensions, block, level)
157
+ task | order_only unless order_only.nil?
146
158
  return task if task
147
159
  end
148
160
  end
@@ -288,8 +300,8 @@ module Rake
288
300
  when /^\./
289
301
  source = task_name.sub(task_pattern, ext)
290
302
  source == ext ? task_name.ext(ext) : source
291
- when String
292
- ext
303
+ when String, Symbol
304
+ ext.to_s
293
305
  when Proc, Method
294
306
  if ext.arity == 1
295
307
  ext.call(task_name)
data/lib/rake/testtask.rb CHANGED
@@ -181,44 +181,9 @@ module Rake
181
181
  when :testrb
182
182
  "-S testrb"
183
183
  when :rake
184
- "#{rake_include_arg} \"#{rake_loader}\""
184
+ "#{__dir__}/rake_test_loader.rb"
185
185
  end
186
186
  end
187
187
 
188
- def rake_loader # :nodoc:
189
- find_file("rake/rake_test_loader") or
190
- fail "unable to find rake test loader"
191
- end
192
-
193
- def find_file(fn) # :nodoc:
194
- $LOAD_PATH.each do |path|
195
- file_path = File.join(path, "#{fn}.rb")
196
- return file_path if File.exist? file_path
197
- end
198
- nil
199
- end
200
-
201
- def rake_include_arg # :nodoc:
202
- spec = Gem.loaded_specs["rake"]
203
- if spec.respond_to?(:default_gem?) && spec.default_gem?
204
- ""
205
- else
206
- "-I\"#{rake_lib_dir}\""
207
- end
208
- end
209
-
210
- def rake_lib_dir # :nodoc:
211
- find_dir("rake") or
212
- fail "unable to find rake lib"
213
- end
214
-
215
- def find_dir(fn) # :nodoc:
216
- $LOAD_PATH.each do |path|
217
- file_path = File.join(path, "#{fn}.rb")
218
- return path if File.exist? file_path
219
- end
220
- nil
221
- end
222
-
223
188
  end
224
189
  end
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- require "set"
3
2
 
4
3
  require "rake/promise"
5
4
 
@@ -10,6 +9,7 @@ module Rake
10
9
  # Creates a ThreadPool object. The +thread_count+ parameter is the size
11
10
  # of the pool.
12
11
  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 = "12.2.0"
3
+ VERSION = "13.0.6"
4
4
 
5
5
  module Version # :nodoc: all
6
6
  MAJOR, MINOR, BUILD, *OTHER = Rake::VERSION.split "."
data/rake.gemspec CHANGED
@@ -1,11 +1,9 @@
1
1
  # frozen_string_literal: true
2
- $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
3
- require 'rake/version'
2
+ require_relative 'lib/rake/version'
4
3
 
5
4
  Gem::Specification.new do |s|
6
5
  s.name = "rake".freeze
7
6
  s.version = Rake::VERSION
8
- s.date = "2017-10-25"
9
7
  s.authors = ["Hiroshi SHIBATA".freeze, "Eric Hodel".freeze, "Jim Weirich".freeze]
10
8
  s.email = ["hsbt@ruby-lang.org".freeze, "drbrain@segment7.net".freeze, "".freeze]
11
9
 
@@ -24,20 +22,79 @@ Rake has the following features:
24
22
  s.homepage = "https://github.com/ruby/rake".freeze
25
23
  s.licenses = ["MIT".freeze]
26
24
 
27
- s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } -
28
- %w[.rubocop.yml .travis.yml appveyor.yml]
25
+ 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",
28
+ "documentation_uri" => "https://ruby.github.io/rake",
29
+ "source_code_uri" => "https://github.com/ruby/rake/tree/v#{s.version}",
30
+ }
31
+
32
+ s.files = [
33
+ "History.rdoc",
34
+ "MIT-LICENSE",
35
+ "README.rdoc",
36
+ "doc/command_line_usage.rdoc",
37
+ "doc/example/Rakefile1",
38
+ "doc/example/Rakefile2",
39
+ "doc/example/a.c",
40
+ "doc/example/b.c",
41
+ "doc/example/main.c",
42
+ "doc/glossary.rdoc",
43
+ "doc/jamis.rb",
44
+ "doc/proto_rake.rdoc",
45
+ "doc/rake.1",
46
+ "doc/rakefile.rdoc",
47
+ "doc/rational.rdoc",
48
+ "exe/rake",
49
+ "lib/rake.rb",
50
+ "lib/rake/application.rb",
51
+ "lib/rake/backtrace.rb",
52
+ "lib/rake/clean.rb",
53
+ "lib/rake/cloneable.rb",
54
+ "lib/rake/cpu_counter.rb",
55
+ "lib/rake/default_loader.rb",
56
+ "lib/rake/dsl_definition.rb",
57
+ "lib/rake/early_time.rb",
58
+ "lib/rake/ext/core.rb",
59
+ "lib/rake/ext/string.rb",
60
+ "lib/rake/file_creation_task.rb",
61
+ "lib/rake/file_list.rb",
62
+ "lib/rake/file_task.rb",
63
+ "lib/rake/file_utils.rb",
64
+ "lib/rake/file_utils_ext.rb",
65
+ "lib/rake/invocation_chain.rb",
66
+ "lib/rake/invocation_exception_mixin.rb",
67
+ "lib/rake/late_time.rb",
68
+ "lib/rake/linked_list.rb",
69
+ "lib/rake/loaders/makefile.rb",
70
+ "lib/rake/multi_task.rb",
71
+ "lib/rake/name_space.rb",
72
+ "lib/rake/packagetask.rb",
73
+ "lib/rake/phony.rb",
74
+ "lib/rake/private_reader.rb",
75
+ "lib/rake/promise.rb",
76
+ "lib/rake/pseudo_status.rb",
77
+ "lib/rake/rake_module.rb",
78
+ "lib/rake/rake_test_loader.rb",
79
+ "lib/rake/rule_recursion_overflow_error.rb",
80
+ "lib/rake/scope.rb",
81
+ "lib/rake/task.rb",
82
+ "lib/rake/task_argument_error.rb",
83
+ "lib/rake/task_arguments.rb",
84
+ "lib/rake/task_manager.rb",
85
+ "lib/rake/tasklib.rb",
86
+ "lib/rake/testtask.rb",
87
+ "lib/rake/thread_history_display.rb",
88
+ "lib/rake/thread_pool.rb",
89
+ "lib/rake/trace_output.rb",
90
+ "lib/rake/version.rb",
91
+ "lib/rake/win32.rb",
92
+ "rake.gemspec"
93
+ ]
29
94
  s.bindir = "exe"
30
95
  s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
96
  s.require_paths = ["lib".freeze]
32
97
 
33
- s.required_ruby_version = Gem::Requirement.new(">= 1.9.3".freeze)
34
- s.rubygems_version = "2.6.1".freeze
35
- s.required_rubygems_version = Gem::Requirement.new(">= 1.3.2".freeze)
98
+ s.required_ruby_version = Gem::Requirement.new(">= 2.2".freeze)
36
99
  s.rdoc_options = ["--main".freeze, "README.rdoc".freeze]
37
-
38
- s.add_development_dependency(%q<bundler>.freeze)
39
- s.add_development_dependency(%q<minitest>.freeze)
40
- s.add_development_dependency(%q<rdoc>.freeze)
41
- s.add_development_dependency(%q<coveralls>.freeze)
42
- s.add_development_dependency(%q<rubocop>.freeze)
43
100
  end
metadata CHANGED
@@ -1,87 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.2.0
4
+ version: 13.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hiroshi SHIBATA
8
8
  - Eric Hodel
9
9
  - Jim Weirich
10
- autorequire:
10
+ autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2017-10-25 00:00:00.000000000 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: bundler
17
- requirement: !ruby/object:Gem::Requirement
18
- requirements:
19
- - - ">="
20
- - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :development
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- version: '0'
29
- - !ruby/object:Gem::Dependency
30
- name: minitest
31
- requirement: !ruby/object:Gem::Requirement
32
- requirements:
33
- - - ">="
34
- - !ruby/object:Gem::Version
35
- version: '0'
36
- type: :development
37
- prerelease: false
38
- version_requirements: !ruby/object:Gem::Requirement
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- version: '0'
43
- - !ruby/object:Gem::Dependency
44
- name: rdoc
45
- requirement: !ruby/object:Gem::Requirement
46
- requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: '0'
50
- type: :development
51
- prerelease: false
52
- version_requirements: !ruby/object:Gem::Requirement
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: '0'
57
- - !ruby/object:Gem::Dependency
58
- name: coveralls
59
- requirement: !ruby/object:Gem::Requirement
60
- requirements:
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- version: '0'
64
- type: :development
65
- prerelease: false
66
- version_requirements: !ruby/object:Gem::Requirement
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- version: '0'
71
- - !ruby/object:Gem::Dependency
72
- name: rubocop
73
- requirement: !ruby/object:Gem::Requirement
74
- requirements:
75
- - - ">="
76
- - !ruby/object:Gem::Version
77
- version: '0'
78
- type: :development
79
- prerelease: false
80
- version_requirements: !ruby/object:Gem::Requirement
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- version: '0'
13
+ date: 2021-07-09 00:00:00.000000000 Z
14
+ dependencies: []
85
15
  description: |
86
16
  Rake is a Make-like program implemented in Ruby. Tasks and dependencies are
87
17
  specified in standard Ruby syntax.
@@ -101,15 +31,9 @@ executables:
101
31
  extensions: []
102
32
  extra_rdoc_files: []
103
33
  files:
104
- - ".gitignore"
105
- - CONTRIBUTING.rdoc
106
- - Gemfile
107
34
  - History.rdoc
108
35
  - MIT-LICENSE
109
36
  - README.rdoc
110
- - Rakefile
111
- - bin/console
112
- - bin/setup
113
37
  - doc/command_line_usage.rdoc
114
38
  - doc/example/Rakefile1
115
39
  - doc/example/Rakefile2
@@ -170,8 +94,12 @@ files:
170
94
  homepage: https://github.com/ruby/rake
171
95
  licenses:
172
96
  - MIT
173
- metadata: {}
174
- post_install_message:
97
+ metadata:
98
+ bug_tracker_uri: https://github.com/ruby/rake/issues
99
+ changelog_uri: https://github.com/ruby/rake/blob/v13.0.6/History.rdoc
100
+ documentation_uri: https://ruby.github.io/rake
101
+ source_code_uri: https://github.com/ruby/rake/tree/v13.0.6
102
+ post_install_message:
175
103
  rdoc_options:
176
104
  - "--main"
177
105
  - README.rdoc
@@ -181,16 +109,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
181
109
  requirements:
182
110
  - - ">="
183
111
  - !ruby/object:Gem::Version
184
- version: 1.9.3
112
+ version: '2.2'
185
113
  required_rubygems_version: !ruby/object:Gem::Requirement
186
114
  requirements:
187
115
  - - ">="
188
116
  - !ruby/object:Gem::Version
189
- version: 1.3.2
117
+ version: '0'
190
118
  requirements: []
191
- rubyforge_project:
192
- rubygems_version: 2.6.14
193
- signing_key:
119
+ rubygems_version: 3.3.0.dev
120
+ signing_key:
194
121
  specification_version: 4
195
122
  summary: Rake is a Make-like program implemented in Ruby
196
123
  test_files: []
data/.gitignore DELETED
@@ -1,14 +0,0 @@
1
- *.bak
2
- *.rbc
3
- *.swp
4
- *~
5
- .#*
6
- .DS_Store
7
- .idea
8
- .rbx
9
- /.rdoc
10
- /TAGS
11
- /coverage
12
- /html
13
- /pkg
14
- Gemfile.lock
data/CONTRIBUTING.rdoc DELETED
@@ -1,36 +0,0 @@
1
- = Source Repository
2
-
3
- Rake is currently hosted at github. The github web page is
4
- https://github.com/ruby/rake . The public git clone URL is
5
-
6
- git://github.com/ruby/rake.git
7
-
8
- = Running the Rake Test Suite
9
-
10
- If you wish to run the unit and functional tests that come with Rake:
11
-
12
- * +cd+ into the top project directory of rake.
13
- * Install gem dependency using bundler:
14
-
15
- bundle install # Install bundler, minitest and rdoc
16
-
17
- * Type one of the following:
18
-
19
- rake # If you have run rake's tests
20
-
21
- = Issues and Bug Reports
22
-
23
- Feel free to submit commits or feature requests. If you send a patch,
24
- remember to update the corresponding unit tests. In fact, I prefer
25
- new feature to be submitted in the form of new unit tests.
26
-
27
- For other information, feel free to ask on the ruby-talk mailing list.
28
-
29
- If you have found a bug in rake please try with the latest version of rake
30
- before filing an issue. Also check History.rdoc for bug fixes that may have
31
- addressed your issue.
32
-
33
- When submitting pull requests please check the rake Travis-CI page for test
34
- failures:
35
-
36
- https://travis-ci.org/ruby/rake
data/Gemfile DELETED
@@ -1,3 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec
data/Rakefile DELETED
@@ -1,38 +0,0 @@
1
- # Rakefile for rake -*- ruby -*-
2
-
3
- # Copyright 2003, 2004, 2005 by Jim Weirich (jim@weirichhouse.org)
4
- # All rights reserved.
5
-
6
- # This file may be distributed under an MIT style license. See
7
- # MIT-LICENSE for details.
8
-
9
- lib = File.expand_path("../lib", __FILE__)
10
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
11
-
12
- require "bundler/gem_tasks"
13
- require "rake/testtask"
14
- require "rdoc/task"
15
-
16
- Rake::TestTask.new(:test) do |t|
17
- t.libs << "test"
18
- t.verbose = true
19
- t.test_files = FileList["test/**/test_*.rb"]
20
- end
21
-
22
- RDoc::Task.new do |doc|
23
- doc.main = "README.rdoc"
24
- doc.title = "Rake -- Ruby Make"
25
- doc.rdoc_files = FileList.new %w[lib MIT-LICENSE doc/**/*.rdoc *.rdoc]
26
- doc.rdoc_dir = "html"
27
- end
28
-
29
- task ghpages: :rdoc do
30
- `git checkout gh-pages`
31
- require "fileutils"
32
- FileUtils.rm_rf "/tmp/html"
33
- FileUtils.mv "html", "/tmp"
34
- FileUtils.rm_rf "*"
35
- FileUtils.cp_r Dir.glob("/tmp/html/*"), "."
36
- end
37
-
38
- task default: :test