rake 0.9.2.2 → 13.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/History.rdoc +2403 -0
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +64 -106
  5. data/doc/command_line_usage.rdoc +65 -21
  6. data/doc/glossary.rdoc +40 -49
  7. data/doc/jamis.rb +1 -0
  8. data/doc/rake.1 +156 -0
  9. data/doc/rakefile.rdoc +127 -62
  10. data/{bin → exe}/rake +1 -7
  11. data/lib/rake/application.rb +507 -271
  12. data/lib/rake/backtrace.rb +24 -0
  13. data/lib/rake/clean.rb +54 -8
  14. data/lib/rake/cloneable.rb +11 -19
  15. data/lib/rake/cpu_counter.rb +107 -0
  16. data/lib/rake/default_loader.rb +5 -0
  17. data/lib/rake/dsl_definition.rb +67 -48
  18. data/lib/rake/early_time.rb +5 -1
  19. data/lib/rake/ext/core.rb +5 -6
  20. data/lib/rake/ext/string.rb +61 -52
  21. data/lib/rake/file_creation_task.rb +4 -3
  22. data/lib/rake/file_list.rb +81 -49
  23. data/lib/rake/file_task.rb +15 -8
  24. data/lib/rake/file_utils.rb +63 -43
  25. data/lib/rake/file_utils_ext.rb +14 -25
  26. data/lib/rake/invocation_chain.rb +25 -19
  27. data/lib/rake/invocation_exception_mixin.rb +1 -0
  28. data/lib/rake/late_time.rb +18 -0
  29. data/lib/rake/linked_list.rb +112 -0
  30. data/lib/rake/loaders/makefile.rb +23 -9
  31. data/lib/rake/multi_task.rb +4 -6
  32. data/lib/rake/name_space.rb +36 -23
  33. data/lib/rake/packagetask.rb +71 -34
  34. data/lib/rake/phony.rb +16 -0
  35. data/lib/rake/private_reader.rb +21 -0
  36. data/lib/rake/promise.rb +100 -0
  37. data/lib/rake/pseudo_status.rb +8 -2
  38. data/lib/rake/rake_module.rb +41 -3
  39. data/lib/rake/rake_test_loader.rb +9 -4
  40. data/lib/rake/rule_recursion_overflow_error.rb +2 -2
  41. data/lib/rake/scope.rb +43 -0
  42. data/lib/rake/task.rb +186 -79
  43. data/lib/rake/task_argument_error.rb +1 -0
  44. data/lib/rake/task_arguments.rb +46 -15
  45. data/lib/rake/task_manager.rb +91 -67
  46. data/lib/rake/tasklib.rb +2 -12
  47. data/lib/rake/testtask.rb +61 -63
  48. data/lib/rake/thread_history_display.rb +49 -0
  49. data/lib/rake/thread_pool.rb +163 -0
  50. data/lib/rake/trace_output.rb +23 -0
  51. data/lib/rake/version.rb +5 -3
  52. data/lib/rake/win32.rb +14 -18
  53. data/lib/rake.rb +35 -33
  54. data/rake.gemspec +100 -0
  55. metadata +74 -176
  56. data/.gemtest +0 -0
  57. data/CHANGES +0 -522
  58. data/Rakefile +0 -369
  59. data/TODO +0 -20
  60. data/doc/rake.1.gz +0 -0
  61. data/doc/release_notes/rake-0.4.14.rdoc +0 -23
  62. data/doc/release_notes/rake-0.4.15.rdoc +0 -35
  63. data/doc/release_notes/rake-0.5.0.rdoc +0 -53
  64. data/doc/release_notes/rake-0.5.3.rdoc +0 -78
  65. data/doc/release_notes/rake-0.5.4.rdoc +0 -46
  66. data/doc/release_notes/rake-0.6.0.rdoc +0 -141
  67. data/doc/release_notes/rake-0.7.0.rdoc +0 -119
  68. data/doc/release_notes/rake-0.7.1.rdoc +0 -59
  69. data/doc/release_notes/rake-0.7.2.rdoc +0 -121
  70. data/doc/release_notes/rake-0.7.3.rdoc +0 -47
  71. data/doc/release_notes/rake-0.8.0.rdoc +0 -114
  72. data/doc/release_notes/rake-0.8.2.rdoc +0 -165
  73. data/doc/release_notes/rake-0.8.3.rdoc +0 -112
  74. data/doc/release_notes/rake-0.8.4.rdoc +0 -147
  75. data/doc/release_notes/rake-0.8.5.rdoc +0 -53
  76. data/doc/release_notes/rake-0.8.6.rdoc +0 -55
  77. data/doc/release_notes/rake-0.8.7.rdoc +0 -55
  78. data/doc/release_notes/rake-0.9.0.rdoc +0 -112
  79. data/doc/release_notes/rake-0.9.1.rdoc +0 -52
  80. data/doc/release_notes/rake-0.9.2.rdoc +0 -49
  81. data/install.rb +0 -90
  82. data/lib/rake/alt_system.rb +0 -109
  83. data/lib/rake/classic_namespace.rb +0 -11
  84. data/lib/rake/contrib/compositepublisher.rb +0 -21
  85. data/lib/rake/contrib/ftptools.rb +0 -150
  86. data/lib/rake/contrib/publisher.rb +0 -73
  87. data/lib/rake/contrib/rubyforgepublisher.rb +0 -16
  88. data/lib/rake/contrib/sshpublisher.rb +0 -50
  89. data/lib/rake/contrib/sys.rb +0 -191
  90. data/lib/rake/ext/module.rb +0 -39
  91. data/lib/rake/ext/time.rb +0 -14
  92. data/lib/rake/gempackagetask.rb +0 -15
  93. data/lib/rake/pathmap.rb +0 -1
  94. data/lib/rake/rdoctask.rb +0 -234
  95. data/lib/rake/ruby182_test_unit_fix.rb +0 -25
  96. data/lib/rake/runtest.rb +0 -21
  97. data/test/file_creation.rb +0 -34
  98. data/test/helper.rb +0 -492
  99. data/test/test_rake.rb +0 -40
  100. data/test/test_rake_application.rb +0 -489
  101. data/test/test_rake_application_options.rb +0 -335
  102. data/test/test_rake_clean.rb +0 -14
  103. data/test/test_rake_definitions.rb +0 -80
  104. data/test/test_rake_directory_task.rb +0 -46
  105. data/test/test_rake_dsl.rb +0 -77
  106. data/test/test_rake_early_time.rb +0 -31
  107. data/test/test_rake_extension.rb +0 -59
  108. data/test/test_rake_file_creation_task.rb +0 -56
  109. data/test/test_rake_file_list.rb +0 -628
  110. data/test/test_rake_file_list_path_map.rb +0 -8
  111. data/test/test_rake_file_task.rb +0 -102
  112. data/test/test_rake_file_utils.rb +0 -305
  113. data/test/test_rake_ftp_file.rb +0 -59
  114. data/test/test_rake_functional.rb +0 -450
  115. data/test/test_rake_invocation_chain.rb +0 -52
  116. data/test/test_rake_makefile_loader.rb +0 -44
  117. data/test/test_rake_multi_task.rb +0 -51
  118. data/test/test_rake_name_space.rb +0 -43
  119. data/test/test_rake_package_task.rb +0 -79
  120. data/test/test_rake_path_map.rb +0 -157
  121. data/test/test_rake_path_map_explode.rb +0 -34
  122. data/test/test_rake_path_map_partial.rb +0 -18
  123. data/test/test_rake_pseudo_status.rb +0 -21
  124. data/test/test_rake_rake_test_loader.rb +0 -21
  125. data/test/test_rake_rdoc_task.rb +0 -83
  126. data/test/test_rake_require.rb +0 -40
  127. data/test/test_rake_rules.rb +0 -327
  128. data/test/test_rake_task.rb +0 -267
  129. data/test/test_rake_task_argument_parsing.rb +0 -103
  130. data/test/test_rake_task_arguments.rb +0 -88
  131. data/test/test_rake_task_lib.rb +0 -9
  132. data/test/test_rake_task_manager.rb +0 -157
  133. data/test/test_rake_task_manager_argument_resolution.rb +0 -36
  134. data/test/test_rake_task_with_arguments.rb +0 -173
  135. data/test/test_rake_test_task.rb +0 -120
  136. data/test/test_rake_top_level_functions.rb +0 -111
  137. data/test/test_rake_win32.rb +0 -72
  138. data/test/test_sys.rb +0 -20
