rake 0.8.7 → 0.9.0
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.
- data/.gemtest +0 -0
- data/CHANGES +77 -9
- data/{README → README.rdoc} +14 -10
- data/Rakefile +129 -118
- data/TODO +1 -1
- data/doc/command_line_usage.rdoc +18 -6
- data/doc/glossary.rdoc +2 -2
- data/doc/jamis.rb +2 -2
- data/doc/proto_rake.rdoc +22 -22
- data/doc/rake.1.gz +0 -0
- data/doc/rakefile.rdoc +55 -32
- data/doc/rational.rdoc +6 -6
- data/doc/release_notes/rake-0.4.15.rdoc +1 -1
- data/doc/release_notes/rake-0.5.0.rdoc +1 -1
- data/doc/release_notes/rake-0.7.0.rdoc +1 -1
- data/doc/release_notes/rake-0.7.2.rdoc +3 -3
- data/doc/release_notes/rake-0.7.3.rdoc +2 -2
- data/doc/release_notes/rake-0.8.0.rdoc +1 -1
- data/doc/release_notes/rake-0.8.2.rdoc +3 -3
- data/doc/release_notes/rake-0.8.3.rdoc +2 -2
- data/doc/release_notes/rake-0.8.4.rdoc +1 -1
- data/doc/release_notes/rake-0.8.5.rdoc +1 -1
- data/doc/release_notes/rake-0.8.6.rdoc +1 -1
- data/doc/release_notes/rake-0.8.7.rdoc +1 -1
- data/doc/release_notes/rake-0.9.0.rdoc +112 -0
- data/install.rb +14 -12
- data/lib/rake/alt_system.rb +7 -6
- data/lib/rake/application.rb +589 -0
- data/lib/rake/classic_namespace.rb +1 -0
- data/lib/rake/clean.rb +2 -4
- data/lib/rake/cloneable.rb +25 -0
- data/lib/rake/contrib/compositepublisher.rb +2 -5
- data/lib/rake/contrib/ftptools.rb +5 -8
- data/lib/rake/contrib/publisher.rb +2 -8
- data/lib/rake/contrib/rubyforgepublisher.rb +2 -4
- data/lib/rake/contrib/sshpublisher.rb +4 -6
- data/lib/rake/contrib/sys.rb +7 -25
- data/lib/rake/default_loader.rb +10 -0
- data/lib/rake/dsl.rb +2 -0
- data/lib/rake/dsl_definition.rb +143 -0
- data/lib/rake/early_time.rb +18 -0
- data/lib/rake/ext/core.rb +27 -0
- data/lib/rake/ext/module.rb +39 -0
- data/lib/rake/ext/string.rb +167 -0
- data/lib/rake/ext/time.rb +14 -0
- data/lib/rake/file_creation_task.rb +24 -0
- data/lib/rake/file_list.rb +403 -0
- data/lib/rake/file_task.rb +47 -0
- data/lib/rake/file_utils.rb +112 -0
- data/lib/rake/file_utils_ext.rb +142 -0
- data/lib/rake/gempackagetask.rb +6 -90
- data/lib/rake/invocation_chain.rb +51 -0
- data/lib/rake/invocation_exception_mixin.rb +16 -0
- data/lib/rake/loaders/makefile.rb +13 -15
- data/lib/rake/multi_task.rb +16 -0
- data/lib/rake/name_space.rb +25 -0
- data/lib/rake/packagetask.rb +13 -12
- data/lib/rake/pathmap.rb +1 -0
- data/lib/rake/pseudo_status.rb +24 -0
- data/lib/rake/rake_module.rb +29 -0
- data/lib/rake/rake_test_loader.rb +10 -2
- data/lib/rake/rdoctask.rb +211 -190
- data/lib/rake/ruby182_test_unit_fix.rb +9 -7
- data/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/lib/rake/runtest.rb +4 -6
- data/lib/rake/task.rb +327 -0
- data/lib/rake/task_argument_error.rb +7 -0
- data/lib/rake/task_arguments.rb +74 -0
- data/lib/rake/task_manager.rb +307 -0
- data/lib/rake/tasklib.rb +1 -2
- data/lib/rake/testtask.rb +57 -27
- data/lib/rake/version.rb +10 -0
- data/lib/rake/win32.rb +4 -4
- data/lib/rake.rb +29 -2470
- data/test/contrib/test_sys.rb +8 -31
- data/test/data/access/Rakefile +33 -0
- data/test/data/comments/Rakefile +18 -0
- data/test/data/default/Rakefile +1 -1
- data/test/data/deprecated_import/Rakefile +1 -0
- data/test/data/dryrun/Rakefile +1 -1
- data/test/data/file_creation_task/Rakefile +1 -1
- data/test/data/namespace/Rakefile +9 -0
- data/test/data/rakelib/test1.rb +1 -0
- data/test/data/verbose/Rakefile +34 -0
- data/test/{filecreation.rb → file_creation.rb} +11 -7
- data/test/functional/functional_test.rb +25 -0
- data/test/{session_functional.rb → functional/session_based_tests.rb} +141 -23
- data/test/in_environment.rb +7 -5
- data/test/{test_application.rb → lib/application_test.rb} +331 -143
- data/test/{test_clean.rb → lib/clean_test.rb} +1 -0
- data/test/{test_definitions.rb → lib/definitions_test.rb} +3 -3
- data/test/lib/dsl_test.rb +52 -0
- data/test/{test_earlytime.rb → lib/earlytime_test.rb} +1 -2
- data/test/{test_extension.rb → lib/extension_test.rb} +2 -2
- data/test/{test_file_creation_task.rb → lib/file_creation_task_test.rb} +1 -1
- data/test/{test_file_task.rb → lib/file_task_test.rb} +4 -4
- data/test/{test_filelist.rb → lib/filelist_test.rb} +38 -24
- data/test/{test_fileutils.rb → lib/fileutils_test.rb} +27 -22
- data/test/{test_multitask.rb → lib/multitask_test.rb} +14 -6
- data/test/lib/package_task_test.rb +82 -0
- data/test/{test_pathmap.rb → lib/pathmap_test.rb} +3 -2
- data/test/{test_rake.rb → lib/rake_test.rb} +1 -1
- data/test/{test_rdoc_task.rb → lib/rdoc_task_test.rb} +19 -23
- data/test/{test_require.rb → lib/require_test.rb} +8 -2
- data/test/{test_rules.rb → lib/rules_test.rb} +2 -3
- data/test/{test_task_arguments.rb → lib/task_arguments_test.rb} +5 -5
- data/test/{test_task_manager.rb → lib/task_manager_test.rb} +15 -5
- data/test/{test_tasks.rb → lib/task_test.rb} +84 -21
- data/test/{test_test_task.rb → lib/test_task_test.rb} +3 -3
- data/test/lib/testtask_test.rb +49 -0
- data/test/{test_top_level_functions.rb → lib/top_level_functions_test.rb} +5 -3
- data/test/{test_win32.rb → lib/win32_test.rb} +19 -0
- data/test/rake_test_setup.rb +5 -9
- data/test/ruby_version_test.rb +3 -0
- data/test/test_helper.rb +19 -0
- metadata +108 -49
- data/test/functional.rb +0 -15
- data/test/test_package_task.rb +0 -118
- /data/test/{test_ftp.rb → lib/ftp_test.rb} +0 -0
- /data/test/{test_invocation_chain.rb → lib/invocation_chain_test.rb} +0 -0
- /data/test/{test_makefile_loader.rb → lib/makefile_loader_test.rb} +0 -0
- /data/test/{test_namespace.rb → lib/namespace_test.rb} +0 -0
- /data/test/{test_pseudo_status.rb → lib/pseudo_status_test.rb} +0 -0
- /data/test/{test_tasklib.rb → lib/tasklib_test.rb} +0 -0
data/lib/rake/tasklib.rb
CHANGED
data/lib/rake/testtask.rb
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
|
|
3
1
|
# Define a task library for running unit tests.
|
|
4
2
|
|
|
5
3
|
require 'rake'
|
|
@@ -10,7 +8,7 @@ module Rake
|
|
|
10
8
|
# Create a task that runs a set of tests.
|
|
11
9
|
#
|
|
12
10
|
# Example:
|
|
13
|
-
#
|
|
11
|
+
#
|
|
14
12
|
# Rake::TestTask.new do |t|
|
|
15
13
|
# t.libs << "test"
|
|
16
14
|
# t.test_files = FileList['test/test*.rb']
|
|
@@ -63,7 +61,7 @@ module Rake
|
|
|
63
61
|
# * :rake -- Rake provided test loading script (default).
|
|
64
62
|
# * :testrb -- Ruby provided test loading script.
|
|
65
63
|
# * :direct -- Load tests using command line loader.
|
|
66
|
-
#
|
|
64
|
+
#
|
|
67
65
|
attr_accessor :loader
|
|
68
66
|
|
|
69
67
|
# Array of commandline options to pass to ruby when running test loader.
|
|
@@ -95,33 +93,37 @@ module Rake
|
|
|
95
93
|
|
|
96
94
|
# Create the tasks defined by this task lib.
|
|
97
95
|
def define
|
|
98
|
-
lib_path = @libs.join(File::PATH_SEPARATOR)
|
|
99
96
|
desc "Run tests" + (@name==:test ? "" : " for #{@name}")
|
|
100
97
|
task @name do
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
run_code =
|
|
104
|
-
case @loader
|
|
105
|
-
when :direct
|
|
106
|
-
"-e 'ARGV.each{|f| load f}'"
|
|
107
|
-
when :testrb
|
|
108
|
-
"-S testrb #{fix}"
|
|
109
|
-
when :rake
|
|
110
|
-
rake_loader
|
|
111
|
-
end
|
|
112
|
-
@ruby_opts.unshift( "-I\"#{lib_path}\"" )
|
|
113
|
-
@ruby_opts.unshift( "-w" ) if @warning
|
|
114
|
-
ruby @ruby_opts.join(" ") +
|
|
115
|
-
" \"#{run_code}\" " +
|
|
116
|
-
file_list.collect { |fn| "\"#{fn}\"" }.join(' ') +
|
|
117
|
-
" #{option_list}"
|
|
98
|
+
FileUtilsExt.verbose(@verbose) do
|
|
99
|
+
ruby "#{ruby_opts_string} #{run_code} #{file_list_string} #{option_list}"
|
|
118
100
|
end
|
|
119
101
|
end
|
|
120
102
|
self
|
|
121
103
|
end
|
|
122
104
|
|
|
123
105
|
def option_list # :nodoc:
|
|
124
|
-
ENV['TESTOPTS'] ||
|
|
106
|
+
(ENV['TESTOPTS'] ||
|
|
107
|
+
ENV['TESTOPT'] ||
|
|
108
|
+
ENV['TEST_OPTS'] ||
|
|
109
|
+
ENV['TEST_OPT'] ||
|
|
110
|
+
@options ||
|
|
111
|
+
"")
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
def ruby_opts_string
|
|
115
|
+
opts = @ruby_opts.dup
|
|
116
|
+
opts.unshift( "-I\"#{lib_path}\"" ) unless @libs.empty?
|
|
117
|
+
opts.unshift( "-w" ) if @warning
|
|
118
|
+
opts.join(" ")
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
def lib_path
|
|
122
|
+
@libs.join(File::PATH_SEPARATOR)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def file_list_string
|
|
126
|
+
file_list.collect { |fn| "\"#{fn}\"" }.join(' ')
|
|
125
127
|
end
|
|
126
128
|
|
|
127
129
|
def file_list # :nodoc:
|
|
@@ -130,20 +132,35 @@ module Rake
|
|
|
130
132
|
else
|
|
131
133
|
result = []
|
|
132
134
|
result += @test_files.to_a if @test_files
|
|
133
|
-
result
|
|
134
|
-
|
|
135
|
+
result << @pattern if @pattern
|
|
136
|
+
result
|
|
135
137
|
end
|
|
136
138
|
end
|
|
137
139
|
|
|
138
140
|
def fix # :nodoc:
|
|
139
|
-
case
|
|
141
|
+
case ruby_version
|
|
140
142
|
when '1.8.2'
|
|
141
|
-
find_file 'rake/ruby182_test_unit_fix'
|
|
143
|
+
"\"#{find_file 'rake/ruby182_test_unit_fix'}\""
|
|
142
144
|
else
|
|
143
145
|
nil
|
|
144
146
|
end || ''
|
|
145
147
|
end
|
|
146
148
|
|
|
149
|
+
def ruby_version
|
|
150
|
+
RUBY_VERSION
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
def run_code
|
|
154
|
+
case @loader
|
|
155
|
+
when :direct
|
|
156
|
+
"-e \"ARGV.each{|f| require f}\""
|
|
157
|
+
when :testrb
|
|
158
|
+
"-S testrb #{fix}"
|
|
159
|
+
when :rake
|
|
160
|
+
"-I\"#{rake_lib_dir}\" \"#{rake_loader}\""
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
|
|
147
164
|
def rake_loader # :nodoc:
|
|
148
165
|
find_file('rake/rake_test_loader') or
|
|
149
166
|
fail "unable to find rake test loader"
|
|
@@ -157,5 +174,18 @@ module Rake
|
|
|
157
174
|
nil
|
|
158
175
|
end
|
|
159
176
|
|
|
177
|
+
def rake_lib_dir # :nodoc:
|
|
178
|
+
find_dir('rake') or
|
|
179
|
+
fail "unable to find rake lib"
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
def find_dir(fn) # :nodoc:
|
|
183
|
+
$LOAD_PATH.each do |path|
|
|
184
|
+
file_path = File.join(path, "#{fn}.rb")
|
|
185
|
+
return path if File.exist? file_path
|
|
186
|
+
end
|
|
187
|
+
nil
|
|
188
|
+
end
|
|
189
|
+
|
|
160
190
|
end
|
|
161
191
|
end
|
data/lib/rake/version.rb
ADDED
data/lib/rake/win32.rb
CHANGED
|
@@ -5,12 +5,12 @@ module Rake
|
|
|
5
5
|
# Win 32 interface methods for Rake. Windows specific functionality
|
|
6
6
|
# will be placed here to collect that knowledge in one spot.
|
|
7
7
|
module Win32
|
|
8
|
-
|
|
8
|
+
|
|
9
9
|
# Error indicating a problem in locating the home directory on a
|
|
10
10
|
# Win32 system.
|
|
11
11
|
class Win32HomeError < RuntimeError
|
|
12
12
|
end
|
|
13
|
-
|
|
13
|
+
|
|
14
14
|
class << self
|
|
15
15
|
# True if running on a windows system.
|
|
16
16
|
def windows?
|
|
@@ -21,7 +21,7 @@ module Rake
|
|
|
21
21
|
def rake_system(*cmd)
|
|
22
22
|
AltSystem.system(*cmd)
|
|
23
23
|
end
|
|
24
|
-
|
|
24
|
+
|
|
25
25
|
# The standard directory containing system wide rake files on
|
|
26
26
|
# Win 32 systems. Try the following environment variables (in
|
|
27
27
|
# order):
|
|
@@ -49,7 +49,7 @@ module Rake
|
|
|
49
49
|
def normalize(path)
|
|
50
50
|
path.gsub(/\\/, '/')
|
|
51
51
|
end
|
|
52
|
-
|
|
52
|
+
|
|
53
53
|
end
|
|
54
54
|
end
|
|
55
55
|
end
|