spline 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/lib/spline/action_command.rb +21 -0
  4. data/lib/spline/install_command.rb +28 -0
  5. data/lib/spline/process_command.rb +20 -0
  6. data/lib/spline/spline_cli.rb +7 -19
  7. data/lib/spline/templates/action.tt +7 -0
  8. data/lib/spline/templates/my_first_action.tt +11 -0
  9. data/lib/spline/templates/my_process.tt +21 -0
  10. data/lib/spline/templates/my_second_action.tt +11 -0
  11. data/lib/spline/templates/process.tt +6 -0
  12. data/lib/spline/version.rb +1 -1
  13. data/spline.gemspec +0 -1
  14. metadata +9 -140
  15. data/vendor/bundle/ruby/2.1.0/bin/rake +0 -23
  16. data/vendor/bundle/ruby/2.1.0/bin/spline +0 -23
  17. data/vendor/bundle/ruby/2.1.0/build_info/rake-10.3.2.info +0 -1
  18. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.autotest +0 -7
  19. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.gemtest +0 -0
  20. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.rubocop.yml +0 -27
  21. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.togglerc +0 -7
  22. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/CONTRIBUTING.rdoc +0 -34
  23. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/History.rdoc +0 -609
  24. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/MIT-LICENSE +0 -21
  25. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/Manifest.txt +0 -162
  26. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/README.rdoc +0 -137
  27. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/Rakefile +0 -81
  28. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/bin/rake +0 -33
  29. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/alt_system.rb +0 -110
  30. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb +0 -783
  31. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/backtrace.rb +0 -23
  32. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/clean.rb +0 -76
  33. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/cloneable.rb +0 -16
  34. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/.document +0 -0
  35. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/compositepublisher.rb +0 -21
  36. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/ftptools.rb +0 -137
  37. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/publisher.rb +0 -81
  38. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/rubyforgepublisher.rb +0 -18
  39. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/sshpublisher.rb +0 -61
  40. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/sys.rb +0 -4
  41. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/cpu_counter.rb +0 -109
  42. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/default_loader.rb +0 -14
  43. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/dsl_definition.rb +0 -198
  44. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/early_time.rb +0 -21
  45. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/core.rb +0 -25
  46. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/module.rb +0 -1
  47. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/string.rb +0 -173
  48. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/time.rb +0 -15
  49. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_creation_task.rb +0 -24
  50. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_list.rb +0 -414
  51. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_task.rb +0 -46
  52. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_utils.rb +0 -116
  53. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_utils_ext.rb +0 -144
  54. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/gempackagetask.rb +0 -4
  55. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/invocation_chain.rb +0 -56
  56. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/invocation_exception_mixin.rb +0 -16
  57. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/linked_list.rb +0 -103
  58. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/loaders/makefile.rb +0 -40
  59. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/multi_task.rb +0 -13
  60. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/name_space.rb +0 -38
  61. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/packagetask.rb +0 -202
  62. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/pathmap.rb +0 -3
  63. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/phony.rb +0 -15
  64. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/private_reader.rb +0 -20
  65. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/promise.rb +0 -99
  66. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/pseudo_status.rb +0 -29
  67. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rake_module.rb +0 -38
  68. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rake_test_loader.rb +0 -22
  69. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rdoctask.rb +0 -4
  70. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ruby182_test_unit_fix.rb +0 -29
  71. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rule_recursion_overflow_error.rb +0 -20
  72. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/runtest.rb +0 -27
  73. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/scope.rb +0 -42
  74. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb +0 -383
  75. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_argument_error.rb +0 -7
  76. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_arguments.rb +0 -98
  77. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_manager.rb +0 -310
  78. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/tasklib.rb +0 -24
  79. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/testtask.rb +0 -212
  80. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/thread_history_display.rb +0 -48
  81. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/thread_pool.rb +0 -164
  82. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/trace_output.rb +0 -22
  83. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/version.rb +0 -7
  84. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/win32.rb +0 -56
  85. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake.rb +0 -78
  86. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/rakelib/publish.rake +0 -20
  87. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/rakelib/test_times.rake +0 -25
  88. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/file_creation.rb +0 -34
  89. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/helper.rb +0 -127
  90. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/support/rakefile_definitions.rb +0 -478
  91. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/support/ruby_runner.rb +0 -33
  92. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_private_reader.rb +0 -42
  93. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake.rb +0 -40
  94. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_application.rb +0 -641
  95. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_application_options.rb +0 -466
  96. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_backtrace.rb +0 -119
  97. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_clean.rb +0 -55
  98. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_cpu_counter.rb +0 -50
  99. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_definitions.rb +0 -79
  100. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_directory_task.rb +0 -63
  101. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_dsl.rb +0 -40
  102. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_early_time.rb +0 -31
  103. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_extension.rb +0 -59
  104. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_creation_task.rb +0 -56
  105. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_list.rb +0 -627
  106. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_list_path_map.rb +0 -8
  107. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_task.rb +0 -186
  108. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_utils.rb +0 -309
  109. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_ftp_file.rb +0 -74
  110. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_functional.rb +0 -482
  111. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_invocation_chain.rb +0 -64
  112. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_linked_list.rb +0 -84
  113. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_makefile_loader.rb +0 -46
  114. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_multi_task.rb +0 -58
  115. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_name_space.rb +0 -57
  116. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_package_task.rb +0 -79
  117. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map.rb +0 -168
  118. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map_explode.rb +0 -34
  119. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map_partial.rb +0 -18
  120. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_pseudo_status.rb +0 -21
  121. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_rake_test_loader.rb +0 -20
  122. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_reduce_compat.rb +0 -26
  123. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_require.rb +0 -40
  124. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_rules.rb +0 -388
  125. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_scope.rb +0 -44
  126. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task.rb +0 -392
  127. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_argument_parsing.rb +0 -109
  128. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_arguments.rb +0 -127
  129. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_lib.rb +0 -9
  130. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_manager.rb +0 -178
  131. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_manager_argument_resolution.rb +0 -19
  132. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_with_arguments.rb +0 -171
  133. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_test_task.rb +0 -141
  134. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_thread_pool.rb +0 -142
  135. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_top_level_functions.rb +0 -71
  136. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_win32.rb +0 -72
  137. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_thread_history_display.rb +0 -101
  138. data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_trace_output.rb +0 -52
  139. data/vendor/bundle/ruby/2.1.0/specifications/rake-10.3.2.gemspec +0 -45