data/MIT-LICENSE CHANGED
@@ -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
data/README.rdoc CHANGED
@@ -1,7 +1,13 @@
1
1
  = RAKE -- Ruby Make
2
2
 
3
- This package contains Rake, a simple ruby build program with capabilities
4
- similar to make.
3
+ home :: https://github.com/ruby/rake
4
+ bugs :: https://github.com/ruby/rake/issues
5
+ docs :: https://ruby.github.io/rake
6
+
7
+ == Description
8
+
9
+ Rake is a Make-like program implemented in Ruby. Tasks and dependencies are
10
+ specified in standard Ruby syntax.
5
11
 
6
12
  Rake has the following features:
7
13
 
@@ -17,9 +23,9 @@ Rake has the following features:
17
23
  file names and paths.
18
24
 
19
25
  * A library of prepackaged tasks to make building rakefiles easier. For example,
20
- tasks for building tarballs and publishing to FTP or SSH sites. (Formerly
21
- tasks for building RDoc and Gems were included in rake but they're now
22
- available in RDoc and RubyGems respectively.)
26
+ tasks for building tarballs. (Formerly
27
+ tasks for building RDoc, Gems, and publishing to FTP were included in rake but they're now
28
+ available in RDoc, RubyGems, and rake-contrib respectively.)
23
29
 
