rake 10.3.1 → 10.3.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rake might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7fb874143d83d469b8c5f9e4fc8ff79f736a89ef
4
- data.tar.gz: 0a9bf5d92a94e2183b7887415732521b293c5750
3
+ metadata.gz: 0caac57ec31c4e81580a89a857cea98ade615eef
4
+ data.tar.gz: e505354568b86ee4850b446e7f938dd8ea3872e1
5
5
  SHA512:
6
- metadata.gz: fde0747e99905b6fb93b4d9fd788cdcf6e751966a9b7cf10ddefcfd109e78dff5d87841194c81cd8cd4b9f069f61386e845130ee338b157ddf378936c40a3326
7
- data.tar.gz: 632c9e14454097041663c31d2aa689114c9335add9efe4965d3aad67694247af90c194613ab3f8a07197b171aa96b2a0781e6d282de59c87653067797e2ca951
6
+ metadata.gz: 86d3dc72939bd00ad29b791495cbbab200b4ba996237d2644384d7fa10c8dd9c761389eee573ff6767996266818cb0bb4f39096ad043610dea017cc0f9c1435e
7
+ data.tar.gz: 0d54d81c43e9d6de2c5d685bebde241f22d5c0e87d0dc45f7dd725bf61a95e86cfca9903195aba4a8a8617c53d50c09d9a56a0c1f44e34e0ee5b7df6ebde0895
@@ -1,3 +1,2 @@
1
- 1�K��O=gh4zC뤞���ܪ�.:�?���
2
- b��Ž��.�ʵ�$�=ZQ�{;�To��� ��5���}��wLؚ��������jLE�&�=�V9Q,�
3
- K���;fGW+W]�s�4Y�3
1
+ T�*=��SA;$�k
2
+ ^����Qޯ������4�����]Eg��m���{X�������"-�o_9#���Cp/p|�xv���'��BkC�/���l,�J�p2%ۧ0��`0������ըX����:�a��_1c�Y��h�&�t+�yO�Z�����}ʙ��3LS!O�7�Z���ln/��"�)��ё����DUfN�t�5�$P�4F���ɣ����� �<�����������7Qe����Z�A�O
data.tar.gz.sig CHANGED
Binary file
@@ -0,0 +1,34 @@
1
+ = Source Repository
2
+
3
+ Rake is currently hosted at github. The github web page is
4
+ http://github.com/jimweirich/rake . The public git clone URL is
5
+
6
+ git://github.com/jimweirich/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
+ * Type one of the following:
14
+
15
+ rake newb # If you have never run rake's tests
16
+ rake # If you have run rake's tests
17
+
18
+ = Issues and Bug Reports
19
+
20
+ Feel free to submit commits or feature requests. If you send a patch,
21
+ remember to update the corresponding unit tests. In fact, I prefer
22
+ new feature to be submitted in the form of new unit tests.
23
+
24
+ For other information, feel free to ask on the ruby-talk mailing list.
25
+
26
+ If you have found a bug in rake please try with the latest version of rake
27
+ before filing an issue. Also check History.rdoc for bug fixes that may have
28
+ addressed your issue.
29
+
30
+ When submitting pull requests please check the rake Travis-CI page for test
31
+ failures:
32
+
33
+ https://travis-ci.org/jimweirich/rake
34
+
@@ -1,3 +1,11 @@
1
+ === 10.3.2 / 2014-05-15
2
+
3
+ Bug fixes:
4
+
5
+ * Rake no longer infinitely loops when showing exception causes that refer to
6
+ each other. Bug #272 by Chris Bandy.
7
+ * Fixed documentation typos. Bug #275 by Jake Worth.
8
+
1
9
  === 10.3.1 / 2014-04-17
2
10
 
3
11
  Bug fixes:
@@ -1,4 +1,4 @@
1
- Copyright (c) 2003, 2004 Jim Weirich
1
+ Copyright (c) Jim Weirich
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -1,6 +1,7 @@
1
1
  .autotest
2
2
  .rubocop.yml
