spline 0.0.11 → 0.0.12

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.
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