24
30
  * Supports parallel execution of tasks.
25
31
 
@@ -29,19 +35,7 @@ Rake has the following features:
29
35
 
30
36
  Download and install rake with the following.
31
37
 
32
- gem install rake
33
-
34
- === Normal Installation
35
-
36
- You can download the source tarball of the latest version of Rake from
37
-
38
- * http://rubyforge.org/project/showfiles.php?group_id=50
39
-
40
- Extract the tarball and run
41
-
42
- % ruby install.rb
43
-
44
- from its distribution directory.
38
+ gem install rake
45
39
 
46
40
  == Usage
47
41
 
@@ -50,7 +44,7 @@ from its distribution directory.
50
44
  First, you must write a "Rakefile" file which contains the build rules. Here's
51
45
  a simple example:
52
46
 
53
- task :default => [:test]
47
+ task default: %w[test]
54
48
 
55
49
  task :test do
56
50
  ruby "test/unittest.rb"
@@ -58,8 +52,8 @@ a simple example:
58
52
 
59
53
  This Rakefile has two tasks:
60
54
 
61
- * A task named "test", which - upon invocation - will run a unit test file in
62
- Ruby.
55
+ * A task named "test", which -- upon invocation -- will run a unit test file
56
+ in Ruby.
63
57
  * A task named "default". This task does nothing by itself, but it has exactly
64
58
  one dependency, namely the "test" task. Invoking the "default" task will
65
59
  cause Rake to invoke the "test" task as well.
@@ -76,122 +70,86 @@ Running the "rake" command without any options will cause it to run the
76
70
 
77
71
  Type "rake --help" for all available options.
78
72
 
73
+ == Resources
79
74
 