3
3
  .togglerc
4
+ CONTRIBUTING.rdoc
4
5
  History.rdoc
5
6
  MIT-LICENSE
6
7
  Manifest.txt
@@ -2,6 +2,7 @@
2
2
 
3
3
  home :: https://github.com/jimweirich/rake
4
4
  bugs :: https://github.com/jimweirich/rake/issues
5
+ docs :: http://docs.seattlerb.org/rake
5
6
 
6
7
  == Description
7
8
 
@@ -34,7 +35,7 @@ Rake has the following features:
34
35
 
35
36
  Download and install rake with the following.
36
37
 
37
- gem install rake
38
+ gem install rake
38
39
 
39
40
  == Usage
40
41
 
@@ -43,7 +44,7 @@ Download and install rake with the following.
43
44
  First, you must write a "Rakefile" file which contains the build rules. Here's
44
45
  a simple example:
45
46
 
46
- task :default => [:test]
47
+ task default: %w[test]
47
48
 
48
49
  task :test do
49
50
  ruby "test/unittest.rb"
@@ -51,8 +52,8 @@ a simple example:
51
52
 
52
53
  This Rakefile has two tasks:
53
54
 
54
- * A task named "test", which - upon invocation - will run a unit test file in
55
- Ruby.
55
+ * A task named "test", which -- upon invocation -- will run a unit test file
56
+ in Ruby.
56
57
  * A task named "default". This task does nothing by itself, but it has exactly
57
58
  one dependency, namely the "test" task. Invoking the "default" task will
58
59
  cause Rake to invoke the "test" task as well.
@@ -69,64 +70,27 @@ Running the "rake" command without any options will cause it to run the
69
70
 
70
71
  Type "rake --help" for all available options.
71
72
 
73
+ == Resources
72
74
 
73
- === More Information
75
+ === Rake Information
74
76
 
