spline 0.0.5 → 0.0.6
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 +4 -4
- data/bin/spline +11 -9
- data/lib/spline/version.rb +1 -1
- data/lib/spline.rb +1 -8
- data/vendor/bundle/ruby/2.1.0/bin/rake +23 -0
- data/vendor/bundle/ruby/2.1.0/bin/spline +23 -0
- data/vendor/bundle/ruby/2.1.0/build_info/rake-10.3.2.info +1 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.autotest +7 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.gemtest +0 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.rubocop.yml +27 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.togglerc +7 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/CONTRIBUTING.rdoc +34 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/History.rdoc +609 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/Manifest.txt +162 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/README.rdoc +137 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/Rakefile +81 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/bin/rake +33 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/alt_system.rb +110 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb +783 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/backtrace.rb +23 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/clean.rb +76 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/cloneable.rb +16 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/.document +0 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/compositepublisher.rb +21 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/ftptools.rb +137 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/publisher.rb +81 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/rubyforgepublisher.rb +18 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/sshpublisher.rb +61 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/sys.rb +4 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/cpu_counter.rb +109 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/default_loader.rb +14 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/dsl_definition.rb +198 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/early_time.rb +21 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/core.rb +25 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/module.rb +1 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/string.rb +173 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/time.rb +15 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_creation_task.rb +24 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_list.rb +414 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_task.rb +46 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_utils.rb +116 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_utils_ext.rb +144 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/gempackagetask.rb +4 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/invocation_chain.rb +56 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/invocation_exception_mixin.rb +16 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/linked_list.rb +103 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/loaders/makefile.rb +40 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/multi_task.rb +13 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/name_space.rb +38 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/packagetask.rb +202 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/pathmap.rb +3 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/phony.rb +15 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/private_reader.rb +20 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/promise.rb +99 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/pseudo_status.rb +29 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rake_module.rb +38 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rake_test_loader.rb +22 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rdoctask.rb +4 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ruby182_test_unit_fix.rb +29 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/runtest.rb +27 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/scope.rb +42 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb +383 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_argument_error.rb +7 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_arguments.rb +98 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_manager.rb +310 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/tasklib.rb +24 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/testtask.rb +212 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/thread_history_display.rb +48 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/thread_pool.rb +164 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/trace_output.rb +22 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/version.rb +7 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/win32.rb +56 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake.rb +78 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/rakelib/publish.rake +20 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/rakelib/test_times.rake +25 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/file_creation.rb +34 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/helper.rb +127 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/support/rakefile_definitions.rb +478 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/support/ruby_runner.rb +33 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_private_reader.rb +42 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake.rb +40 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_application.rb +641 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_application_options.rb +466 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_backtrace.rb +119 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_clean.rb +55 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_cpu_counter.rb +50 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_definitions.rb +79 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_directory_task.rb +63 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_dsl.rb +40 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_early_time.rb +31 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_extension.rb +59 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_creation_task.rb +56 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_list.rb +627 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_list_path_map.rb +8 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_task.rb +186 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_utils.rb +309 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_ftp_file.rb +74 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_functional.rb +482 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_invocation_chain.rb +64 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_linked_list.rb +84 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_makefile_loader.rb +46 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_multi_task.rb +58 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_name_space.rb +57 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_package_task.rb +79 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map.rb +168 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map_explode.rb +34 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map_partial.rb +18 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_pseudo_status.rb +21 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_rake_test_loader.rb +20 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_reduce_compat.rb +26 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_require.rb +40 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_rules.rb +388 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_scope.rb +44 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task.rb +392 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_argument_parsing.rb +109 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_arguments.rb +127 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_lib.rb +9 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_manager.rb +178 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_manager_argument_resolution.rb +19 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_with_arguments.rb +171 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_test_task.rb +141 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_thread_pool.rb +142 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_top_level_functions.rb +71 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_win32.rb +72 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_thread_history_display.rb +101 -0
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_trace_output.rb +52 -0
- data/vendor/bundle/ruby/2.1.0/specifications/rake-10.3.2.gemspec +45 -0
- metadata +127 -2
@@ -0,0 +1,478 @@
|
|
1
|
+
module RakefileDefinitions
|
2
|
+
include FileUtils
|
3
|
+
|
4
|
+
def rakefile_access
|
5
|
+
rakefile <<-ACCESS
|
6
|
+
TOP_LEVEL_CONSTANT = 0
|
7
|
+
|
8
|
+
def a_top_level_function
|
9
|
+
end
|
10
|
+
|
11
|
+
task :default => [:work, :obj, :const]
|
12
|
+
|
13
|
+
task :work do
|
14
|
+
begin
|
15
|
+
a_top_level_function
|
16
|
+
puts "GOOD:M Top level methods can be called in tasks"
|
17
|
+
rescue NameError => ex
|
18
|
+
puts "BAD:M Top level methods can not be called in tasks"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
# TODO: remove `disabled_' when DeprecatedObjectDSL removed
|
23
|
+
task :obj
|
24
|
+
task :disabled_obj do
|
25
|
+
begin
|
26
|
+
Object.new.instance_eval { task :xyzzy }
|
27
|
+
puts "BAD:D Rake DSL are polluting objects"
|
28
|
+
rescue StandardError => ex
|
29
|
+
puts "GOOD:D Rake DSL are not polluting objects"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
task :const do
|
34
|
+
begin
|
35
|
+
TOP_LEVEL_CONSTANT
|
36
|
+
puts "GOOD:C Top level constants are available in tasks"
|
37
|
+
rescue StandardError => ex
|
38
|
+
puts "BAD:C Top level constants are NOT available in tasks"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
ACCESS
|
42
|
+
end
|
43
|
+
|
44
|
+
def rakefile_test_task
|
45
|
+
rakefile <<-RAKEFILE
|
46
|
+
require "rake/testtask"
|
47
|
+
|
48
|
+
Rake::TestTask.new(:unit) do |t|
|
49
|
+
t.description = "custom test task description"
|
50
|
+
end
|
51
|
+
RAKEFILE
|
52
|
+
end
|
53
|
+
|
54
|
+
def rakefile_chains
|
55
|
+
rakefile <<-DEFAULT
|
56
|
+
task :default => "play.app"
|
57
|
+
|
58
|
+
file "play.scpt" => "base" do |t|
|
59
|
+
cp t.prerequisites.first, t.name
|
60
|
+
end
|
61
|
+
|
62
|
+
rule ".app" => ".scpt" do |t|
|
63
|
+
cp t.source, t.name
|
64
|
+
end
|
65
|
+
|
66
|
+
file 'base' do
|
67
|
+
touch 'base'
|
68
|
+
end
|
69
|
+
DEFAULT
|
70
|
+
end
|
71
|
+
|
72
|
+
def rakefile_comments
|
73
|
+
rakefile <<-COMMENTS
|
74
|
+
# comment for t1
|
75
|
+
task :t1 do
|
76
|
+
end
|
77
|
+
|
78
|
+
# no comment or task because there's a blank line
|
79
|
+
|
80
|
+
task :t2 do
|
81
|
+
end
|
82
|
+
|
83
|
+
desc "override comment for t3"
|
84
|
+
# this is not the description
|
85
|
+
multitask :t3 do
|
86
|
+
end
|
87
|
+
|
88
|
+
# this is not the description
|
89
|
+
desc "override comment for t4"
|
90
|
+
file :t4 do
|
91
|
+
end
|
92
|
+
COMMENTS
|
93
|
+
end
|
94
|
+
|
95
|
+
def rakefile_default
|
96
|
+
rakefile <<-DEFAULT
|
97
|
+
if ENV['TESTTOPSCOPE']
|
98
|
+
puts "TOPSCOPE"
|
99
|
+
end
|
100
|
+
|
101
|
+
task :default do
|
102
|
+
puts "DEFAULT"
|
103
|
+
end
|
104
|
+
|
105
|
+
task :other => [:default] do
|
106
|
+
puts "OTHER"
|
107
|
+
end
|
108
|
+
|
109
|
+
task :task_scope do
|
110
|
+
if ENV['TESTTASKSCOPE']
|
111
|
+
puts "TASKSCOPE"
|
112
|
+
end
|
113
|
+
end
|
114
|
+
DEFAULT
|
115
|
+
end
|
116
|
+
|
117
|
+
def rakefile_dryrun
|
118
|
+
rakefile <<-DRYRUN
|
119
|
+
task :default => ["temp_main"]
|
120
|
+
|
121
|
+
file "temp_main" => [:all_apps] do touch "temp_main" end
|
122
|
+
|
123
|
+
task :all_apps => [:one, :two]
|
124
|
+
task :one => ["temp_one"]
|
125
|
+
task :two => ["temp_two"]
|
126
|
+
|
127
|
+
file "temp_one" do |t|
|
128
|
+
touch "temp_one"
|
129
|
+
end
|
130
|
+
file "temp_two" do |t|
|
131
|
+
touch "temp_two"
|
132
|
+
end
|
133
|
+
|
134
|
+
task :clean do
|
135
|
+
["temp_one", "temp_two", "temp_main"].each do |file|
|
136
|
+
rm_f file
|
137
|
+
end
|
138
|
+
end
|
139
|
+
DRYRUN
|
140
|
+
|
141
|
+
FileUtils.touch 'temp_main'
|
142
|
+
FileUtils.touch 'temp_two'
|
143
|
+
end
|
144
|
+
|
145
|
+
def rakefile_extra
|
146
|
+
rakefile 'task :default'
|
147
|
+
|
148
|
+
FileUtils.mkdir_p 'rakelib'
|
149
|
+
|
150
|
+
open File.join('rakelib', 'extra.rake'), 'w' do |io|
|
151
|
+
io << <<-EXTRA_RAKE
|
152
|
+
# Added for testing
|
153
|
+
|
154
|
+
namespace :extra do
|
155
|
+
desc "An Extra Task"
|
156
|
+
task :extra do
|
157
|
+
puts "Read all about it"
|
158
|
+
end
|
159
|
+
end
|
160
|
+
EXTRA_RAKE
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
def rakefile_file_creation
|
165
|
+
rakefile <<-'FILE_CREATION'
|
166
|
+
N = 2
|
167
|
+
|
168
|
+
task :default => :run
|
169
|
+
|
170
|
+
BUILD_DIR = 'build'
|
171
|
+
task :clean do
|
172
|
+
rm_rf 'build'
|
173
|
+
rm_rf 'src'
|
174
|
+
end
|
175
|
+
|
176
|
+
task :run
|
177
|
+
|
178
|
+
TARGET_DIR = 'build/copies'
|
179
|
+
|
180
|
+
FileList['src/*'].each do |src|
|
181
|
+
directory TARGET_DIR
|
182
|
+
target = File.join TARGET_DIR, File.basename(src)
|
183
|
+
file target => [src, TARGET_DIR] do
|
184
|
+
cp src, target
|
185
|
+
end
|
186
|
+
task :run => target
|
187
|
+
end
|
188
|
+
|
189
|
+
task :prep => :clean do
|
190
|
+
mkdir_p 'src'
|
191
|
+
N.times do |n|
|
192
|
+
touch "src/foo#{n}"
|
193
|
+
end
|
194
|
+
end
|
195
|
+
FILE_CREATION
|
196
|
+
end
|
197
|
+
|
198
|
+
def rakefile_imports
|
199
|
+
rakefile <<-IMPORTS
|
200
|
+
require 'rake/loaders/makefile'
|
201
|
+
|
202
|
+
task :default
|
203
|
+
|
204
|
+
task :other do
|
205
|
+
puts "OTHER"
|
206
|
+
end
|
207
|
+
|
208
|
+
file "dynamic_deps" do |t|
|
209
|
+
open(t.name, "w") do |f| f.puts "puts 'DYNAMIC'" end
|
210
|
+
end
|
211
|
+
|
212
|
+
import "dynamic_deps"
|
213
|
+
import "static_deps"
|
214
|
+
import "static_deps"
|
215
|
+
import "deps.mf"
|
216
|
+
puts "FIRST"
|
217
|
+
IMPORTS
|
218
|
+
|
219
|
+
open 'deps.mf', 'w' do |io|
|
220
|
+
io << <<-DEPS
|
221
|
+
default: other
|
222
|
+
DEPS
|
223
|
+
end
|
224
|
+
|
225
|
+
open "static_deps", "w" do |f|
|
226
|
+
f.puts 'puts "STATIC"'
|
227
|
+
end
|
228
|
+
end
|
229
|
+
|
230
|
+
def rakefile_regenerate_imports
|
231
|
+
rakefile <<-REGENERATE_IMPORTS
|
232
|
+
task :default
|
233
|
+
|
234
|
+
task :regenerate do
|
235
|
+
open("deps", "w") do |f|
|
236
|
+
f << <<-CONTENT
|
237
|
+
file "deps" => :regenerate
|
238
|
+
puts "REGENERATED"
|
239
|
+
CONTENT
|
240
|
+
end
|
241
|
+
end
|
242
|
+
|
243
|
+
import "deps"
|
244
|
+
REGENERATE_IMPORTS
|
245
|
+
|
246
|
+
open "deps", "w" do |f|
|
247
|
+
f << <<-CONTENT
|
248
|
+
file "deps" => :regenerate
|
249
|
+
puts "INITIAL"
|
250
|
+
CONTENT
|
251
|
+
end
|
252
|
+
end
|
253
|
+
|
254
|
+
def rakefile_multidesc
|
255
|
+
rakefile <<-MULTIDESC
|
256
|
+
task :b
|
257
|
+
|
258
|
+
desc "A"
|
259
|
+
task :a
|
260
|
+
|
261
|
+
desc "B"
|
262
|
+
task :b
|
263
|
+
|
264
|
+
desc "A2"
|
265
|
+
task :a
|
266
|
+
|
267
|
+
task :c
|
268
|
+
|
269
|
+
desc "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
270
|
+
task :d
|
271
|
+
MULTIDESC
|
272
|
+
end
|
273
|
+
|
274
|
+
def rakefile_namespace
|
275
|
+
rakefile <<-NAMESPACE
|
276
|
+
desc "copy"
|
277
|
+
task :copy do
|
278
|
+
puts "COPY"
|
279
|
+
end
|
280
|
+
|
281
|
+
namespace "nest" do
|
282
|
+
desc "nest copy"
|
283
|
+
task :copy do
|
284
|
+
puts "NEST COPY"
|
285
|
+
end
|
286
|
+
task :xx => :copy
|
287
|
+
end
|
288
|
+
|
289
|
+
anon_ns = namespace do
|
290
|
+
desc "anonymous copy task"
|
291
|
+
task :copy do
|
292
|
+
puts "ANON COPY"
|
293
|
+
end
|
294
|
+
end
|
295
|
+
|
296
|
+
desc "Top level task to run the anonymous version of copy"
|
297
|
+
task :anon => anon_ns[:copy]
|
298
|
+
|
299
|
+
namespace "very" do
|
300
|
+
namespace "nested" do
|
301
|
+
task "run" => "rake:copy"
|
302
|
+
end
|
303
|
+
end
|
304
|
+
|
305
|
+
namespace "a" do
|
306
|
+
desc "Run task in the 'a' namespace"
|
307
|
+
task "run" do
|
308
|
+
puts "IN A"
|
309
|
+
end
|
310
|
+
end
|
311
|
+
|
312
|
+
namespace "b" do
|
313
|
+
desc "Run task in the 'b' namespace"
|
314
|
+
task "run" => "a:run" do
|
315
|
+
puts "IN B"
|
316
|
+
end
|
317
|
+
end
|
318
|
+
|
319
|
+
namespace "file1" do
|
320
|
+
file "xyz.rb" do
|
321
|
+
puts "XYZ1"
|
322
|
+
end
|
323
|
+
end
|
324
|
+
|
325
|
+
namespace "file2" do
|
326
|
+
file "xyz.rb" do
|
327
|
+
puts "XYZ2"
|
328
|
+
end
|
329
|
+
end
|
330
|
+
|
331
|
+
namespace "scopedep" do
|
332
|
+
task :prepare do
|
333
|
+
touch "scopedep.rb"
|
334
|
+
puts "PREPARE"
|
335
|
+
end
|
336
|
+
file "scopedep.rb" => [:prepare] do
|
337
|
+
puts "SCOPEDEP"
|
338
|
+
end
|
339
|
+
end
|
340
|
+
NAMESPACE
|
341
|
+
end
|
342
|
+
|
343
|
+
def rakefile_nosearch
|
344
|
+
FileUtils.touch 'dummy'
|
345
|
+
end
|
346
|
+
|
347
|
+
def rakefile_rakelib
|
348
|
+
FileUtils.mkdir_p 'rakelib'
|
349
|
+
|
350
|
+
Dir.chdir 'rakelib' do
|
351
|
+
open 'test1.rb', 'w' do |io|
|
352
|
+
io << <<-TEST1
|
353
|
+
task :default do
|
354
|
+
puts "TEST1"
|
355
|
+
end
|
356
|
+
TEST1
|
357
|
+
end
|
358
|
+
|
359
|
+
open 'test2.rake', 'w' do |io|
|
360
|
+
io << <<-TEST1
|
361
|
+
task :default do
|
362
|
+
puts "TEST2"
|
363
|
+
end
|
364
|
+
TEST1
|
365
|
+
end
|
366
|
+
end
|
367
|
+
end
|
368
|
+
|
369
|
+
def rakefile_rbext
|
370
|
+
open 'rakefile.rb', 'w' do |io|
|
371
|
+
io << 'task :default do puts "OK" end'
|
372
|
+
end
|
373
|
+
end
|
374
|
+
|
375
|
+
def rakefile_unittest
|
376
|
+
rakefile '# Empty Rakefile for Unit Test'
|
377
|
+
|
378
|
+
readme = File.join 'subdir', 'README'
|
379
|
+
FileUtils.mkdir_p File.dirname readme
|
380
|
+
|
381
|
+
FileUtils.touch readme
|
382
|
+
end
|
383
|
+
|
384
|
+
def rakefile_verbose
|
385
|
+
rakefile <<-VERBOSE
|
386
|
+
task :standalone_verbose_true do
|
387
|
+
verbose true
|
388
|
+
sh "#{RUBY} -e '0'"
|
389
|
+
end
|
390
|
+
|
391
|
+
task :standalone_verbose_false do
|
392
|
+
verbose false
|
393
|
+
sh "#{RUBY} -e '0'"
|
394
|
+
end
|
395
|
+
|
396
|
+
task :inline_verbose_default do
|
397
|
+
sh "#{RUBY} -e '0'"
|
398
|
+
end
|
399
|
+
|
400
|
+
task :inline_verbose_false do
|
401
|
+
sh "#{RUBY} -e '0'", :verbose => false
|
402
|
+
end
|
403
|
+
|
404
|
+
task :inline_verbose_true do
|
405
|
+
sh "#{RUBY} -e '0'", :verbose => true
|
406
|
+
end
|
407
|
+
|
408
|
+
task :block_verbose_true do
|
409
|
+
verbose(true) do
|
410
|
+
sh "#{RUBY} -e '0'"
|
411
|
+
end
|
412
|
+
end
|
413
|
+
|
414
|
+
task :block_verbose_false do
|
415
|
+
verbose(false) do
|
416
|
+
sh "#{RUBY} -e '0'"
|
417
|
+
end
|
418
|
+
end
|
419
|
+
VERBOSE
|
420
|
+
end
|
421
|
+
|
422
|
+
def rakefile_test_signal
|
423
|
+
rakefile <<-TEST_SIGNAL
|
424
|
+
require 'rake/testtask'
|
425
|
+
|
426
|
+
Rake::TestTask.new(:a) do |t|
|
427
|
+
t.test_files = ['a_test.rb']
|
428
|
+
end
|
429
|
+
|
430
|
+
Rake::TestTask.new(:b) do |t|
|
431
|
+
t.test_files = ['b_test.rb']
|
432
|
+
end
|
433
|
+
|
434
|
+
task :test do
|
435
|
+
Rake::Task[:a].invoke
|
436
|
+
Rake::Task[:b].invoke
|
437
|
+
end
|
438
|
+
|
439
|
+
task :default => :test
|
440
|
+
TEST_SIGNAL
|
441
|
+
open 'a_test.rb', 'w' do |io|
|
442
|
+
io << 'puts "ATEST"' << "\n"
|
443
|
+
io << '$stdout.flush' << "\n"
|
444
|
+
io << 'Process.kill("TERM", $$)' << "\n"
|
445
|
+
end
|
446
|
+
open 'b_test.rb', 'w' do |io|
|
447
|
+
io << 'puts "BTEST"' << "\n"
|
448
|
+
io << '$stdout.flush' << "\n"
|
449
|
+
end
|
450
|
+
end
|
451
|
+
|
452
|
+
def rakefile_failing_test_task
|
453
|
+
rakefile <<-TEST_TASK
|
454
|
+
require 'rake/testtask'
|
455
|
+
|
456
|
+
task :default => :test
|
457
|
+
Rake::TestTask.new(:test) do |t|
|
458
|
+
t.test_files = ['a_test.rb']
|
459
|
+
end
|
460
|
+
TEST_TASK
|
461
|
+
open 'a_test.rb', 'w' do |io|
|
462
|
+
io << "require 'minitest/autorun'\n"
|
463
|
+
io << "class ExitTaskTest < MiniTest::Unit::TestCase\n"
|
464
|
+
io << " def test_exit\n"
|
465
|
+
io << " assert false, 'this should fail'\n"
|
466
|
+
io << " end\n"
|
467
|
+
io << "end\n"
|
468
|
+
end
|
469
|
+
end
|
470
|
+
|
471
|
+
def rakefile_stand_alone_filelist
|
472
|
+
open 'stand_alone_filelist.rb', 'w' do |io|
|
473
|
+
io << "require 'rake/file_list'\n"
|
474
|
+
io << "FL = Rake::FileList['*.rb']\n"
|
475
|
+
io << "puts FL\n"
|
476
|
+
end
|
477
|
+
end
|
478
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module RubyRunner
|
2
|
+
include FileUtils
|
3
|
+
|
4
|
+
# Run a shell Ruby command with command line options (using the
|
5
|
+
# default test options). Output is captured in @out and @err
|
6
|
+
def ruby(*option_list)
|
7
|
+
run_ruby(@ruby_options + option_list)
|
8
|
+
end
|
9
|
+
|
10
|
+
# Run a command line rake with the give rake options. Default
|
11
|
+
# command line ruby options are included. Output is captured in
|
12
|
+
# @out and @err
|
13
|
+
def rake(*rake_options)
|
14
|
+
run_ruby @ruby_options + [@rake_exec] + rake_options
|
15
|
+
end
|
16
|
+
|
17
|
+
# Low level ruby command runner ...
|
18
|
+
def run_ruby(option_list)
|
19
|
+
puts "COMMAND: [#{RUBY} #{option_list.join ' '}]" if @verbose
|
20
|
+
|
21
|
+
inn, out, err, wait = Open3.popen3(RUBY, *option_list)
|
22
|
+
inn.close
|
23
|
+
|
24
|
+
@exit = wait ? wait.value : $?
|
25
|
+
@out = out.read
|
26
|
+
@err = err.read
|
27
|
+
|
28
|
+
puts "OUTPUT: [#{@out}]" if @verbose
|
29
|
+
puts "ERROR: [#{@err}]" if @verbose
|
30
|
+
puts "EXIT: [#{@exit.inspect}]" if @verbose
|
31
|
+
puts "PWD: [#{Dir.pwd}]" if @verbose
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require File.expand_path('../helper', __FILE__)
|
2
|
+
require 'rake/private_reader'
|
3
|
+
|
4
|
+
class TestPrivateAttrs < Rake::TestCase
|
5
|
+
|
6
|
+
class Sample
|
7
|
+
include Rake::PrivateReader
|
8
|
+
|
9
|
+
private_reader :reader, :a
|
10
|
+
|
11
|
+
def initialize
|
12
|
+
@reader = :RVALUE
|
13
|
+
end
|
14
|
+
|
15
|
+
def get_reader
|
16
|
+
reader
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
def setup
|
22
|
+
super
|
23
|
+
@sample = Sample.new
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_private_reader_is_private
|
27
|
+
assert_private do @sample.reader end
|
28
|
+
assert_private do @sample.a end
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_private_reader_returns_data
|
32
|
+
assert_equal :RVALUE, @sample.get_reader
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def assert_private
|
38
|
+
ex = assert_raises(NoMethodError) do yield end
|
39
|
+
assert_match(/private/, ex.message)
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require File.expand_path('../helper', __FILE__)
|
2
|
+
|
3
|
+
class TestRake < Rake::TestCase
|
4
|
+
def test_each_dir_parent
|
5
|
+
assert_equal ['a'], alldirs('a')
|
6
|
+
assert_equal ['a/b', 'a'], alldirs('a/b')
|
7
|
+
assert_equal ['/a/b', '/a', '/'], alldirs('/a/b')
|
8
|
+
if File.dirname("c:/foo") == "c:"
|
9
|
+
# Under Unix
|
10
|
+
assert_equal ['c:/a/b', 'c:/a', 'c:'], alldirs('c:/a/b')
|
11
|
+
assert_equal ['c:a/b', 'c:a'], alldirs('c:a/b')
|
12
|
+
else
|
13
|
+
# Under Windows
|
14
|
+
assert_equal ['c:/a/b', 'c:/a', 'c:/'], alldirs('c:/a/b')
|
15
|
+
assert_equal ['c:a/b', 'c:a'], alldirs('c:a/b')
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def alldirs(fn)
|
20
|
+
result = []
|
21
|
+
Rake.each_dir_parent(fn) { |d| result << d }
|
22
|
+
result
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_can_override_application
|
26
|
+
old_app = Rake.application
|
27
|
+
fake_app = Object.new
|
28
|
+
Rake.application = fake_app
|
29
|
+
|
30
|
+
assert_equal fake_app, Rake.application
|
31
|
+
|
32
|
+
ensure
|
33
|
+
Rake.application = old_app
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_original_dir_reports_current_dir
|
37
|
+
assert_equal @tempdir, Rake.original_dir
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|