@@ -1,310 +0,0 @@
1
- module Rake
2
-
3
- # The TaskManager module is a mixin for managing tasks.
4
- module TaskManager
5
- # Track the last comment made in the Rakefile.
6
- attr_accessor :last_description
7
-
8
- # TODO: Remove in Rake 11
9
-
10
- alias :last_comment :last_description # :nodoc: Backwards compatibility
11
-
12
- def initialize # :nodoc:
13
- super
14
- @tasks = Hash.new
15
- @rules = Array.new
16
- @scope = Scope.make
17
- @last_description = nil
18
- end
19
-
20
- def create_rule(*args, &block) # :nodoc:
21
- pattern, args, deps = resolve_args(args)
22
- pattern = Regexp.new(Regexp.quote(pattern) + '$') if String === pattern
23
- @rules << [pattern, args, deps, block]
24
- end
25
-
26
- def define_task(task_class, *args, &block) # :nodoc:
27
- task_name, arg_names, deps = resolve_args(args)
28
-
29
- original_scope = @scope
30
- if String === task_name and
31
- not task_class.ancestors.include? Rake::FileTask then
32
- task_name, *definition_scope = *(task_name.split(":").reverse)
33
- @scope = Scope.make(*(definition_scope + @scope.to_a))
34
- end
35
-
36
- task_name = task_class.scope_name(@scope, task_name)
37
- deps = [deps] unless deps.respond_to?(:to_ary)
38
- deps = deps.map { |d| d.to_s }
39
- task = intern(task_class, task_name)
40
- task.set_arg_names(arg_names) unless arg_names.empty?
41
- if Rake::TaskManager.record_task_metadata
42
- add_location(task)
43
- task.add_description(get_description(task))
44
- end
45
- task.enhance(deps, &block)
46
- ensure
47
- @scope = original_scope
48
- end
49
-
50
- # Lookup a task. Return an existing task if found, otherwise
51
- # create a task of the current type.
52
- def intern(task_class, task_name)
53
- @tasks[task_name.to_s] ||= task_class.new(task_name, self)
54
- end
55
-
56
- # Find a matching task for +task_name+.
57
- def [](task_name, scopes=nil)
58
- task_name = task_name.to_s
59
- self.lookup(task_name, scopes) or
60
- enhance_with_matching_rule(task_name) or
61
- synthesize_file_task(task_name) or
62
- fail "Don't know how to build task '#{task_name}'"
63
- end
64
-
65
- def synthesize_file_task(task_name) # :nodoc:
66
- return nil unless File.exist?(task_name)
67
- define_task(Rake::FileTask, task_name)
68
- end
69
-
70
- # Resolve the arguments for a task/rule. Returns a triplet of
71
- # [task_name, arg_name_list, prerequisites].
72
- def resolve_args(args)
73
- if args.last.is_a?(Hash)
74
- deps = args.pop
75
- resolve_args_with_dependencies(args, deps)
76
- else
77
- resolve_args_without_dependencies(args)
78
- end
79
- end
80
-
81
- # Resolve task arguments for a task or rule when there are no
82
- # dependencies declared.
83
- #
84
- # The patterns recognized by this argument resolving function are:
85
- #
86
- # task :t
87
- # task :t, [:a]
88
- #
89
- def resolve_args_without_dependencies(args)
90
- task_name = args.shift
91
- if args.size == 1 && args.first.respond_to?(:to_ary)
92
- arg_names = args.first.to_ary
93
- else
94
- arg_names = args
95
- end
96
- [task_name, arg_names, []]
97
- end
98
- private :resolve_args_without_dependencies
99
-
100
- # Resolve task arguments for a task or rule when there are
101
- # dependencies declared.
102
- #
103
- # The patterns recognized by this argument resolving function are:
104
- #
105
- # task :t => [:d]
106
- # task :t, [a] => [:d]
107
- #
108
- def resolve_args_with_dependencies(args, hash) # :nodoc:
109
- fail "Task Argument Error" if hash.size != 1
110
- key, value = hash.map { |k, v| [k, v] }.first
111
- if args.empty?
112
- task_name = key
113
- arg_names = []
114
- deps = value
115
- else
116
- task_name = args.shift
117
- arg_names = key
118
- deps = value
119
- end
120
- deps = [deps] unless deps.respond_to?(:to_ary)
121
- [task_name, arg_names, deps]
122
- end
123
- private :resolve_args_with_dependencies
124
-
125
- # If a rule can be found that matches the task name, enhance the
126
- # task with the prerequisites and actions from the rule. Set the
127
- # source attribute of the task appropriately for the rule. Return
128
- # the enhanced task or nil of no rule was found.
129
- def enhance_with_matching_rule(task_name, level=0)
130
- fail Rake::RuleRecursionOverflowError,
131
- "Rule Recursion Too Deep" if level >= 16
132
- @rules.each do |pattern, args, extensions, block|
133
- if pattern.match(task_name)
134
- task = attempt_rule(task_name, args, extensions, block, level)
135
- return task if task
136
- end
137
- end
138
- nil
139
- rescue Rake::RuleRecursionOverflowError => ex
140
- ex.add_target(task_name)
141
- fail ex
142
- end
143
-
144
- # List of all defined tasks in this application.
145
- def tasks
146
- @tasks.values.sort_by { |t| t.name }
147
- end
148
-
149
- # List of all the tasks defined in the given scope (and its
150
- # sub-scopes).
151
- def tasks_in_scope(scope)
152
- prefix = scope.path
153
- tasks.select { |t|
154
- /^#{prefix}:/ =~ t.name
155
- }
156
- end
157
-
158
- # Clear all tasks in this application.
159
- def clear
160
- @tasks.clear
161
- @rules.clear
162
- end
163
-
164
- # Lookup a task, using scope and the scope hints in the task name.
165
- # This method performs straight lookups without trying to
166
- # synthesize file tasks or rules. Special scope names (e.g. '^')
167
- # are recognized. If no scope argument is supplied, use the
168
- # current scope. Return nil if the task cannot be found.
169
- def lookup(task_name, initial_scope=nil)
170
- initial_scope ||= @scope
171
- task_name = task_name.to_s
172
- if task_name =~ /^rake:/
173
- scopes = Scope.make
174
- task_name = task_name.sub(/^rake:/, '')
175
- elsif task_name =~ /^(\^+)/
176
- scopes = initial_scope.trim($1.size)
177
- task_name = task_name.sub(/^(\^+)/, '')
178
- else
179
- scopes = initial_scope
180
- end
181
- lookup_in_scope(task_name, scopes)
182
- end
183
-
184
- # Lookup the task name
185
- def lookup_in_scope(name, scope)
186
- loop do
187
- tn = scope.path_with_task_name(name)
188
- task = @tasks[tn]
189
- return task if task
190
- break if scope.empty?
191
- scope = scope.tail
192
- end
193
- nil
194
- end
195
- private :lookup_in_scope
196
-
197
- # Return the list of scope names currently active in the task
198
- # manager.
199
- def current_scope
200
- @scope
201
- end
202
-
203
- # Evaluate the block in a nested namespace named +name+. Create
204
- # an anonymous namespace if +name+ is nil.
205
- def in_namespace(name)
206
- name ||= generate_name
207
- @scope = Scope.new(name, @scope)
208
- ns = NameSpace.new(self, @scope)
209
- yield(ns)
210
- ns
211
- ensure
212
- @scope = @scope.tail
213
- end
214
-
215
- private
216
-
217
- # Add a location to the locations field of the given task.
218
- def add_location(task)
219
- loc = find_location
220
- task.locations << loc if loc
221
- task
222
- end
223
-
224
- # Find the location that called into the dsl layer.
225
- def find_location
226
- locations = caller
227
- i = 0
228
- while locations[i]
229
- return locations[i + 1] if locations[i] =~ /rake\/dsl_definition.rb/
230
- i += 1
231
- end
232
- nil
233
- end
234
-
235
- # Generate an anonymous namespace name.
236
- def generate_name
237
- @seed ||= 0
238
- @seed += 1
239
- "_anon_#{@seed}"
240
- end
241
-
242
- def trace_rule(level, message) # :nodoc:
243
- options.trace_output.puts "#{" " * level}#{message}" if
244
- Rake.application.options.trace_rules
245
- end
246
-
247
- # Attempt to create a rule given the list of prerequisites.
248
- def attempt_rule(task_name, args, extensions, block, level)
249
- sources = make_sources(task_name, extensions)
250
- prereqs = sources.map { |source|
251
- trace_rule level, "Attempting Rule #{task_name} => #{source}"
252
- if File.exist?(source) || Rake::Task.task_defined?(source)
253
- trace_rule level, "(#{task_name} => #{source} ... EXIST)"
254
- source
255
- elsif parent = enhance_with_matching_rule(source, level + 1)
256
- trace_rule level, "(#{task_name} => #{source} ... ENHANCE)"
257
- parent.name
258
- else
259
- trace_rule level, "(#{task_name} => #{source} ... FAIL)"
260
- return nil
261
- end
262
- }
263
- task = FileTask.define_task(task_name, {args => prereqs}, &block)
264
- task.sources = prereqs
265
- task
266
- end
267
-
268
- # Make a list of sources from the list of file name extensions /
269
- # translation procs.
270
- def make_sources(task_name, extensions)
271
- result = extensions.map { |ext|
272
- case ext
273
- when /%/
274
- task_name.pathmap(ext)
275
- when %r{/}
276
- ext
277
- when /^\./
278
- task_name.ext(ext)
279
- when String
280
- ext
281
- when Proc, Method
282
- if ext.arity == 1
283
- ext.call(task_name)
284
- else
285
- ext.call
286
- end
287
- else
288
- fail "Don't know how to handle rule dependent: #{ext.inspect}"
289
- end
290
- }
291
- result.flatten
292
- end
293
-
294
-
295
- private
296
-
297
- # Return the current description, clearing it in the process.
298
- def get_description(task)
299
- desc = @last_description
300
- @last_description = nil
301
- desc
302
- end
303
-
304
- class << self
305
- attr_accessor :record_task_metadata # :nodoc:
306
- TaskManager.record_task_metadata = false
307
- end
308
- end
309
-
310
- end
@@ -1,24 +0,0 @@
1
- require 'rake'
2
-
3
- module Rake
4
-
5
- # Base class for Task Libraries.
6
- class TaskLib
7
- include Cloneable
8
- include Rake::DSL
9
-
10
- # Make a symbol by pasting two strings together.
11
- #
12
- # NOTE: DEPRECATED! This method is kinda stupid. I don't know why
13
- # I didn't just use string interpolation. But now other task
14
- # libraries depend on this so I can't remove it without breaking
15
- # other people's code. So for now it stays for backwards
16
- # compatibility. BUT DON'T USE IT.
17
- #--
18
- # TODO: Remove in Rake 11
19
- def paste(a, b) # :nodoc:
20
- (a.to_s + b.to_s).intern
21
- end
22
- end
23
-
24
- end
@@ -1,212 +0,0 @@
1
- require 'rake'
2
- require 'rake/tasklib'
3
-
4
- module Rake
5
-
6
- # Create a task that runs a set of tests.
7
- #
8
- # Example:
9
- #
10
- # Rake::TestTask.new do |t|
11
- # t.libs << "test"
12
- # t.test_files = FileList['test/test*.rb']
13
- # t.verbose = true
14
- # end
15
- #
16
- # If rake is invoked with a "TEST=filename" command line option,
17
- # then the list of test files will be overridden to include only the
18
- # filename specified on the command line. This provides an easy way
19
- # to run just one test.
20
- #
21
- # If rake is invoked with a "TESTOPTS=options" command line option,
22
- # then the given options are passed to the test process after a
23
- # '--'. This allows Test::Unit options to be passed to the test
24
- # suite.
25
- #
26
- # Examples:
27
- #
28
- # rake test # run tests normally
29
- # rake test TEST=just_one_file.rb # run just one test file.
30
- # rake test TESTOPTS="-v" # run in verbose mode
31
- # rake test TESTOPTS="--runner=fox" # use the fox test runner
32
- #
33
- class TestTask < TaskLib
34
-
35
- # Name of test task. (default is :test)
36
- attr_accessor :name
37
-
38
- # List of directories to added to $LOAD_PATH before running the
39
- # tests. (default is 'lib')
40
- attr_accessor :libs
41
-
42
- # True if verbose test output desired. (default is false)
43
- attr_accessor :verbose
44
-
45
- # Test options passed to the test suite. An explicit
46
- # TESTOPTS=opts on the command line will override this. (default
47
- # is NONE)
48
- attr_accessor :options
49
-
50
- # Request that the tests be run with the warning flag set.
51
- # E.g. warning=true implies "ruby -w" used to run the tests.
52
- attr_accessor :warning
53
-
54
- # Glob pattern to match test files. (default is 'test/test*.rb')
55
- attr_accessor :pattern
56
-
57
- # Style of test loader to use. Options are:
58
- #
59
- # * :rake -- Rake provided test loading script (default).
60
- # * :testrb -- Ruby provided test loading script.
61
- # * :direct -- Load tests using command line loader.
62
- #
63
- attr_accessor :loader
64
-
65
- # Array of commandline options to pass to ruby when running test loader.
66
- attr_accessor :ruby_opts
67
-
68
- # Description of the test task. (default is 'Run tests')
69
- attr_accessor :description
70
-
71
- # Explicitly define the list of test files to be included in a
72
- # test. +list+ is expected to be an array of file names (a
73
- # FileList is acceptable). If both +pattern+ and +test_files+ are
74
- # used, then the list of test files is the union of the two.
75
- def test_files=(list)
76
- @test_files = list
77
- end
78
-
79
- # Create a testing task.
80
- def initialize(name=:test)
81
- @name = name
82
- @libs = ["lib"]
83
- @pattern = nil
84
- @options = nil
85
- @test_files = nil
86
- @verbose = false
87
- @warning = false
88
- @loader = :rake
89
- @ruby_opts = []
90
- @description = "Run tests" + (@name == :test ? "" : " for #{@name}")
91
- yield self if block_given?
92
- @pattern = 'test/test*.rb' if @pattern.nil? && @test_files.nil?
93
- define
94
- end
95
-
96
- # Create the tasks defined by this task lib.
97
- def define
98
- desc @description
99
- task @name do
100
- FileUtilsExt.verbose(@verbose) do
101
- args =
102
- "#{ruby_opts_string} #{run_code} " +
103
- "#{file_list_string} #{option_list}"
104
- ruby args do |ok, status|
105
- if !ok && status.respond_to?(:signaled?) && status.signaled?
106
- raise SignalException.new(status.termsig)
107
- elsif !ok
108
- fail "Command failed with status (#{status.exitstatus}): " +
109
- "[ruby #{args}]"
110
- end
111
- end
112
- end
113
- end
114
- self
115
- end
116
-
117
- def option_list # :nodoc:
118
- (ENV['TESTOPTS'] ||
119
- ENV['TESTOPT'] ||
120
- ENV['TEST_OPTS'] ||
121
- ENV['TEST_OPT'] ||
122
- @options ||
123
- "")
124
- end
125
-
126
- def ruby_opts_string # :nodoc:
127
- opts = @ruby_opts.dup
128
- opts.unshift("-I\"#{lib_path}\"") unless @libs.empty?
129
- opts.unshift("-w") if @warning
130
- opts.join(" ")
131
- end
132
-
133
- def lib_path # :nodoc:
134
- @libs.join(File::PATH_SEPARATOR)
135
- end
136
-
137
- def file_list_string # :nodoc:
138
- file_list.map { |fn| "\"#{fn}\"" }.join(' ')
139
- end
140
-
141
- def file_list # :nodoc:
142
- if ENV['TEST']
143
- FileList[ENV['TEST']]
144
- else
145
- result = []
146
- result += @test_files.to_a if @test_files
147
- result << @pattern if @pattern
148
- result
149
- end
150
- end
151
-
152
- def fix # :nodoc:
153
- case ruby_version
154
- when '1.8.2'
155
- "\"#{find_file 'rake/ruby182_test_unit_fix'}\""
156
- else
157
- nil
158
- end || ''
159
- end
160
-
161
- def ruby_version # :nodoc:
162
- RUBY_VERSION
163
- end
164
-
165
- def run_code # :nodoc:
166
- case @loader
167
- when :direct
168
- "-e \"ARGV.each{|f| require f}\""
169
- when :testrb
170
- "-S testrb #{fix}"
171
- when :rake
172
- "#{rake_include_arg} \"#{rake_loader}\""
173
- end
174
- end
175
-
176
- def rake_loader # :nodoc:
177
- find_file('rake/rake_test_loader') or
178
- fail "unable to find rake test loader"
179
- end
180
-
181
- def find_file(fn) # :nodoc:
182
- $LOAD_PATH.each do |path|
183
- file_path = File.join(path, "#{fn}.rb")
184
- return file_path if File.exist? file_path
185
- end
186
- nil
187
- end
188
-
189
- def rake_include_arg # :nodoc:
190
- spec = Gem.loaded_specs['rake']
191
- if spec.respond_to?(:default_gem?) && spec.default_gem?
192
- ""
193
- else
194
- "-I\"#{rake_lib_dir}\""
195
- end
196
- end
197
-
198
- def rake_lib_dir # :nodoc:
199
- find_dir('rake') or
200
- fail "unable to find rake lib"
201
- end
202
-
203
- def find_dir(fn) # :nodoc:
204
- $LOAD_PATH.each do |path|
205
- file_path = File.join(path, "#{fn}.rb")
206
- return path if File.exist? file_path
207
- end
208
- nil
209
- end
210
-
211
- end
212
- end
@@ -1,48 +0,0 @@
1
- require 'rake/private_reader'
2
-
3
- module Rake
4
-
5
- class ThreadHistoryDisplay # :nodoc: all
6
- include Rake::PrivateReader
7
-
8
- private_reader :stats, :items, :threads
9
-
10
- def initialize(stats)
11
- @stats = stats
12
- @items = { :_seq_ => 1 }
13
- @threads = { :_seq_ => "A" }
14
- end
15
-
16
- def show
17
- puts "Job History:"
18
- stats.each do |stat|
19
- stat[:data] ||= {}
20
- rename(stat, :thread, threads)
21
- rename(stat[:data], :item_id, items)
22
- rename(stat[:data], :new_thread, threads)
23
- rename(stat[:data], :deleted_thread, threads)
24
- printf("%8d %2s %-20s %s\n",
25
- (stat[:time] * 1_000_000).round,
26
- stat[:thread],
27
- stat[:event],
28
- stat[:data].map do |k, v| "#{k}:#{v}" end.join(" "))
29
- end
30
- end
31
-
32
- private
33
-
34
- def rename(hash, key, renames)
35
- if hash && hash[key]
36
- original = hash[key]
37
- value = renames[original]
38
- unless value
39
- value = renames[:_seq_]
40
- renames[:_seq_] = renames[:_seq_].succ
41
- renames[original] = value
42
- end
43
- hash[key] = value
44
- end
45
- end
46
- end
47
-
48
- end