80
- === More Information
81
-
82
- * For details on Rake's command-line invocation, read
83
- doc/command_line_usage.rdoc[http://rake.rubyforge.org/files/doc/command_line_usage_rdoc.html]
84
- * For details on writing Rakefiles, see
85
- doc/rakefile.rdoc[http://rake.rubyforge.org/files/doc/rakefile_rdoc.html].
86
- * For the original announcement of Rake, see
87
- doc/rational.rdoc[http://rake.rubyforge.org/files/doc/rational_rdoc.html].
88
- * For a glossary of terms, see
89
- doc/glossary.rdoc[http://rake.rubyforge.org/files/doc/glossary_rdoc.html].
90
-
91
- == Development
92
-
93
- === Source Repository
94
-
95
- Rake is currently hosted at github. The github web page is
96
- http://github.com/jimweirich/rake. The public git clone URL is
97
-
98
- * git://github.com/jimweirich/rake.git
99
-
100
- === Running the Rake Test Suite
101
-
102
- If you wish to run the unit and functional tests that come with Rake:
103
-
104
- * Install the 'flexmock' gem
105
- * Install the 'session' gem in order to run the functional tests.
106
- * CD into the top project directory of rake.
107
- * Type one of the following:
108
-
109
- rake # If you have a version of rake installed
110
- ruby -Ilib bin/rake # If you do not have a version of rake installed.
111
-
112
- === Issues and Bug Reports
75
+ === Rake Information
113
76
 
114
- Feature requests and bug reports can be made here
115
-
116
- * https://github.com/jimweirich/rake/issues
117
-
118
- Issues and bug reports can also be tracked here:
119
-
120
- * http://www.pivotaltracker.com/projects/28469
121
-
122
- == Online Resources
123
-
124
- === Rake References
125
-
126
- * Rake Documentation Home: http://docs.rubyrake.org
127
- * Rake Project Page: http://rubyforge.org/projects/rake
128
- * Rake API Documents: http://rake.rubyforge.org
129
- * Rake Source Code Repo: http://github.com/jimweirich/rake
130
- * Rake Git Repo Clone URL: git://github.com/jimweirich/rake.git
131
- * Rake Issue Tracking: http://www.pivotaltracker.com/projects/28469
132
- * Rake Bug Reports: https://github.com/jimweirich/rake/issues
77
+ * {Rake command-line}[link:doc/command_line_usage.rdoc]
78
+ * {Writing Rakefiles}[link:doc/rakefile.rdoc]
79
+ * The original {Rake announcement}[link:doc/rational.rdoc]
80
+ * Rake {glossary}[link:doc/glossary.rdoc]
133
81
 
134
82
  === Presentations and Articles about Rake
135
83
 
136
- * Jim Weirich's 2003 RubyConf presentation:
137
- http://onestepback.org/articles/buildingwithrake/
138
- * Martin Fowler's article on Rake: http://martinfowler.com/articles/rake.html
84
+ * Avdi Grimm's rake series:
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
139
94
 
140
- == Other Make Reinvisionings ...
95
+ == Other Make Re-envisionings ...
141
96
 
142
97
  Rake is a late entry in the make replacement field. Here are links to
143
98
  other projects with similar (and not so similar) goals.
144
99
 
145
- * http://directory.fsf.org/bras.html -- Bras, one of earliest
100
+ * https://directory.fsf.org/wiki/Bras -- Bras, one of earliest
146
101
  implementations of "make in a scripting language".
147
102
  * http://www.a-a-p.org -- Make in Python
148
- * http://www.aromatic.com/tools/jam.txt -- JAM, Java Automated Make
149
- * http://ant.apache.org -- The Ant project
150
- * http://ppt.perl.org/commands/make/index.html -- Make from the Perl
151
- Power Tools implementation.
152
- * http://search.cpan.org/search?query=PerlBuildSystem -- The Perl Build System
153
- * http://make.rubyforge.org -- 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.
154
106
 
155
107
  == Credits
156
108
 
109
+ [<b>Jim Weirich</b>] Who originally created Rake.
110
+
157
111
  [<b>Ryan Dlugosz</b>] For the initial conversation that sparked Rake.
158
112
 
159
- [<b>nobu.nokada@softhome.net</b>] For the initial patch for rule support.
113
+ [<b>Nobuyoshi Nakada <nobu@ruby-lang.org></b>] For the initial patch for rule support.
160
114
 
161
115
  [<b>Tilman Sauerbeck <tilman@code-monkey.de></b>] For the recursive rule patch.
162
116
 
117
+ [<b>Eric Hodel</b>] For aid in maintaining rake.
118
+
119
+ [<b>Hiroshi SHIBATA</b>] Maintainer of Rake 10.X and Rake 11.X
120
+
163
121
  == License
164
122
 
165
123
  Rake is available under an MIT-style license.
166
124
 
167
125
  :include: MIT-LICENSE
168
126
 
169
- == Support
170
-
171
- The Rake homepage is http://rake.rubyforge.org. You can find the Rake
172
- RubyForge page at http://rubyforge.org/projects/rake.
173
-
174
- Feel free to submit commits or feature requests. If you send a patch,
175
- remember to update the corresponding unit tests. In fact, I prefer
176
- new feature to be submitted in the form of new unit tests.
177
-
178
- For other information, feel free to ask on the ruby-talk mailing list
179
- (which is mirrored to comp.lang.ruby) or contact
180
- jim dot weirich at gmail.com.
181
-
182
127
  ---
183
128
 
184
129
  = Other stuff
185
130
 
186
131
  Author:: Jim Weirich <jim.weirich@gmail.com>
187
- Requires:: Ruby 1.8.6 or later
188
- License:: Copyright 2003-2008 by Jim Weirich.
189
- Released under an MIT-style license. See the LICENSE file
190
- included in the distribution.
132
+ Requires:: Ruby 2.0.0 or later
133
+ License:: Copyright Jim Weirich.
134
+ Released under an MIT-style license. See the MIT-LICENSE
135
+ file included in the distribution.
191
136
 
192
137
  == Warranty
193
138
 
194
- This software is provided "as is" and without any express or
195
- implied warranties, including, without limitation, the implied
196
- warranties of merchantibility and fitness for a particular
197
- purpose.
139
+ This software is provided "as is" and without any express or implied
140
+ warranties, including, without limitation, the implied warranties of
141
+ merchantability and fitness for a particular purpose.
142
+
143
+ == Historical
144
+
145
+ Rake was originally created by Jim Weirich, who unfortunately passed away in
146
+ February 2014. This repository was originally hosted at
147
+ {github.com/jimweirich/rake}[https://github.com/jimweirich/rake/], however
148
+ with his passing, has been moved to {ruby/rake}[https://github.com/ruby/rake].
149
+
150
+ You can view Jim's last commit here:
151
+ https://github.com/jimweirich/rake/tree/336559f28f55bce418e2ebcc0a57548dcbac4025
152
+
153
+ You can {read more about Jim}[https://en.wikipedia.org/wiki/Jim_Weirich] at Wikipedia.
154
+
155
+ Thank you for this great tool, Jim. We'll remember you.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Rake is invoked from the command line using:
4
4
 
5
- % rake [<em>options</em> ...] [<em>VAR</em>=<em>VALUE</em>] [<em>targets</em> ...]
5
+ % rake [options ...] [VAR=VALUE ...] [targets ...]
6
6
 
7
7
  Options are:
8
8
 
@@ -11,12 +11,22 @@ Options are:
11
11
  during the execution of the <b>rake</b> command. You can access
12
12
  the value by using ENV['<em>name</em>'].
13
13
 
14
- [<tt>--classic-namespace</tt> (-n)]
15
- Import the Task, FileTask, and FileCreateTask into the top-level
16
- scope to be compatible with older versions of Rake. Alternatively
17
- you can include the line <code>require
18
- 'rake/classic_namespace'</code> in your Rakefile to get the
19
- classic behavior.
14
+ [<tt>--all</tt> (-A)]
15
+ Used in combination with the -T and -D options, will force
16
+ those options to show all the tasks, even the ones without comments.
17
+
18
+ [<tt>--backtrace</tt>{=_output_} (-n)]
19
+ Enable a full backtrace (i.e. like --trace, but without the task
20
+ tracing details). The _output_ parameter is optional, but if
21
+ specified it controls where the backtrace output is sent. If
22
+ _output_ is <tt>stdout</tt>, then backtrace output is directed to
23
+ standard output. If _output_ is <tt>stderr</tt>, or if it is
24
+ missing, then the backtrace output is sent to standard error.
25
+
26
+ [<tt>--comments</tt>]
27
+ Used in combination with the -W options to force the output to
28
+ contain commented options only. This is the reverse of
29
+ <tt>--all</tt>.
20
30
 
21
31
  [<tt>--describe</tt> _pattern_ (-D)]
22
32
  Describe the tasks (matching optional PATTERN), then exit.
@@ -31,15 +41,46 @@ Options are:
31
41
  [<tt>--execute-print</tt> _code_ (-p)]
32
42
  Execute some Ruby code, print the result, and exit.
33
43
 
34
- [<tt>--execute-continue</tt> _code_ (-p)]
44
+ [<tt>--execute-continue</tt> _code_ (-E)]
35
45
  Execute some Ruby code, then continue with normal task processing.
36
46
 
37
47
  [<tt>--help</tt> (-H)]
38
48
  Display some help text and exit.
39
49
 
50
+ [<tt>--jobs</tt> _number_ (-j)]
51
+
52
+ Specifies the maximum number of concurrent threads allowed. Rake
53
+ will allocate threads as needed up to this maximum number.
54
+
55
+ If omitted, Rake will attempt to estimate the number of CPUs on
56
+ the system and add 4 to that number.
57
+
58
+ The concurrent threads are used to execute the <tt>multitask</tt>
59
+ prerequisites. Also see the <tt>-m</tt> option which turns all
60
+ tasks into multitasks.
61
+
62
+ Sample values:
63
+ (no -j) : Allow up to (# of CPUs + 4) number of threads
64
+ --jobs : Allow unlimited number of threads
65
+ --jobs=1 : Allow only one thread (the main thread)
66
+ --jobs=16 : Allow up to 16 concurrent threads
67
+
68
+ [<tt>--job-stats</tt> _level_]
69
+
70
+ Display job statistics at the completion of the run. By default,
71
+ this will display the requested number of active threads (from the
72
+ -j options) and the maximum number of threads in play at any given
73
+ time.
74
+
75
+ If the optional _level_ is <tt>history</tt>, then a complete trace
76
+ of task history will be displayed on standard output.
77
+
40
78
  [<tt>--libdir</tt> _directory_ (-I)]
41
79
  Add _directory_ to the list of directories searched for require.
42
80
 
81
+ [<tt>--multitask</tt> (-m)]
82
+ Treat all tasks as multitasks. ('make/drake' semantics)
83
+
43
84
  [<tt>--nosearch</tt> (-N)]
44
85
  Do not search for a Rakefile in parent directories.
45
86
 
@@ -69,6 +110,11 @@ Options are:
69
110
  [<tt>--silent (-s)</tt>]
70
111
  Like --quiet, but also suppresses the 'in directory' announcement.
71
112
 
113
+ [<tt>--suppress-backtrace _pattern_ </tt>]
114
+ Line matching the regular expression _pattern_ will be removed
115
+ from the backtrace output. Note that the --backtrace option is the
116
+ full backtrace without these lines suppressed.
117
+
72
118
  [<tt>--system</tt> (-g)]
73
119
  Use the system wide (global) rakefiles. The project Rakefile is
74
120
  ignored. By default, the system wide rakefiles are used only if no
@@ -85,19 +131,13 @@ Options are:
85
131
  are defined using the "desc" command. If a pattern is given, then
86
132
  only tasks matching the pattern are displayed.
87
133
 
88
- [<tt>--no-top-level-dsl</tt> (-X)]
89
- Do not put the Rake DSL commands into the top level scope.
90
-
91
- [<tt>--top-level-dsl</tt>]
92
- Put the Rake DSL commands into the top level scope (default).
93
-
94
- NOTE: Although currently Rake defaults to its DSL in the top level
95
- scope, the plan is to deprecate this in the future and default ot
96
- having the DSL commands *not* appear in the top level scope.
97
-
98
- [<tt>--trace</tt> (-t)]
134
+ [<tt>--trace</tt>{=_output_} (-t)]
99
135
  Turn on invoke/execute tracing. Also enable full backtrace on
100
- errors.
136
+ errors. The _output_ parameter is optional, but if specified it
137
+ controls where the trace output is sent. If _output_ is
138
+ <tt>stdout</tt>, then trace output is directed to standard output.
139
+ If _output_ is <tt>stderr</tt>, or if it is missing, then trace
140
+ output is sent to standard error.
101
141
 
102
142
  [<tt>--verbose</tt> (-v)]
103
143
  Echo the Sys commands to standard output.
@@ -107,7 +147,11 @@ Options are:
107
147
 
108
148
  [<tt>--where</tt> <em>pattern</em> (-W)]
109
149
  Display tasks that match <em>pattern</em> and the file and line
110
- number where the task is defined.
150
+ number where the task is defined. By default this option will
151
+ display all tasks, not just the tasks that have descriptions.
152
+
153
+ [<tt>--no-deprecation-warnings</tt> (-X)]
154
+ Do not display the deprecation warnings.
111
155
 
112
156
  In addition, any command line option of the form
113
157
  <em>VAR</em>=<em>VALUE</em> will be added to the environment hash
data/doc/glossary.rdoc CHANGED
@@ -1,51 +1,42 @@
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.
51
-
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 it has
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?. If the task is needed, we execute its actions.
29
+
30
+ NOTE: Prerequisites are still invoked even if the task is not needed.
31
+
32
+ prerequisites ::
33
+ Every task has a (possibly empty) set 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
+ The basic unit of work in a Rakefile. A task has a name, a set of
42
+ prerequisites, and a list of actions to be performed.
data/doc/jamis.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module RDoc
2
3
  module Page
3
4
 
data/doc/rake.1 ADDED
@@ -0,0 +1,156 @@
1
+ .Dd June 12, 2016
2
+ .Dt RAKE 1
3
+ .Os rake 11.2.2
4
+ .Sh NAME
5
+ .Nm rake
6
+ .Nd make-like build utility for Ruby
7
+ .Sh SYNOPSIS
8
+ .Nm
9
+ .Op Fl f Ar rakefile
10
+ .Op Ar options
11
+ .Ar targets ...
12
+ .Sh DESCRIPTION
13
+ .Nm
14
+ is a
15
+ .Xr make 1 Ns -like
16
+ build utility for Ruby.
17
+ Tasks and dependencies are specified in standard Ruby syntax.
18
+ .Sh OPTIONS
19
+ .Bl -tag -width Ds
20
+ .It Fl m , Fl -multitask
21
+ Treat all tasks as multitasks.
22
+ .It Fl B , Fl -build-all
23
+ Build all prerequisites, including those which are up\-to\-date.
24
+ .It Fl j , Fl -jobs Ar num_jobs
25
+ Specifies the maximum number of tasks to execute in parallel (default is number of CPU cores + 4).
26
+ .El
27
+ .Ss Modules
28
+ .Bl -tag -width Ds
29
+ .It Fl I , Fl -libdir Ar libdir
30
+ Include
31
+ .Ar libdir
32
+ in the search path for required modules.
33
+ .It Fl r , Fl -require Ar module
34
+ Require
35
+ .Ar module
36
+ before executing
37
+ .Pa rakefile .
38
+ .El
39
+ .Ss Rakefile location
40
+ .Bl -tag -width Ds
41
+ .It Fl f , Fl -rakefile Ar filename
42
+ Use
43
+ .Ar filename
44
+ as the rakefile to search for.
45
+ .It Fl N , Fl -no-search , Fl -nosearch
46
+ Do not search parent directories for the Rakefile.
47
+ .It Fl G , Fl -no-system , Fl -nosystem
48
+ Use standard project Rakefile search paths, ignore system wide rakefiles.
49
+ .It Fl R , Fl -rakelib Ar rakelibdir , Fl -rakelibdir Ar rakelibdir
50
+ Auto-import any .rake files in
51
+ .Ar rakelibdir
52
+ (default is
53
+ .Sq rakelib )
54
+ .It Fl g , Fl -system
55
+ Use system-wide (global) rakefiles (usually
56
+ .Pa ~/.rake/*.rake ) .
57
+ .El
58
+ .Ss Debugging
59
+ .Bl -tag -width Ds
60
+ .It Fl -backtrace Ns = Ns Ar out
61
+ Enable full backtrace.
62
+ .Ar out
63
+ can be
64
+ .Dv stderr
65
+ (default) or
66
+ .Dv stdout .
67
+ .It Fl t , Fl -trace Ns = Ns Ar out
68
+ Turn on invoke/execute tracing, enable full backtrace.
69
+ .Ar out
70
+ can be
71
+ .Dv stderr
72
+ (default) or
73
+ .Dv stdout .
74
+ .It Fl -suppress-backtrace Ar pattern
75
+ Suppress backtrace lines matching regexp
76
+ .Ar pattern .
77
+ Ignored if
78
+ .Fl -trace
79
+ is on.
80
+ .It Fl -rules
81
+ Trace the rules resolution.
82
+ .It Fl n , Fl -dry-run
83
+ Do a dry run without executing actions.
84
+ .It Fl T , Fl -tasks Op Ar pattern
85
+ Display the tasks (matching optional
86
+ .Ar pattern )
87
+ with descriptions, then exit.
88
+ .It Fl D , Fl -describe Op Ar pattern
89
+ Describe the tasks (matching optional
90
+ .Ar pattern ) ,
91
+ then exit.
92
+ .It Fl W , Fl -where Op Ar pattern
93
+ Describe the tasks (matching optional
94
+ .Ar pattern ) ,
95
+ then exit.
96
+ .It Fl P , Fl -prereqs
97
+ Display the tasks and dependencies, then exit.
98
+ .It Fl e , Fl -execute Ar code
99
+ Execute some Ruby code and exit.
100
+ .It Fl p , Fl -execute-print Ar code
101
+ Execute some Ruby code, print the result, then exit.
102
+ .It Fl E , Fl -execute-continue Ar code
103
+ Execute some Ruby code, then continue with normal task processing.
104
+ .El
105
+ .Ss Information
106
+ .Bl -tag -width Ds
107
+ .It Fl v , Fl -verbose
108
+ Log message to standard output.
109
+ .It Fl q , Fl -quiet
110
+ Do not log messages to standard output.
111
+ .It Fl s , Fl -silent
112
+ Like
113
+ .Fl -quiet ,
114
+ but also suppresses the
115
+ .Sq in directory
116
+ announcement.
117
+ .It Fl X , Fl -no-deprecation-warnings
118
+ Disable the deprecation warnings.
119
+ .It Fl -comments
120
+ Show commented tasks only
121
+ .It Fl A , Fl -all
122
+ Show all tasks, even uncommented ones (in combination with
123
+ .Fl T
124
+ or
125
+ .Fl D )
126
+ .It Fl -job-stats Op Ar level
127
+ Display job statistics.
128
+ If
129
+ .Ar level
130
+ is
131
+ .Sq history ,
132
+ displays a complete job list.
133
+ .It Fl V , Fl -version
134
+ Display the program version.
135
+ .It Fl h , Fl H , Fl -help
136
+ Display a help message.
137
+ .El
138
+ .Sh SEE ALSO
139
+ The complete documentation for
140
+ .Nm rake
141
+ has been installed at
142
+ .Pa /usr/share/doc/rake-doc/html/index.html .
143
+ It is also available online at
144
+ .Lk https://ruby.github.io/rake .
145
+ .Sh AUTHORS
146
+ .An -nosplit
147
+ .Nm
148
+ was written by
149
+ .An Jim Weirich Aq Mt jim@weirichhouse.org .
150
+ .Pp
151
+ This manual was created by
152
+ .An Caitlin Matos Aq Mt caitlin.matos@zoho.com
153
+ for the Debian project (but may be used by others).
154
+ It was inspired by the manual by
155
+ .An Jani Monoses Aq Mt jani@iv.ro
156
+ for the Ubuntu project.