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/gempackagetask.rb
CHANGED
|
@@ -1,97 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
# rake/gempackagetask is deprecated in favor of rubygems/package_task
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
# packages.
|
|
3
|
+
warn 'rake/gempackagetask is deprecated. Use rubygems/package_task instead'
|
|
5
4
|
|
|
6
5
|
require 'rubygems'
|
|
6
|
+
require 'rubygems/package_task'
|
|
7
|
+
|
|
7
8
|
require 'rake'
|
|
8
|
-
require 'rake/packagetask'
|
|
9
|
-
require 'rubygems/user_interaction'
|
|
10
|
-
require 'rubygems/builder'
|
|
11
9
|
|
|
12
10
|
module Rake
|
|
13
|
-
|
|
14
|
-
# Create a package based upon a Gem spec. Gem packages, as well as
|
|
15
|
-
# zip files and tar/gzipped packages can be produced by this task.
|
|
16
|
-
#
|
|
17
|
-
# In addition to the Rake targets generated by PackageTask, a
|
|
18
|
-
# GemPackageTask will also generate the following tasks:
|
|
19
|
-
#
|
|
20
|
-
# [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.gem"</b>]
|
|
21
|
-
# Create a Ruby GEM package with the given name and version.
|
|
22
|
-
#
|
|
23
|
-
# Example using a Ruby GEM spec:
|
|
24
|
-
#
|
|
25
|
-
# require 'rubygems'
|
|
26
|
-
#
|
|
27
|
-
# spec = Gem::Specification.new do |s|
|
|
28
|
-
# s.platform = Gem::Platform::RUBY
|
|
29
|
-
# s.summary = "Ruby based make-like utility."
|
|
30
|
-
# s.name = 'rake'
|
|
31
|
-
# s.version = PKG_VERSION
|
|
32
|
-
# s.requirements << 'none'
|
|
33
|
-
# s.require_path = 'lib'
|
|
34
|
-
# s.autorequire = 'rake'
|
|
35
|
-
# s.files = PKG_FILES
|
|
36
|
-
# s.description = <<EOF
|
|
37
|
-
# Rake is a Make-like program implemented in Ruby. Tasks
|
|
38
|
-
# and dependencies are specified in standard Ruby syntax.
|
|
39
|
-
# EOF
|
|
40
|
-
# end
|
|
41
|
-
#
|
|
42
|
-
# Rake::GemPackageTask.new(spec) do |pkg|
|
|
43
|
-
# pkg.need_zip = true
|
|
44
|
-
# pkg.need_tar = true
|
|
45
|
-
# end
|
|
46
|
-
#
|
|
47
|
-
class GemPackageTask < PackageTask
|
|
48
|
-
# Ruby GEM spec containing the metadata for this package. The
|
|
49
|
-
# name, version and package_files are automatically determined
|
|
50
|
-
# from the GEM spec and don't need to be explicitly provided.
|
|
51
|
-
attr_accessor :gem_spec
|
|
52
|
-
|
|
53
|
-
# Create a GEM Package task library. Automatically define the gem
|
|
54
|
-
# if a block is given. If no block is supplied, then +define+
|
|
55
|
-
# needs to be called to define the task.
|
|
56
|
-
def initialize(gem_spec)
|
|
57
|
-
init(gem_spec)
|
|
58
|
-
yield self if block_given?
|
|
59
|
-
define if block_given?
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
# Initialization tasks without the "yield self" or define
|
|
63
|
-
# operations.
|
|
64
|
-
def init(gem)
|
|
65
|
-
super(gem.name, gem.version)
|
|
66
|
-
@gem_spec = gem
|
|
67
|
-
@package_files += gem_spec.files if gem_spec.files
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
# Create the Rake tasks and actions specified by this
|
|
71
|
-
# GemPackageTask. (+define+ is automatically called if a block is
|
|
72
|
-
# given to +new+).
|
|
73
|
-
def define
|
|
74
|
-
super
|
|
75
|
-
task :package => [:gem]
|
|
76
|
-
desc "Build the gem file #{gem_file}"
|
|
77
|
-
task :gem => ["#{package_dir}/#{gem_file}"]
|
|
78
|
-
file "#{package_dir}/#{gem_file}" => [package_dir] + @gem_spec.files do
|
|
79
|
-
when_writing("Creating GEM") {
|
|
80
|
-
Gem::Builder.new(gem_spec).build
|
|
81
|
-
verbose(true) {
|
|
82
|
-
mv gem_file, "#{package_dir}/#{gem_file}"
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
end
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
def gem_file
|
|
89
|
-
if @gem_spec.platform == Gem::Platform::RUBY
|
|
90
|
-
"#{package_name}.gem"
|
|
91
|
-
else
|
|
92
|
-
"#{package_name}-#{@gem_spec.platform}.gem"
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
end
|
|
11
|
+
GemPackageTask = Gem::PackageTask
|
|
97
12
|
end
|
|
13
|
+
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
module Rake
|
|
2
|
+
|
|
3
|
+
####################################################################
|
|
4
|
+
# InvocationChain tracks the chain of task invocations to detect
|
|
5
|
+
# circular dependencies.
|
|
6
|
+
class InvocationChain
|
|
7
|
+
def initialize(value, tail)
|
|
8
|
+
@value = value
|
|
9
|
+
@tail = tail
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def member?(obj)
|
|
13
|
+
@value == obj || @tail.member?(obj)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def append(value)
|
|
17
|
+
if member?(value)
|
|
18
|
+
fail RuntimeError, "Circular dependency detected: #{to_s} => #{value}"
|
|
19
|
+
end
|
|
20
|
+
self.class.new(value, self)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def to_s
|
|
24
|
+
"#{prefix}#{@value}"
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def self.append(value, chain)
|
|
28
|
+
chain.append(value)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
private
|
|
32
|
+
|
|
33
|
+
def prefix
|
|
34
|
+
"#{@tail.to_s} => "
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
class EmptyInvocationChain
|
|
38
|
+
def member?(obj)
|
|
39
|
+
false
|
|
40
|
+
end
|
|
41
|
+
def append(value)
|
|
42
|
+
InvocationChain.new(value, self)
|
|
43
|
+
end
|
|
44
|
+
def to_s
|
|
45
|
+
"TOP"
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
EMPTY = EmptyInvocationChain.new
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module Rake
|
|
2
|
+
module InvocationExceptionMixin
|
|
3
|
+
# Return the invocation chain (list of Rake tasks) that were in
|
|
4
|
+
# effect when this exception was detected by rake. May be null if
|
|
5
|
+
# no tasks were active.
|
|
6
|
+
def chain
|
|
7
|
+
@rake_invocation_chain ||= nil
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# Set the invocation chain in effect when this exception was
|
|
11
|
+
# detected.
|
|
12
|
+
def chain=(value)
|
|
13
|
+
@rake_invocation_chain = value
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -1,21 +1,19 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
2
|
-
|
|
3
1
|
module Rake
|
|
4
2
|
|
|
5
3
|
# Makefile loader to be used with the import file loader.
|
|
6
4
|
class MakefileLoader
|
|
7
|
-
|
|
5
|
+
include Rake::DSL
|
|
6
|
+
|
|
7
|
+
SPACE_MARK = "\0"
|
|
8
8
|
|
|
9
9
|
# Load the makefile dependencies in +fn+.
|
|
10
10
|
def load(fn)
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
process_line(line)
|
|
18
|
-
end
|
|
11
|
+
lines = File.read fn
|
|
12
|
+
lines.gsub!(/\\ /, SPACE_MARK)
|
|
13
|
+
lines.gsub!(/#[^\n]*\n/m, "")
|
|
14
|
+
lines.gsub!(/\\\n/, ' ')
|
|
15
|
+
lines.each_line do |line|
|
|
16
|
+
process_line(line)
|
|
19
17
|
end
|
|
20
18
|
end
|
|
21
19
|
|
|
@@ -23,17 +21,17 @@ module Rake
|
|
|
23
21
|
|
|
24
22
|
# Process one logical line of makefile data.
|
|
25
23
|
def process_line(line)
|
|
26
|
-
file_tasks, args = line.split(':')
|
|
24
|
+
file_tasks, args = line.split(':', 2)
|
|
27
25
|
return if args.nil?
|
|
28
26
|
dependents = args.split.map { |d| respace(d) }
|
|
29
|
-
file_tasks.
|
|
27
|
+
file_tasks.scan(/\S+/) do |file_task|
|
|
30
28
|
file_task = respace(file_task)
|
|
31
29
|
file file_task => dependents
|
|
32
30
|
end
|
|
33
31
|
end
|
|
34
|
-
|
|
32
|
+
|
|
35
33
|
def respace(str)
|
|
36
|
-
str.
|
|
34
|
+
str.tr SPACE_MARK, ' '
|
|
37
35
|
end
|
|
38
36
|
end
|
|
39
37
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module Rake
|
|
2
|
+
|
|
3
|
+
# Same as a regular task, but the immediate prerequisites are done in
|
|
4
|
+
# parallel using Ruby threads.
|
|
5
|
+
#
|
|
6
|
+
class MultiTask < Task
|
|
7
|
+
private
|
|
8
|
+
def invoke_prerequisites(args, invocation_chain)
|
|
9
|
+
threads = @prerequisites.collect { |p|
|
|
10
|
+
Thread.new(p) { |r| application[r, @scope].invoke_with_call_chain(args, invocation_chain) }
|
|
11
|
+
}
|
|
12
|
+
threads.each { |t| t.join }
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module Rake
|
|
2
|
+
|
|
3
|
+
# The NameSpace class will lookup task names in the the scope
|
|
4
|
+
# defined by a +namespace+ command.
|
|
5
|
+
#
|
|
6
|
+
class NameSpace
|
|
7
|
+
|
|
8
|
+
# Create a namespace lookup object using the given task manager
|
|
9
|
+
# and the list of scopes.
|
|
10
|
+
def initialize(task_manager, scope_list)
|
|
11
|
+
@task_manager = task_manager
|
|
12
|
+
@scope = scope_list.dup
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Lookup a task named +name+ in the namespace.
|
|
16
|
+
def [](name)
|
|
17
|
+
@task_manager.lookup(name, @scope)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Return the list of tasks defined in this and nested namespaces.
|
|
21
|
+
def tasks
|
|
22
|
+
@task_manager.tasks_in_scope(@scope)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
data/lib/rake/packagetask.rb
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
# Define a package task libarary to aid in the definition of
|
|
1
|
+
# Define a package task library to aid in the definition of
|
|
4
2
|
# redistributable package files.
|
|
5
3
|
|
|
6
4
|
require 'rake'
|
|
@@ -25,13 +23,13 @@ module Rake
|
|
|
25
23
|
# of date.
|
|
26
24
|
#
|
|
27
25
|
# [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.tgz"</b>]
|
|
28
|
-
# Create a gzipped tar package (if <em>need_tar</em> is true).
|
|
26
|
+
# Create a gzipped tar package (if <em>need_tar</em> is true).
|
|
29
27
|
#
|
|
30
28
|
# [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.tar.gz"</b>]
|
|
31
|
-
# Create a gzipped tar package (if <em>need_tar_gz</em> is true).
|
|
29
|
+
# Create a gzipped tar package (if <em>need_tar_gz</em> is true).
|
|
32
30
|
#
|
|
33
31
|
# [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.tar.bz2"</b>]
|
|
34
|
-
# Create a bzip2'd tar package (if <em>need_tar_bz2</em> is true).
|
|
32
|
+
# Create a bzip2'd tar package (if <em>need_tar_bz2</em> is true).
|
|
35
33
|
#
|
|
36
34
|
# [<b>"<em>package_dir</em>/<em>name</em>-<em>version</em>.zip"</b>]
|
|
37
35
|
# Create a zip package archive (if <em>need_zip</em> is true).
|
|
@@ -74,7 +72,10 @@ module Rake
|
|
|
74
72
|
# Zip command for zipped archives. The default is 'zip'.
|
|
75
73
|
attr_accessor :zip_command
|
|
76
74
|
|
|
77
|
-
# Create a Package Task with the given name and version.
|
|
75
|
+
# Create a Package Task with the given name and version. Use +:noversion+
|
|
76
|
+
# as the version to build a package without a version or to provide a
|
|
77
|
+
# fully-versioned package name.
|
|
78
|
+
|
|
78
79
|
def initialize(name=nil, version=nil)
|
|
79
80
|
init(name, version)
|
|
80
81
|
yield self if block_given?
|
|
@@ -102,11 +103,11 @@ module Rake
|
|
|
102
103
|
|
|
103
104
|
desc "Build all the packages"
|
|
104
105
|
task :package
|
|
105
|
-
|
|
106
|
+
|
|
106
107
|
desc "Force a rebuild of the package files"
|
|
107
108
|
task :repackage => [:clobber_package, :package]
|
|
108
|
-
|
|
109
|
-
desc "Remove package products"
|
|
109
|
+
|
|
110
|
+
desc "Remove package products"
|
|
110
111
|
task :clobber_package do
|
|
111
112
|
rm_r package_dir rescue nil
|
|
112
113
|
end
|
|
@@ -127,7 +128,7 @@ module Rake
|
|
|
127
128
|
end
|
|
128
129
|
end
|
|
129
130
|
end
|
|
130
|
-
|
|
131
|
+
|
|
131
132
|
if need_zip
|
|
132
133
|
task :package => ["#{package_dir}/#{zip_file}"]
|
|
133
134
|
file "#{package_dir}/#{zip_file}" => [package_dir_path] + package_files do
|
|
@@ -159,7 +160,7 @@ module Rake
|
|
|
159
160
|
def package_name
|
|
160
161
|
@version ? "#{@name}-#{@version}" : @name
|
|
161
162
|
end
|
|
162
|
-
|
|
163
|
+
|
|
163
164
|
def package_dir_path
|
|
164
165
|
"#{package_dir}/#{package_name}"
|
|
165
166
|
end
|
data/lib/rake/pathmap.rb
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require 'rake/ext/string'
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
module Rake
|
|
2
|
+
|
|
3
|
+
####################################################################
|
|
4
|
+
# Exit status class for times the system just gives us a nil.
|
|
5
|
+
class PseudoStatus
|
|
6
|
+
attr_reader :exitstatus
|
|
7
|
+
def initialize(code=0)
|
|
8
|
+
@exitstatus = code
|
|
9
|
+
end
|
|
10
|
+
def to_i
|
|
11
|
+
@exitstatus << 8
|
|
12
|
+
end
|
|
13
|
+
def >>(n)
|
|
14
|
+
to_i >> n
|
|
15
|
+
end
|
|
16
|
+
def stopped?
|
|
17
|
+
false
|
|
18
|
+
end
|
|
19
|
+
def exited?
|
|
20
|
+
true
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require 'rake/application'
|
|
2
|
+
|
|
3
|
+
module Rake
|
|
4
|
+
|
|
5
|
+
# Rake module singleton methods.
|
|
6
|
+
#
|
|
7
|
+
class << self
|
|
8
|
+
# Current Rake Application
|
|
9
|
+
def application
|
|
10
|
+
@application ||= Rake::Application.new
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Set the current Rake application object.
|
|
14
|
+
def application=(app)
|
|
15
|
+
@application = app
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Return the original directory where the Rake application was started.
|
|
19
|
+
def original_dir
|
|
20
|
+
application.original_dir
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# Load a rakefile.
|
|
24
|
+
def load_rakefile(path)
|
|
25
|
+
load(path)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
require 'rake'
|
|
2
2
|
|
|
3
3
|
# Load the test files from the command line.
|
|
4
4
|
|
|
5
|
-
ARGV.each
|
|
5
|
+
ARGV.each do |f|
|
|
6
|
+
next if f =~ /^-/
|
|
7
|
+
|
|
8
|
+
if f =~ /\*/
|
|
9
|
+
FileList[f].to_a.each { |fn| require File.expand_path(fn) }
|
|
10
|
+
else
|
|
11
|
+
require File.expand_path(f)
|
|
12
|
+
end
|
|
13
|
+
end
|