rake 13.0.0 → 13.0.5

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: 9da686fceba23353d1a9b4263d039b67c5e1ac76055165091a21e9c0cddbeffa
4
- data.tar.gz: 3e650670e2aa77cd440555ac8283f14df42e465e3771c2a5e1da961de2dde444
3
+ metadata.gz: cb2619a08088454d6ba2ff07bb0706b31098e2442fb938fa90fbfadf5c57b12f
4
+ data.tar.gz: 645741fa2ddd07f6b115925d155a33d299e05e5b440bee92ddd9ee05ff9bfb9c
5
5
  SHA512:
6
- metadata.gz: 4d555cfe77533730f79bad9d9a430dadd800df2986a32d8885dc078f0c4b481b1c4b9ea99d4a637c662e860ec75a8a74f10a4374d7b00aaf6631f09666b1720b
7
- data.tar.gz: '03820d6035572fa9f3805f3190672265acd52dcfbc8bf8558351e1f4124031178ba70345647fae34a5770eaf32accb4ea337154f57055efbed2758c8862357f0'
6
+ metadata.gz: fc55106ca899e1ce3673115ff43a860ef839297fc6b8b952155ae4d253175681a5f585de0ff34c685c33b210447e0e04365c930a4f9dcbcdad7e012349fe36ed
7
+ data.tar.gz: 2e6f16af48a40c7abc19dd9e98d241af05225b0a7424fbf1f32c55252c5565ebcda2053557a78a94dec3123e9d3cc284a151309963458e9218d566151d6315a6
data/History.rdoc CHANGED
@@ -1,3 +1,42 @@
1
+ === 13.0.5
2
+
3
+ * Fixed the regression of #388
4
+ Pull request #389 by hsbt
5
+
6
+ === 13.0.4
7
+
8
+ * Fix rake test loader swallowing useful error information.
9
+ Pull request #367 by deivid-rodriguez
10
+ * Add -C/--directory option the same as GNU make.
11
+ Pull request #376 by nobu
12
+
13
+ === 13.0.3
14
+
15
+ * Fix breaking change of execution order on TestTask.
16
+ Pull request #368 by ysakasin
17
+
18
+ === 13.0.2
19
+
20
+ ==== Enhancements
21
+
22
+ * Fix tests to work with current FileUtils
23
+ Pull Request #358 by jeremyevans
24
+ * Simplify default rake test loader
25
+ Pull Request #357 by deivid-rodriguez
26
+ * Update rdoc
27
+ Pull Request #366 by bahasalien
28
+ * Update broken links to rake articles from Avdi in README
29
+ Pull Request #360 by svl7
30
+
31
+ === 13.0.1
32
+
33
+ ==== Bug fixes
34
+
35
+ * Fixed bug: Reenabled task raises previous exception on second invokation
36
+ Pull Request #271 by thorsteneckel
37
+ * Fix an incorrectly resolved arg pattern
38
+ Pull Request #327 by mjbellantoni
39
+
1
40
  === 13.0.0
2
41
 
3
42
  ==== Enhancements
data/README.rdoc CHANGED
@@ -82,27 +82,27 @@ Type "rake --help" for all available options.
82
82
  === Presentations and Articles about Rake
83
83
 
84
84
  * Avdi Grimm's rake series:
85
- 1. {Rake Basics}[http://devblog.avdi.org/2014/04/21/rake-part-1-basics/]
86
- 2. {Rake File Lists}[http://devblog.avdi.org/2014/04/22/rake-part-2-file-lists/]
87
- 3. {Rake Rules}[http://devblog.avdi.org/2014/04/23/rake-part-3-rules/]
88
- 4. {Rake Pathmap}[http://devblog.avdi.org/2014/04/24/rake-part-4-pathmap/]
89
- 5. {File Operations}[http://devblog.avdi.org/2014/04/25/rake-part-5-file-operations/]
90
- 6. {Clean and Clobber}[http://devblog.avdi.org/2014/04/28/rake-part-6-clean-and-clobber/]
91
- 7. {MultiTask}[http://devblog.avdi.org/2014/04/29/rake-part-7-multitask/]
92
- * {Jim Weirich's 2003 RubyConf presentation}[http://web.archive.org/web/20140221123354/http://onestepback.org/articles/buildingwithrake/]
93
- * Martin Fowler's article on Rake: http://martinfowler.com/articles/rake.html
85
+ 1. {Rake Basics}[https://avdi.codes/rake-part-1-basics/]
86
+ 2. {Rake File Lists}[https://avdi.codes/rake-part-2-file-lists-2/]
87
+ 3. {Rake Rules}[https://avdi.codes/rake-part-3-rules/]
88
+ 4. {Rake Pathmap}[https://avdi.codes/rake-part-4-pathmap/]
89
+ 5. {File Operations}[https://avdi.codes/rake-part-5-file-operations/]
90
+ 6. {Clean and Clobber}[https://avdi.codes/rake-part-6-clean-and-clobber/]
91
+ 7. {MultiTask}[https://avdi.codes/rake-part-7-multitask/]
92
+ * {Jim Weirich's 2003 RubyConf presentation}[https://web.archive.org/web/20140221123354/http://onestepback.org/articles/buildingwithrake/]
93
+ * Martin Fowler's article on Rake: https://martinfowler.com/articles/rake.html
94
94
 
95
95
  == Other Make Re-envisionings ...
96
96
 
97
97
  Rake is a late entry in the make replacement field. Here are links to
98
98
  other projects with similar (and not so similar) goals.
99
99
 
100
- * http://directory.fsf.org/wiki/Bras -- Bras, one of earliest
100
+ * https://directory.fsf.org/wiki/Bras -- Bras, one of earliest
101
101
  implementations of "make in a scripting language".
102
102
  * http://www.a-a-p.org -- Make in Python
103
- * http://ant.apache.org -- The Ant project
104
- * http://search.cpan.org/search?query=PerlBuildSystem -- The Perl Build System
105
- * http://www.rubydoc.info/gems/rant/0.5.7/frames -- Rant, another Ruby make tool.
103
+ * https://ant.apache.org -- The Ant project
104
+ * https://search.cpan.org/search?query=PerlBuildSystem -- The Perl Build System
105
+ * https://www.rubydoc.info/gems/rant/0.5.7/frames -- Rant, another Ruby make tool.
106
106
 
107
107
  == Credits
108
108
 
@@ -433,6 +433,13 @@ module Rake
433
433
  select_tasks_to_show(options, :describe, value)
434
434
  }
435
435
  ],
436
+ ["--directory", "-C [DIRECTORY]",
437
+ "Change to DIRECTORY before doing anything.",
438
+ lambda { |value|
439
+ Dir.chdir value
440
+ @original_dir = Dir.pwd
441
+ }
442
+ ],
436
443
  ["--dry-run", "-n",
437
444
  "Do a dry run without executing actions.",
438
445
  lambda { |value|
@@ -1,26 +1,26 @@
1
1
  # frozen_string_literal: true
2
- require "rake"
2
+
3
+ require "rake/file_list"
3
4
 
4
5
  # Load the test files from the command line.
5
6
  argv = ARGV.select do |argument|
6
- begin
7
- case argument
8
- when /^-/ then
9
- argument
10
- when /\*/ then
11
- FileList[argument].to_a.each do |file|
12
- require File.expand_path file
13
- end
7
+ case argument
8
+ when /^-/ then
9
+ argument
10
+ when /\*/ then
11
+ FileList[argument].to_a.each do |file|
12
+ require File.expand_path file
13
+ end
14
14
 
15
- false
16
- else
17
- require File.expand_path argument
15
+ false
16
+ else
17
+ path = File.expand_path argument
18
18
 
19
- false
20
- end
21
- rescue LoadError => e
22
- raise unless e.path
23
- abort "\nFile does not exist: #{e.path}\n\n"
19
+ abort "\nFile does not exist: #{path}\n\n" unless File.exist?(path)
20
+
21
+ require path
22
+
23
+ false
24
24
  end
25
25
  end
26
26
 
data/lib/rake/task.rb CHANGED
@@ -146,6 +146,7 @@ module Rake
146
146
  # is invoked again.
147
147
  def reenable
148
148
  @already_invoked = false
149
+ @invocation_exception = nil
149
150
  end
150
151
 
151
152
  # Clear the existing prerequisites, actions, comments, and arguments of a rake task.
@@ -83,8 +83,8 @@ module Rake
83
83
  define_task(Rake::FileTask, task_name)
84
84
  end
85
85
 
86
- # Resolve the arguments for a task/rule. Returns a triplet of
87
- # [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].
88
88
  def resolve_args(args)
89
89
  if args.last.is_a?(Hash)
90
90
  deps = args.pop
@@ -118,8 +118,11 @@ module Rake
118
118
  #
119
119
  # The patterns recognized by this argument resolving function are:
120
120
  #
121
+ # task :t, order_only: [:e]
121
122
  # task :t => [:d]
123
+ # task :t => [:d], order_only: [:e]
122
124
  # task :t, [a] => [:d]
125
+ # task :t, [a] => [:d], order_only: [:e]
123
126
  #
124
127
  def resolve_args_with_dependencies(args, hash) # :nodoc:
125
128
  fail "Task Argument Error" if
@@ -133,8 +136,8 @@ module Rake
133
136
  deps = value || []
134
137
  else
135
138
  task_name = args.shift
136
- arg_names = key
137
- deps = value
139
+ arg_names = key || args.shift|| []
140
+ deps = value || []
138
141
  end
139
142
  deps = [deps] unless deps.respond_to?(:to_ary)
140
143
  [task_name, arg_names, deps, order_only]
@@ -297,8 +300,8 @@ module Rake
297
300
  when /^\./
298
301
  source = task_name.sub(task_pattern, ext)
299
302
  source == ext ? task_name.ext(ext) : source
300
- when String
301
- ext
303
+ when String, Symbol
304
+ ext.to_s
302
305
  when Proc, Method
303
306
  if ext.arity == 1
304
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 = "13.0.0"
3
+ VERSION = "13.0.5"
4
4
 
5
5
  module Version # :nodoc: all
6
6
  MAJOR, MINOR, BUILD, *OTHER = Rake::VERSION.split "."
data/rake.gemspec CHANGED
@@ -1,6 +1,5 @@
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
@@ -23,14 +22,79 @@ Rake has the following features:
23
22
  s.homepage = "https://github.com/ruby/rake".freeze
24
23
  s.licenses = ["MIT".freeze]
25
24
 
26
- s.files = %x[git ls-files -z].split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } -
27
- %w[.rubocop.yml .gitignore .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
+ ]
28
94
  s.bindir = "exe"
29
95
  s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
30
96
  s.require_paths = ["lib".freeze]
31
97
 
32
98
  s.required_ruby_version = Gem::Requirement.new(">= 2.2".freeze)
33
- s.rubygems_version = "2.6.1".freeze
34
- s.required_rubygems_version = Gem::Requirement.new(">= 1.3.2".freeze)
35
99
  s.rdoc_options = ["--main".freeze, "README.rdoc".freeze]
36
100
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake
3
3
  version: !ruby/object:Gem::Version
4
- version: 13.0.0
4
+ version: 13.0.5
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: 2019-09-27 00:00:00.000000000 Z
13
+ date: 2021-07-08 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
@@ -31,22 +31,9 @@ executables:
31
31
  extensions: []
32
32
  extra_rdoc_files: []
33
33
  files:
34
- - ".github/workflows/macos.yml"
35
- - ".github/workflows/ubuntu-rvm.yml"
36
- - ".github/workflows/ubuntu.yml"
37
- - ".github/workflows/windows.yml"
38
- - CONTRIBUTING.rdoc
39
- - Gemfile
40
34
  - History.rdoc
41
35
  - MIT-LICENSE
42
36
  - README.rdoc
43
- - Rakefile
44
- - bin/bundle
45
- - bin/console
46
- - bin/rake
47
- - bin/rdoc
48
- - bin/rubocop
49
- - bin/setup
50
37
  - doc/command_line_usage.rdoc
51
38
  - doc/example/Rakefile1
52
39
  - doc/example/Rakefile2
@@ -107,8 +94,12 @@ files:
107
94
  homepage: https://github.com/ruby/rake
108
95
  licenses:
109
96
  - MIT
110
- metadata: {}
111
- 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.5/History.rdoc
100
+ documentation_uri: https://ruby.github.io/rake
101
+ source_code_uri: https://github.com/ruby/rake/tree/v13.0.5
102
+ post_install_message:
112
103
  rdoc_options:
113
104
  - "--main"
114
105
  - README.rdoc
@@ -123,10 +114,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
114
  requirements:
124
115
  - - ">="
125
116
  - !ruby/object:Gem::Version
126
- version: 1.3.2
117
+ version: '0'
127
118
  requirements: []
128
- rubygems_version: 3.0.3
129
- signing_key:
119
+ rubygems_version: 3.3.0.dev
120
+ signing_key:
130
121
  specification_version: 4
131
122
  summary: Rake is a Make-like program implemented in Ruby
132
123
  test_files: []
@@ -1,22 +0,0 @@
1
- name: macos
2
-
3
- on: [push]
4
-
5
- jobs:
6
- build:
7
- runs-on: macos-latest
8
- strategy:
9
- matrix:
10
- ruby: [ '2.6.x', '2.5.x', '2.4.x', '2.3.x' ]
11
- steps:
12
- - uses: actions/checkout@master
13
- - name: Set up Ruby
14
- uses: actions/setup-ruby@v1
15
- with:
16
- version: ${{ matrix.ruby }}
17
- - name: Install dependencies
18
- run: gem install minitest
19
- - name: Run test
20
- env:
21
- COVERALLS: "yes"
22
- run: ruby -Ilib exe/rake
@@ -1,28 +0,0 @@
1
- name: ubuntu-rvm
2
-
3
- on: [push]
4
-
5
- jobs:
6
- build:
7
- runs-on: ubuntu-latest
8
- strategy:
9
- matrix:
10
- ruby: [ 'jruby-head', 'jruby-9.2.8.0', 'ruby-head', '2.2.10' ]
11
- steps:
12
- - uses: actions/checkout@master
13
- - name: Set up RVM
14
- run: |
15
- curl -sSL https://get.rvm.io | bash
16
- - name: Set up Ruby
17
- run: |
18
- source $HOME/.rvm/scripts/rvm
19
- rvm install ${{ matrix.ruby }} --binary
20
- rvm --default use ${{ matrix.ruby }}
21
- - name: Install dependencies
22
- run: |
23
- source $HOME/.rvm/scripts/rvm
24
- gem install minitest
25
- - name: Run test
26
- run: |
27
- source $HOME/.rvm/scripts/rvm
28
- ruby -Ilib exe/rake
@@ -1,20 +0,0 @@
1
- name: ubuntu
2
-
3
- on: [push]
4
-
5
- jobs:
6
- build:
7
- runs-on: ubuntu-latest
8
- strategy:
9
- matrix:
10
- ruby: [ '2.6.x', '2.5.x', '2.4.x', '2.3.x' ]
11
- steps:
12
- - uses: actions/checkout@master
13
- - name: Set up Ruby
14
- uses: actions/setup-ruby@v1
15
- with:
16
- version: ${{ matrix.ruby }}
17
- - name: Install dependencies
18
- run: gem install minitest
19
- - name: Run test
20
- run: ruby -Ilib exe/rake
@@ -1,20 +0,0 @@
1
- name: windows
2
-
3
- on: [push]
4
-
5
- jobs:
6
- build:
7
- runs-on: windows-latest
8
- strategy:
9
- matrix:
10
- ruby: [ '2.6.x', '2.5.x', '2.4.x' ]
11
- steps:
12
- - uses: actions/checkout@master
13
- - name: Set up Ruby
14
- uses: actions/setup-ruby@v1
15
- with:
16
- version: ${{ matrix.ruby }}
17
- - name: Install dependencies
18
- run: gem install minitest
19
- - name: Run test
20
- run: ruby -Ilib exe/rake
data/CONTRIBUTING.rdoc DELETED
@@ -1,43 +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
- https://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
- * Run the test suite
18
-
19
- $ rake
20
-
21
- = Rubocop
22
-
23
- Rake uses Rubocop to enforce a consistent style on new changes being
24
- proposed. You can check your code with Rubocop using:
25
-
26
- $ ./bin/rubocop
27
-
28
- = Issues and Bug Reports
29
-
30
- Feel free to submit commits or feature requests. If you send a patch,
31
- remember to update the corresponding unit tests. In fact, I prefer
32
- new feature to be submitted in the form of new unit tests.
33
-
34
- For other information, feel free to ask on the ruby-talk mailing list.
35
-
36
- If you have found a bug in rake please try with the latest version of rake
37
- before filing an issue. Also check History.rdoc for bug fixes that may have
38
- addressed your issue.
39
-
40
- When submitting pull requests please check the rake Travis-CI page for test
41
- failures:
42
-
43
- https://travis-ci.org/ruby/rake
data/Gemfile DELETED
@@ -1,10 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec
4
-
5
- group :development do
6
- gem "bundler"
7
- gem "minitest"
8
- gem "coveralls"
9
- gem "rubocop"
10
- end
data/Rakefile DELETED
@@ -1,41 +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
- begin
13
- require "bundler/gem_tasks"
14
- rescue LoadError
15
- end
16
-
17
- require "rake/testtask"
18
- Rake::TestTask.new(:test) do |t|
19
- t.libs << "test"
20
- t.verbose = true
21
- t.test_files = FileList["test/**/test_*.rb"]
22
- end
23
-
24
- require "rdoc/task"
25
- RDoc::Task.new do |doc|
26
- doc.main = "README.rdoc"
27
- doc.title = "Rake -- Ruby Make"
28
- doc.rdoc_files = FileList.new %w[lib MIT-LICENSE doc/**/*.rdoc *.rdoc]
29
- doc.rdoc_dir = "html"
30
- end
31
-
32
- task ghpages: :rdoc do
33
- %x[git checkout gh-pages]
34
- require "fileutils"
35
- FileUtils.rm_rf "/tmp/html"
36
- FileUtils.mv "html", "/tmp"
37
- FileUtils.rm_rf "*"
38
- FileUtils.cp_r Dir.glob("/tmp/html/*"), "."
39
- end
40
-
41
- task default: :test
data/bin/bundle DELETED
@@ -1,105 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- #
5
- # This file was generated by Bundler.
6
- #
7
- # The application 'bundle' is installed as part of a gem, and
8
- # this file is here to facilitate running it.
9
- #
10
-
11
- require "rubygems"
12
-
13
- m = Module.new do
14
- module_function
15
-
16
- def invoked_as_script?
17
- File.expand_path($0) == File.expand_path(__FILE__)
18
- end
19
-
20
- def env_var_version
21
- ENV["BUNDLER_VERSION"]
22
- end
23
-
24
- def cli_arg_version
25
- return unless invoked_as_script? # don't want to hijack other binstubs
26
- return unless "update".start_with?(ARGV.first || " ") # must be running `bundle update`
27
- bundler_version = nil
28
- update_index = nil
29
- ARGV.each_with_index do |a, i|
30
- if update_index && update_index.succ == i && a =~ Gem::Version::ANCHORED_VERSION_PATTERN
31
- bundler_version = a
32
- end
33
- next unless a =~ /\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\z/
34
- bundler_version = $1 || ">= 0.a"
35
- update_index = i
36
- end
37
- bundler_version
38
- end
39
-
40
- def gemfile
41
- gemfile = ENV["BUNDLE_GEMFILE"]
42
- return gemfile if gemfile && !gemfile.empty?
43
-
44
- File.expand_path("../../Gemfile", __FILE__)
45
- end
46
-
47
- def lockfile
48
- lockfile =
49
- case File.basename(gemfile)
50
- when "gems.rb" then gemfile.sub(/\.rb$/, gemfile)
51
- else "#{gemfile}.lock"
52
- end
53
- File.expand_path(lockfile)
54
- end
55
-
56
- def lockfile_version
57
- return unless File.file?(lockfile)
58
- lockfile_contents = File.read(lockfile)
59
- return unless lockfile_contents =~ /\n\nBUNDLED WITH\n\s{2,}(#{Gem::Version::VERSION_PATTERN})\n/
60
- Regexp.last_match(1)
61
- end
62
-
63
- def bundler_version
64
- @bundler_version ||= begin
65
- env_var_version || cli_arg_version ||
66
- lockfile_version || "#{Gem::Requirement.default}.a"
67
- end
68
- end
69
-
70
- def load_bundler!
71
- ENV["BUNDLE_GEMFILE"] ||= gemfile
72
-
73
- # must dup string for RG < 1.8 compatibility
74
- activate_bundler(bundler_version.dup)
75
- end
76
-
77
- def activate_bundler(bundler_version)
78
- if Gem::Version.correct?(bundler_version) && Gem::Version.new(bundler_version).release < Gem::Version.new("2.0")
79
- bundler_version = "< 2"
80
- end
81
- gem_error = activation_error_handling do
82
- gem "bundler", bundler_version
83
- end
84
- return if gem_error.nil?
85
- require_error = activation_error_handling do
86
- require "bundler/version"
87
- end
88
- return if require_error.nil? && Gem::Requirement.new(bundler_version).satisfied_by?(Gem::Version.new(Bundler::VERSION))
89
- warn "Activating bundler (#{bundler_version}) failed:\n#{gem_error.message}\n\nTo install the version of bundler this project requires, run `gem install bundler -v '#{bundler_version}'`"
90
- exit 42
91
- end
92
-
93
- def activation_error_handling
94
- yield
95
- nil
96
- rescue StandardError, LoadError => e
97
- e
98
- end
99
- end
100
-
101
- m.load_bundler!
102
-
103
- if m.invoked_as_script?
104
- load Gem.bin_path("bundler", "bundle")
105
- end
data/bin/console DELETED
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
- require "rake"
5
-
6
- require "irb"
7
- IRB.start
data/bin/rake DELETED
@@ -1,29 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- #
5
- # This file was generated by Bundler.
6
- #
7
- # The application 'rake' is installed as part of a gem, and
8
- # this file is here to facilitate running it.
9
- #
10
-
11
- require "pathname"
12
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
- Pathname.new(__FILE__).realpath)
14
-
15
- bundle_binstub = File.expand_path("../bundle", __FILE__)
16
-
17
- if File.file?(bundle_binstub)
18
- if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
- load(bundle_binstub)
20
- else
21
- abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
- Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
- end
24
- end
25
-
26
- require "rubygems"
27
- require "bundler/setup"
28
-
29
- load Gem.bin_path("rake", "rake")
data/bin/rdoc DELETED
@@ -1,29 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- #
5
- # This file was generated by Bundler.
6
- #
7
- # The application 'rdoc' is installed as part of a gem, and
8
- # this file is here to facilitate running it.
9
- #
10
-
11
- require "pathname"
12
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
- Pathname.new(__FILE__).realpath)
14
-
15
- bundle_binstub = File.expand_path("../bundle", __FILE__)
16
-
17
- if File.file?(bundle_binstub)
18
- if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
- load(bundle_binstub)
20
- else
21
- abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
- Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
- end
24
- end
25
-
26
- require "rubygems"
27
- require "bundler/setup"
28
-
29
- load Gem.bin_path("rdoc", "rdoc")
data/bin/rubocop DELETED
@@ -1,29 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- #
5
- # This file was generated by Bundler.
6
- #
7
- # The application 'rubocop' is installed as part of a gem, and
8
- # this file is here to facilitate running it.
9
- #
10
-
11
- require "pathname"
12
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
- Pathname.new(__FILE__).realpath)
14
-
15
- bundle_binstub = File.expand_path("../bundle", __FILE__)
16
-
17
- if File.file?(bundle_binstub)
18
- if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
- load(bundle_binstub)
20
- else
21
- abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
- Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
- end
24
- end
25
-
26
- require "rubygems"
27
- require "bundler/setup"
28
-
29
- load Gem.bin_path("rubocop", "rubocop")
data/bin/setup DELETED
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install