75
- * For details on Rake's command-line invocation, read
76
- doc/command_line_usage.rdoc[https://github.com/jimweirich/rake/blob/master/doc/command_line_usage.rdoc]
77
- * For details on writing Rakefiles, see
78
- doc/rakefile.rdoc[https://github.com/jimweirich/rake/blob/master/doc/rakefile.rdoc].
79
- * For the original announcement of Rake, see
80
- doc/rational.rdoc[https://github.com/jimweirich/rake/blob/master/doc/rational.rdoc].
81
- * For a glossary of terms, see
82
- doc/glossary.rdoc[https://github.com/jimweirich/rake/blob/master/doc/glossary.rdoc].
83
-
84
- == Development
85
-
86
- === Source Repository
87
-
88
- Rake is currently hosted at github. The github web page is
89
- http://github.com/jimweirich/rake . The public git clone URL is
90
-
91
- * git://github.com/jimweirich/rake.git
92
-
93
- === Running the Rake Test Suite
94
-
95
- If you wish to run the unit and functional tests that come with Rake:
96
-
97
- * Install the 'flexmock' gem
98
- * Install the 'session' gem in order to run the functional tests.
99
- * CD into the top project directory of rake.
100
- * Type one of the following:
101
-
102
- rake # If you have a version of rake installed
103
- ruby -Ilib bin/rake # If you do not have a version of rake installed.
104
-
105
- === Issues and Bug Reports
106
-
107
- Feature requests and bug reports can be made here
108
-
109
- * https://github.com/jimweirich/rake/issues
110
-
111
- == Online Resources
112
-
113
- === Rake References
114
-
115
- * Rake Documentation Home: http://docs.rubyrake.org
116
- * Rake Project Page: http://github.com/jimweirich/rake
117
- * Rake API Documents: http://onestepback.org/software/rake/
118
- * Rake Source Code Repo: http://github.com/jimweirich/rake
119
- * Rake Git Repo Clone URL: git://github.com/jimweirich/rake.git
120
- * Rake Bug Reports: https://github.com/jimweirich/rake/issues
121
- * Rake Continuous Build Server: https://travis-ci.org/#!/jimweirich/rake
77
+ * {Rake command-line}[rdoc-ref:doc/command_line_usage.rdoc]
78
+ * {Writing Rakefiles}[rdoc-ref:doc/rakefile.rdoc]
79
+ * The original {Rake announcement}[rdoc-ref:doc/rational.rdoc]
80
+ * Rake {glossary}[rdoc-ref:doc/glossary.rdoc]
122
81
 
123
82
  === Presentations and Articles about Rake
124
83
 
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/]
125
89
  * Jim Weirich's 2003 RubyConf presentation:
126
90
  http://onestepback.org/articles/buildingwithrake/
127
91
  * Martin Fowler's article on Rake: http://martinfowler.com/articles/rake.html
128
92
 
129
- == Other Make Reinvisionings ...
93
+ == Other Make Re-envisionings ...
130
94
 
131
95
  Rake is a late entry in the make replacement field. Here are links to
132
96
  other projects with similar (and not so similar) goals.
@@ -155,32 +119,19 @@ Rake is available under an MIT-style license.
155
119
 
156
120
  :include: MIT-LICENSE
157
121
 
158
- == Support
159
-
160
- The Rake homepage is http://onestepback.org/software/rake/. You can find the Rake
161
- GitHub page at http://github.com/jimweirich/rake.
162
-
163
- Feel free to submit commits or feature requests. If you send a patch,
164
- remember to update the corresponding unit tests. In fact, I prefer
165
- new feature to be submitted in the form of new unit tests.
166
-
167
- For other information, feel free to ask on the ruby-talk mailing list
168
- (which is mirrored to comp.lang.ruby) or contact
169
- jim dot weirich at gmail.com.
170
-
171
122
  ---
172
123
 
173
124
  = Other stuff
174
125
 
175
126
  Author:: Jim Weirich <jim.weirich@gmail.com>
176
- Requires:: Ruby 1.9 or later
177
- License:: Copyright 2003-2013 by Jim Weirich.
127
+ Requires:: Ruby 1.8.7 or later
128
+ License:: Copyright Jim Weirich.
178
129
  Released under an MIT-style license. See the MIT-LICENSE
179
130
  file included in the distribution.
180
131
 
181
132
  == Warranty
182
133
 
183
- This software is provided "as is" and without any express or
184
- implied warranties, including, without limitation, the implied
185
- warranties of merchantibility and fitness for a particular
186
- purpose.
134
+ This software is provided "as is" and without any express or implied
135
+ warranties, including, without limitation, the implied warranties of
136
+ merchantability and fitness for a particular purpose.
137
+
@@ -20,7 +20,7 @@ Options are:
20
20
  tracing details). The _output_ parameter is optional, but if
21
21
  specified it controls where the backtrace output is sent. If
22
22
  _output_ is <tt>stdout</tt>, then backtrace output is directed to
23
- stardard output. If _output_ is <tt>stderr</tt>, or if it is
23
+ standard output. If _output_ is <tt>stderr</tt>, or if it is
24
24
  missing, then the backtrace output is sent to standard error.
25
25
 
26
26
  [<tt>--comments</tt>]
@@ -49,7 +49,7 @@ Options are:
49
49
 
50
50
  [<tt>--jobs</tt> _number_ (-j)]
51
51
 
52
- Specifies the maximun number of concurrent threads allowed. Rake
52
+ Specifies the maximum number of concurrent threads allowed. Rake
53
53
  will allocate threads as needed up to this maximum number.
54
54
 
55
55
  If omitted, Rake will attempt to estimate the number of CPUs on
@@ -135,7 +135,7 @@ Options are:
135
135
  Turn on invoke/execute tracing. Also enable full backtrace on
136
136
  errors. The _output_ parameter is optional, but if specified it
137
137
  controls where the trace output is sent. If _output_ is
138
- <tt>stdout</tt>, then trace output is directed to stardard output.
138
+ <tt>stdout</tt>, then trace output is directed to standard output.
139
139
  If _output_ is <tt>stderr</tt>, or if it is missing, then trace
140
140
  output is sent to standard error.
141
141
 
@@ -1,51 +1,43 @@
1
1
  = Glossary
2
2
 
3
- [<b>action</b>]
4
- Code to be executed in order to perform a task. Actions in a
5
- rakefile are specified in a code block (usually delimited by
6
- +do+/+end+ pairs.
7
-
8
- [<b>execute</b>]
9
- When a task is executed, all of its actions are performed, in
10
- the order they were defined. Note that unlike
11
- <tt>invoke</tt>, <tt>execute</tt> always executes the actions
12
- (without invoking or executing the prerequisites).
13
-
14
- [<b>file task</b> (FileTask)]
15
- A file task is a task whose purpose is to create a file
16
- (which has the same name as the task). When invoked, a file
17
- task will only execute if one or more of the following
18
- conditions are true.
19
-
20
- 1. The associated file does not exist.
21
- 2. A prerequisite has a later time stamp than the existing file.
22
-
23
- Because normal Tasks always have the current time as
24
- timestamp, a FileTask that has a normal Task prerequisite
25
- will always execute.
26
-
27
- [<b>invoke</b>]
28
- When a task is invoked, first we check to see if it has been
29
- invoked before. if it has been, then nothing else is done.
30
- If this is the first time its been invoked, then we invoke
31
- each of its prerequisites. Finally, we check to see if we
32
- need to execute the actions of this task by calling
33
- <tt>needed?</tt>. Finally, if the task is needed, we execute
34
- its actions.
35
-
36
- NOTE: Currently prerequisites are invoked even if the task is
37
- not needed. This may change in the future.
38
-
39
- [<b>prerequisites</b>]
40
- Every task has a set (possibly empty) of prerequisites. A
41
- prerequisite P to Task T is itself a task that must be invoked
42
- before Task T.
43
-
44
- [<b>rule</b>]
45
- A rule is a recipe for synthesizing a task when no task is
46
- explicitly defined. Rules generally synthesize file tasks.
47
-
48
- [<b>task</b> (Task)]
49
- Basic unit of work in a rakefile. A task has a name, a set of
50
- prerequisites and a list of actions to be performed.
3
+ action ::
4
+ Code to be executed in order to perform a task. Actions in a rakefile are
5
+ specified in a code block (usually delimited by +do+/+end+ pairs.
6
+
7
+ execute ::
8
+ When a task is executed, all of its actions are performed, in the order they
9
+ were defined. Note that unlike <tt>invoke</tt>, <tt>execute</tt> always
10
+ executes the actions (without invoking or executing the prerequisites).
11
+
12
+ file task (Rake::FileTask) ::
13
+ A file task is a task whose purpose is to create a file (which has the same
14
+ name as the task). When invoked, a file task will only execute if one or
15
+ more of the following conditions are true.
16
+
17
+ 1. The associated file does not exist.
18
+ 2. A prerequisite has a later time stamp than the existing file.
19
+
20
+ Because normal Tasks always have the current time as timestamp, a FileTask
21
+ that has a normal Task prerequisite will always execute.
22
+
23
+ invoke ::
24
+ When a task is invoked, first we check to see if it has been invoked before.
25
+ If it has been, then nothing else is done. If this is the first time its
26
+ been invoked, then we invoke each of its prerequisites. Finally, we check
27
+ to see if we need to execute the actions of this task by calling
28
+ Rake::Task#needed?. Finally, if the task is needed, we execute its actions.
29
+
30
+ NOTE: Prerequisites are invoked even if the task is not needed.
31
+
32
+ prerequisites ::
33
+ Every task has a set (possibly empty) of prerequisites. A prerequisite P to
34
+ Task T is itself a task that must be invoked before Task T.
35
+
36
+ rule ::
37
+ A rule is a recipe for synthesizing a task when no task is explicitly
38
+ defined. Rules generally synthesize file tasks.
39
+
40
+ task (Rake::Task) ::
41
+ Basic unit of work in a rakefile. A task has a name, a set of prerequisites
42
+ and a list of actions to be performed.
51
43
 
@@ -21,7 +21,7 @@
21
21
  #++
22
22
 
23
23
  module Rake
24
- VERSION = '10.3.1'
24
+ VERSION = '10.3.2'
25
25
  end
26
26
 
27
27
  require 'rake/version'
@@ -202,6 +202,10 @@ module Rake
202
202
  end
203
203
 
204
204
  def display_exception_details(ex) # :nodoc:
205
+ seen = Thread.current[:rake_display_exception_details_seen] ||= []
206
+ return if seen.include? ex
207
+ seen << ex
208
+
205
209
  display_exception_message_details(ex)
206
210
  display_exception_backtrace(ex)
207
211
  display_exception_details(ex.cause) if has_cause?(ex)
@@ -16,6 +16,72 @@ class TestRakeApplication < Rake::TestCase
16
16
  end
17
17
  end
18
18
 
19
+ def test_display_exception_details
20
+ begin
21
+ raise 'test'
22
+ rescue => ex
23
+ end
24
+
25
+ out, err = capture_io do
26
+ @app.display_error_message ex
27
+ end
28
+
29
+ assert_empty out
30
+
31
+ assert_match 'rake aborted!', err
32
+ assert_match __method__.to_s, err
33
+ end
34
+
35
+ def test_display_exception_details_cause
36
+ skip 'Exception#cause not implemented' unless
37
+ Exception.method_defined? :cause
38
+
39
+ begin
40
+ raise 'cause a'
41
+ rescue
42
+ begin
43
+ raise 'cause b'
44
+ rescue => ex
45
+ end
46
+ end
47
+
48
+ out, err = capture_io do
49
+ @app.display_error_message ex
50
+ end
51
+
52
+ assert_empty out
53
+
54
+ assert_match 'cause a', err
55
+ assert_match 'cause b', err
56
+ end
57
+
58
+ def test_display_exception_details_cause_loop
59
+ skip 'Exception#cause not implemented' unless
60
+ Exception.method_defined? :cause
61
+
62
+ begin
63
+ begin
64
+ raise 'cause a'
65
+ rescue => a
66
+ begin
67
+ raise 'cause b'
68
+ rescue
69
+ raise a
70
+ end
71
+ end
72
+ rescue => ex
73
+ end
74
+
75
+ out, err = capture_io do
76
+ @app.display_error_message ex
77
+ end
78
+
79
+ assert_empty out
80
+
81
+ assert_match 'cause a', err
82
+ assert_match 'cause b', err
83
+ end
84
+
19
85
  def test_display_tasks
20
86
  @app.options.show_tasks = :tasks
21
87
  @app.options.show_task_pattern = //
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: 10.3.1
4
+ version: 10.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Hodel
@@ -30,7 +30,7 @@ cert_chain:
30
30
  pfkQPF5Ezsi73pEpFN93Fy21NKCYQH1jCwWeKUF29MIMGd6kE3ZmHW/7fz5GwKIM
31
31
  Ls5SgY48a0l7Hw==
32
32
  -----END CERTIFICATE-----
33
- date: 2014-04-17 00:00:00.000000000 Z
33
+ date: 2014-05-16 00:00:00.000000000 Z
34
34
  dependencies:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: minitest
@@ -104,6 +104,7 @@ executables:
104
104
  - rake
105
105
  extensions: []
106
106
  extra_rdoc_files:
107
+ - CONTRIBUTING.rdoc
107
108
  - History.rdoc
108
109
  - Manifest.txt
109
110
  - README.rdoc
@@ -148,6 +149,7 @@ files:
148
149
  - ".gemtest"
149
150
  - ".rubocop.yml"
150
151
  - ".togglerc"
152
+ - CONTRIBUTING.rdoc
151
153
  - History.rdoc
152
154
  - MIT-LICENSE
153
155
  - Manifest.txt
metadata.gz.sig CHANGED
Binary file