spline 0.0.11 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/lib/spline/action_command.rb +21 -0
- data/lib/spline/install_command.rb +28 -0
- data/lib/spline/process_command.rb +20 -0
- data/lib/spline/spline_cli.rb +7 -19
- data/lib/spline/templates/action.tt +7 -0
- data/lib/spline/templates/my_first_action.tt +11 -0
- data/lib/spline/templates/my_process.tt +21 -0
- data/lib/spline/templates/my_second_action.tt +11 -0
- data/lib/spline/templates/process.tt +6 -0
- data/lib/spline/version.rb +1 -1
- data/spline.gemspec +0 -1
- metadata +9 -140
- data/vendor/bundle/ruby/2.1.0/bin/rake +0 -23
- data/vendor/bundle/ruby/2.1.0/bin/spline +0 -23
- data/vendor/bundle/ruby/2.1.0/build_info/rake-10.3.2.info +0 -1
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.autotest +0 -7
- 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 +0 -27
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/.togglerc +0 -7
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/CONTRIBUTING.rdoc +0 -34
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/History.rdoc +0 -609
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/MIT-LICENSE +0 -21
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/Manifest.txt +0 -162
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/README.rdoc +0 -137
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/Rakefile +0 -81
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/bin/rake +0 -33
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/alt_system.rb +0 -110
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/application.rb +0 -783
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/backtrace.rb +0 -23
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/clean.rb +0 -76
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/cloneable.rb +0 -16
- 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 +0 -21
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/ftptools.rb +0 -137
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/publisher.rb +0 -81
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/rubyforgepublisher.rb +0 -18
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/sshpublisher.rb +0 -61
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/contrib/sys.rb +0 -4
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/cpu_counter.rb +0 -109
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/default_loader.rb +0 -14
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/dsl_definition.rb +0 -198
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/early_time.rb +0 -21
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/core.rb +0 -25
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/module.rb +0 -1
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/string.rb +0 -173
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ext/time.rb +0 -15
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_creation_task.rb +0 -24
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_list.rb +0 -414
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_task.rb +0 -46
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_utils.rb +0 -116
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/file_utils_ext.rb +0 -144
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/gempackagetask.rb +0 -4
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/invocation_chain.rb +0 -56
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/invocation_exception_mixin.rb +0 -16
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/linked_list.rb +0 -103
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/loaders/makefile.rb +0 -40
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/multi_task.rb +0 -13
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/name_space.rb +0 -38
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/packagetask.rb +0 -202
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/pathmap.rb +0 -3
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/phony.rb +0 -15
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/private_reader.rb +0 -20
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/promise.rb +0 -99
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/pseudo_status.rb +0 -29
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rake_module.rb +0 -38
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rake_test_loader.rb +0 -22
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rdoctask.rb +0 -4
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/ruby182_test_unit_fix.rb +0 -29
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/rule_recursion_overflow_error.rb +0 -20
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/runtest.rb +0 -27
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/scope.rb +0 -42
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task.rb +0 -383
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_argument_error.rb +0 -7
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_arguments.rb +0 -98
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/task_manager.rb +0 -310
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/tasklib.rb +0 -24
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/testtask.rb +0 -212
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/thread_history_display.rb +0 -48
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/thread_pool.rb +0 -164
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/trace_output.rb +0 -22
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/version.rb +0 -7
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake/win32.rb +0 -56
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/lib/rake.rb +0 -78
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/rakelib/publish.rake +0 -20
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/rakelib/test_times.rake +0 -25
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/file_creation.rb +0 -34
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/helper.rb +0 -127
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/support/rakefile_definitions.rb +0 -478
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/support/ruby_runner.rb +0 -33
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_private_reader.rb +0 -42
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake.rb +0 -40
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_application.rb +0 -641
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_application_options.rb +0 -466
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_backtrace.rb +0 -119
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_clean.rb +0 -55
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_cpu_counter.rb +0 -50
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_definitions.rb +0 -79
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_directory_task.rb +0 -63
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_dsl.rb +0 -40
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_early_time.rb +0 -31
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_extension.rb +0 -59
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_creation_task.rb +0 -56
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_list.rb +0 -627
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_list_path_map.rb +0 -8
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_task.rb +0 -186
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_file_utils.rb +0 -309
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_ftp_file.rb +0 -74
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_functional.rb +0 -482
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_invocation_chain.rb +0 -64
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_linked_list.rb +0 -84
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_makefile_loader.rb +0 -46
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_multi_task.rb +0 -58
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_name_space.rb +0 -57
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_package_task.rb +0 -79
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map.rb +0 -168
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map_explode.rb +0 -34
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_path_map_partial.rb +0 -18
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_pseudo_status.rb +0 -21
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_rake_test_loader.rb +0 -20
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_reduce_compat.rb +0 -26
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_require.rb +0 -40
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_rules.rb +0 -388
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_scope.rb +0 -44
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task.rb +0 -392
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_argument_parsing.rb +0 -109
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_arguments.rb +0 -127
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_lib.rb +0 -9
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_manager.rb +0 -178
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_manager_argument_resolution.rb +0 -19
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_task_with_arguments.rb +0 -171
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_test_task.rb +0 -141
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_thread_pool.rb +0 -142
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_top_level_functions.rb +0 -71
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_rake_win32.rb +0 -72
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_thread_history_display.rb +0 -101
- data/vendor/bundle/ruby/2.1.0/gems/rake-10.3.2/test/test_trace_output.rb +0 -52
- data/vendor/bundle/ruby/2.1.0/specifications/rake-10.3.2.gemspec +0 -45
@@ -1,198 +0,0 @@
|
|
1
|
-
# Rake DSL functions.
|
2
|
-
require 'rake/file_utils_ext'
|
3
|
-
|
4
|
-
module Rake
|
5
|
-
|
6
|
-
##
|
7
|
-
# DSL is a module that provides #task, #desc, #namespace, etc. Use this
|
8
|
-
# when you'd like to use rake outside the top level scope.
|
9
|
-
#
|
10
|
-
# For a Rakefile you run from the comamnd line this module is automatically
|
11
|
-
# included.
|
12
|
-
|
13
|
-
module DSL
|
14
|
-
|
15
|
-
#--
|
16
|
-
# Include the FileUtils file manipulation functions in the top
|
17
|
-
# level module, but mark them private so that they don't
|
18
|
-
# unintentionally define methods on other objects.
|
19
|
-
#++
|
20
|
-
|
21
|
-
include FileUtilsExt
|
22
|
-
private(*FileUtils.instance_methods(false))
|
23
|
-
private(*FileUtilsExt.instance_methods(false))
|
24
|
-
|
25
|
-
private
|
26
|
-
|
27
|
-
# :call-seq:
|
28
|
-
# task task_name
|
29
|
-
# task task_name: dependencies
|
30
|
-
# task task_name, arguments => dependencies
|
31
|
-
# task task_name, argument[, argument ...], :needs: dependencies
|
32
|
-
#
|
33
|
-
# Declare a basic task. The +task_name+ is always the first argument. If
|
34
|
-
# the task name contains a ":" it is defined in that namespace.
|
35
|
-
#
|
36
|
-
# The +dependencies+ may be a single task name or an Array of task names.
|
37
|
-
# The +argument+ (a single name) or +arguments+ (an Array of names) define
|
38
|
-
# the arguments provided to the task.
|
39
|
-
#
|
40
|
-
# The task, argument and dependency names may be either symbols or
|
41
|
-
# strings.
|
42
|
-
#
|
43
|
-
# A task with a single dependency:
|
44
|
-
#
|
45
|
-
# task clobber: %w[clean] do
|
46
|
-
# rm_rf "html"
|
47
|
-
# end
|
48
|
-
#
|
49
|
-
# A task with an argument and a dependency:
|
50
|
-
#
|
51
|
-
# task :package, [:version] => :test do |t, args|
|
52
|
-
# # ...
|
53
|
-
# end
|
54
|
-
#
|
55
|
-
# To invoke this task from the command line:
|
56
|
-
#
|
57
|
-
# $ rake package[1.2.3]
|
58
|
-
#
|
59
|
-
# Alternate definition:
|
60
|
-
#
|
61
|
-
# task :package, :version, needs: :test do |t, args|
|
62
|
-
# # ...
|
63
|
-
# end
|
64
|
-
#
|
65
|
-
def task(*args, &block) # :doc:
|
66
|
-
Rake::Task.define_task(*args, &block)
|
67
|
-
end
|
68
|
-
|
69
|
-
# Declare a file task.
|
70
|
-
#
|
71
|
-
# Example:
|
72
|
-
# file "config.cfg" => ["config.template"] do
|
73
|
-
# open("config.cfg", "w") do |outfile|
|
74
|
-
# open("config.template") do |infile|
|
75
|
-
# while line = infile.gets
|
76
|
-
# outfile.puts line
|
77
|
-
# end
|
78
|
-
# end
|
79
|
-
# end
|
80
|
-
# end
|
81
|
-
#
|
82
|
-
def file(*args, &block) # :doc:
|
83
|
-
Rake::FileTask.define_task(*args, &block)
|
84
|
-
end
|
85
|
-
|
86
|
-
# Declare a file creation task.
|
87
|
-
# (Mainly used for the directory command).
|
88
|
-
def file_create(*args, &block)
|
89
|
-
Rake::FileCreationTask.define_task(*args, &block)
|
90
|
-
end
|
91
|
-
|
92
|
-
# Declare a set of files tasks to create the given directories on
|
93
|
-
# demand.
|
94
|
-
#
|
95
|
-
# Example:
|
96
|
-
# directory "testdata/doc"
|
97
|
-
#
|
98
|
-
def directory(*args, &block) # :doc:
|
99
|
-
result = file_create(*args, &block)
|
100
|
-
dir, _ = *Rake.application.resolve_args(args)
|
101
|
-
Rake.each_dir_parent(dir) do |d|
|
102
|
-
file_create d do |t|
|
103
|
-
mkdir_p t.name unless File.exist?(t.name)
|
104
|
-
end
|
105
|
-
end
|
106
|
-
result
|
107
|
-
end
|
108
|
-
|
109
|
-
# Declare a task that performs its prerequisites in
|
110
|
-
# parallel. Multitasks does *not* guarantee that its prerequisites
|
111
|
-
# will execute in any given order (which is obvious when you think
|
112
|
-
# about it)
|
113
|
-
#
|
114
|
-
# Example:
|
115
|
-
# multitask deploy: %w[deploy_gem deploy_rdoc]
|
116
|
-
#
|
117
|
-
def multitask(*args, &block) # :doc:
|
118
|
-
Rake::MultiTask.define_task(*args, &block)
|
119
|
-
end
|
120
|
-
|
121
|
-
# Create a new rake namespace and use it for evaluating the given
|
122
|
-
# block. Returns a NameSpace object that can be used to lookup
|
123
|
-
# tasks defined in the namespace.
|
124
|
-
#
|
125
|
-
# Example:
|
126
|
-
#
|
127
|
-
# ns = namespace "nested" do
|
128
|
-
# # the "nested:run" task
|
129
|
-
# task :run
|
130
|
-
# end
|
131
|
-
# task_run = ns[:run] # find :run in the given namespace.
|
132
|
-
#
|
133
|
-
# Tasks can also be defined in a namespace by using a ":" in the task
|
134
|
-
# name:
|
135
|
-
#
|
136
|
-
# task "nested:test" do
|
137
|
-
# # ...
|
138
|
-
# end
|
139
|
-
#
|
140
|
-
def namespace(name=nil, &block) # :doc:
|
141
|
-
name = name.to_s if name.kind_of?(Symbol)
|
142
|
-
name = name.to_str if name.respond_to?(:to_str)
|
143
|
-
unless name.kind_of?(String) || name.nil?
|
144
|
-
raise ArgumentError, "Expected a String or Symbol for a namespace name"
|
145
|
-
end
|
146
|
-
Rake.application.in_namespace(name, &block)
|
147
|
-
end
|
148
|
-
|
149
|
-
# Declare a rule for auto-tasks.
|
150
|
-
#
|
151
|
-
# Example:
|
152
|
-
# rule '.o' => '.c' do |t|
|
153
|
-
# sh %{cc -o #{t.name} #{t.source}}
|
154
|
-
# end
|
155
|
-
#
|
156
|
-
def rule(*args, &block) # :doc:
|
157
|
-
Rake::Task.create_rule(*args, &block)
|
158
|
-
end
|
159
|
-
|
160
|
-
# Describes the next rake task. Duplicate descriptions are discarded.
|
161
|
-
#
|
162
|
-
# Example:
|
163
|
-
# desc "Run the Unit Tests"
|
164
|
-
# task test: [:build]
|
165
|
-
# # ... run tests
|
166
|
-
# end
|
167
|
-
#
|
168
|
-
def desc(description) # :doc:
|
169
|
-
Rake.application.last_description = description
|
170
|
-
end
|
171
|
-
|
172
|
-
# Import the partial Rakefiles +fn+. Imported files are loaded
|
173
|
-
# _after_ the current file is completely loaded. This allows the
|
174
|
-
# import statement to appear anywhere in the importing file, and yet
|
175
|
-
# allowing the imported files to depend on objects defined in the
|
176
|
-
# importing file.
|
177
|
-
#
|
178
|
-
# A common use of the import statement is to include files
|
179
|
-
# containing dependency declarations.
|
180
|
-
#
|
181
|
-
# See also the --rakelibdir command line option.
|
182
|
-
#
|
183
|
-
# Example:
|
184
|
-
# import ".depend", "my_rules"
|
185
|
-
#
|
186
|
-
def import(*fns) # :doc:
|
187
|
-
fns.each do |fn|
|
188
|
-
Rake.application.add_import(fn)
|
189
|
-
end
|
190
|
-
end
|
191
|
-
end
|
192
|
-
extend FileUtilsExt
|
193
|
-
end
|
194
|
-
|
195
|
-
# Extend the main object with the DSL commands. This allows top-level
|
196
|
-
# calls to task, etc. to work from a Rakefile without polluting the
|
197
|
-
# object inheritance tree.
|
198
|
-
self.extend Rake::DSL
|
@@ -1,21 +0,0 @@
|
|
1
|
-
module Rake
|
2
|
-
|
3
|
-
# EarlyTime is a fake timestamp that occurs _before_ any other time value.
|
4
|
-
class EarlyTime
|
5
|
-
include Comparable
|
6
|
-
include Singleton
|
7
|
-
|
8
|
-
##
|
9
|
-
# The EarlyTime always comes before +other+!
|
10
|
-
|
11
|
-
def <=>(other)
|
12
|
-
-1
|
13
|
-
end
|
14
|
-
|
15
|
-
def to_s # :nodoc:
|
16
|
-
"<EARLY TIME>"
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
EARLY = EarlyTime.instance
|
21
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
class Module
|
2
|
-
# Check for an existing method in the current class before extending. If
|
3
|
-
# the method already exists, then a warning is printed and the extension is
|
4
|
-
# not added. Otherwise the block is yielded and any definitions in the
|
5
|
-
# block will take effect.
|
6
|
-
#
|
7
|
-
# Usage:
|
8
|
-
#
|
9
|
-
# class String
|
10
|
-
# rake_extension("xyz") do
|
11
|
-
# def xyz
|
12
|
-
# ...
|
13
|
-
# end
|
14
|
-
# end
|
15
|
-
# end
|
16
|
-
#
|
17
|
-
def rake_extension(method) # :nodoc:
|
18
|
-
if method_defined?(method)
|
19
|
-
$stderr.puts "WARNING: Possible conflict with Rake extension: " +
|
20
|
-
"#{self}##{method} already exists"
|
21
|
-
else
|
22
|
-
yield
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
# TODO: remove in Rake 11
|
@@ -1,173 +0,0 @@
|
|
1
|
-
require 'rake/ext/core'
|
2
|
-
|
3
|
-
class String
|
4
|
-
|
5
|
-
rake_extension("ext") do
|
6
|
-
# Replace the file extension with +newext+. If there is no extension on
|
7
|
-
# the string, append the new extension to the end. If the new extension
|
8
|
-
# is not given, or is the empty string, remove any existing extension.
|
9
|
-
#
|
10
|
-
# +ext+ is a user added method for the String class.
|
11
|
-
#
|
12
|
-
# This String extension comes from Rake
|
13
|
-
def ext(newext='')
|
14
|
-
return self.dup if ['.', '..'].include? self
|
15
|
-
newext = (newext =~ /^\./) ? newext : ("." + newext) if newext != ''
|
16
|
-
self.chomp(File.extname(self)) << newext
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
rake_extension("pathmap") do
|
21
|
-
# Explode a path into individual components. Used by +pathmap+.
|
22
|
-
#
|
23
|
-
# This String extension comes from Rake
|
24
|
-
def pathmap_explode
|
25
|
-
head, tail = File.split(self)
|
26
|
-
return [self] if head == self
|
27
|
-
return [tail] if head == '.' || tail == '/'
|
28
|
-
return [head, tail] if head == '/'
|
29
|
-
return head.pathmap_explode + [tail]
|
30
|
-
end
|
31
|
-
protected :pathmap_explode
|
32
|
-
|
33
|
-
# Extract a partial path from the path. Include +n+ directories from the
|
34
|
-
# front end (left hand side) if +n+ is positive. Include |+n+|
|
35
|
-
# directories from the back end (right hand side) if +n+ is negative.
|
36
|
-
#
|
37
|
-
# This String extension comes from Rake
|
38
|
-
def pathmap_partial(n)
|
39
|
-
dirs = File.dirname(self).pathmap_explode
|
40
|
-
partial_dirs =
|
41
|
-
if n > 0
|
42
|
-
dirs[0...n]
|
43
|
-
elsif n < 0
|
44
|
-
dirs.reverse[0...-n].reverse
|
45
|
-
else
|
46
|
-
"."
|
47
|
-
end
|
48
|
-
File.join(partial_dirs)
|
49
|
-
end
|
50
|
-
protected :pathmap_partial
|
51
|
-
|
52
|
-
# Preform the pathmap replacement operations on the given path. The
|
53
|
-
# patterns take the form 'pat1,rep1;pat2,rep2...'.
|
54
|
-
#
|
55
|
-
# This String extension comes from Rake
|
56
|
-
def pathmap_replace(patterns, &block)
|
57
|
-
result = self
|
58
|
-
patterns.split(';').each do |pair|
|
59
|
-
pattern, replacement = pair.split(',')
|
60
|
-
pattern = Regexp.new(pattern)
|
61
|
-
if replacement == '*' && block_given?
|
62
|
-
result = result.sub(pattern, &block)
|
63
|
-
elsif replacement
|
64
|
-
result = result.sub(pattern, replacement)
|
65
|
-
else
|
66
|
-
result = result.sub(pattern, '')
|
67
|
-
end
|
68
|
-
end
|
69
|
-
result
|
70
|
-
end
|
71
|
-
protected :pathmap_replace
|
72
|
-
|
73
|
-
# Map the path according to the given specification. The specification
|
74
|
-
# controls the details of the mapping. The following special patterns are
|
75
|
-
# recognized:
|
76
|
-
#
|
77
|
-
# <tt>%p</tt> :: The complete path.
|
78
|
-
# <tt>%f</tt> :: The base file name of the path, with its file extension,
|
79
|
-
# but without any directories.
|
80
|
-
# <tt>%n</tt> :: The file name of the path without its file extension.
|
81
|
-
# <tt>%d</tt> :: The directory list of the path.
|
82
|
-
# <tt>%x</tt> :: The file extension of the path. An empty string if there
|
83
|
-
# is no extension.
|
84
|
-
# <tt>%X</tt> :: Everything *but* the file extension.
|
85
|
-
# <tt>%s</tt> :: The alternate file separator if defined, otherwise use #
|
86
|
-
# the standard file separator.
|
87
|
-
# <tt>%%</tt> :: A percent sign.
|
88
|
-
#
|
89
|
-
# The <tt>%d</tt> specifier can also have a numeric prefix (e.g. '%2d').
|
90
|
-
# If the number is positive, only return (up to) +n+ directories in the
|
91
|
-
# path, starting from the left hand side. If +n+ is negative, return (up
|
92
|
-
# to) +n+ directories from the right hand side of the path.
|
93
|
-
#
|
94
|
-
# Examples:
|
95
|
-
#
|
96
|
-
# 'a/b/c/d/file.txt'.pathmap("%2d") => 'a/b'
|
97
|
-
# 'a/b/c/d/file.txt'.pathmap("%-2d") => 'c/d'
|
98
|
-
#
|
99
|
-
# Also the <tt>%d</tt>, <tt>%p</tt>, <tt>%f</tt>, <tt>%n</tt>,
|
100
|
-
# <tt>%x</tt>, and <tt>%X</tt> operators can take a pattern/replacement
|
101
|
-
# argument to perform simple string substitutions on a particular part of
|
102
|
-
# the path. The pattern and replacement are separated by a comma and are
|
103
|
-
# enclosed by curly braces. The replacement spec comes after the %
|
104
|
-
# character but before the operator letter. (e.g. "%{old,new}d").
|
105
|
-
# Multiple replacement specs should be separated by semi-colons (e.g.
|
106
|
-
# "%{old,new;src,bin}d").
|
107
|
-
#
|
108
|
-
# Regular expressions may be used for the pattern, and back refs may be
|
109
|
-
# used in the replacement text. Curly braces, commas and semi-colons are
|
110
|
-
# excluded from both the pattern and replacement text (let's keep parsing
|
111
|
-
# reasonable).
|
112
|
-
#
|
113
|
-
# For example:
|
114
|
-
#
|
115
|
-
# "src/org/onestepback/proj/A.java".pathmap("%{^src,class}X.class")
|
116
|
-
#
|
117
|
-
# returns:
|
118
|
-
#
|
119
|
-
# "class/org/onestepback/proj/A.class"
|
120
|
-
#
|
121
|
-
# If the replacement text is '*', then a block may be provided to perform
|
122
|
-
# some arbitrary calculation for the replacement.
|
123
|
-
#
|
124
|
-
# For example:
|
125
|
-
#
|
126
|
-
# "/path/to/file.TXT".pathmap("%X%{.*,*}x") { |ext|
|
127
|
-
# ext.downcase
|
128
|
-
# }
|
129
|
-
#
|
130
|
-
# Returns:
|
131
|
-
#
|
132
|
-
# "/path/to/file.txt"
|
133
|
-
#
|
134
|
-
# This String extension comes from Rake
|
135
|
-
def pathmap(spec=nil, &block)
|
136
|
-
return self if spec.nil?
|
137
|
-
result = ''
|
138
|
-
spec.scan(/%\{[^}]*\}-?\d*[sdpfnxX%]|%-?\d+d|%.|[^%]+/) do |frag|
|
139
|
-
case frag
|
140
|
-
when '%f'
|
141
|
-
result << File.basename(self)
|
142
|
-
when '%n'
|
143
|
-
result << File.basename(self).ext
|
144
|
-
when '%d'
|
145
|
-
result << File.dirname(self)
|
146
|
-
when '%x'
|
147
|
-
result << File.extname(self)
|
148
|
-
when '%X'
|
149
|
-
result << self.ext
|
150
|
-
when '%p'
|
151
|
-
result << self
|
152
|
-
when '%s'
|
153
|
-
result << (File::ALT_SEPARATOR || File::SEPARATOR)
|
154
|
-
when '%-'
|
155
|
-
# do nothing
|
156
|
-
when '%%'
|
157
|
-
result << "%"
|
158
|
-
when /%(-?\d+)d/
|
159
|
-
result << pathmap_partial($1.to_i)
|
160
|
-
when /^%\{([^}]*)\}(\d*[dpfnxX])/
|
161
|
-
patterns, operator = $1, $2
|
162
|
-
result << pathmap('%' + operator).pathmap_replace(patterns, &block)
|
163
|
-
when /^%/
|
164
|
-
fail ArgumentError, "Unknown pathmap specifier #{frag} in '#{spec}'"
|
165
|
-
else
|
166
|
-
result << frag
|
167
|
-
end
|
168
|
-
end
|
169
|
-
result
|
170
|
-
end
|
171
|
-
end
|
172
|
-
|
173
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Extensions to time to allow comparisons with an early time class.
|
3
|
-
|
4
|
-
require 'rake/early_time'
|
5
|
-
|
6
|
-
class Time # :nodoc: all
|
7
|
-
alias rake_original_time_compare :<=>
|
8
|
-
def <=>(other)
|
9
|
-
if Rake::EarlyTime === other
|
10
|
-
- other.<=>(self)
|
11
|
-
else
|
12
|
-
rake_original_time_compare(other)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
require 'rake/file_task'
|
2
|
-
require 'rake/early_time'
|
3
|
-
|
4
|
-
module Rake
|
5
|
-
|
6
|
-
# A FileCreationTask is a file task that when used as a dependency will be
|
7
|
-
# needed if and only if the file has not been created. Once created, it is
|
8
|
-
# not re-triggered if any of its dependencies are newer, nor does trigger
|
9
|
-
# any rebuilds of tasks that depend on it whenever it is updated.
|
10
|
-
#
|
11
|
-
class FileCreationTask < FileTask
|
12
|
-
# Is this file task needed? Yes if it doesn't exist.
|
13
|
-
def needed?
|
14
|
-
! File.exist?(name)
|
15
|
-
end
|
16
|
-
|
17
|
-
# Time stamp for file creation task. This time stamp is earlier
|
18
|
-
# than any other time stamp.
|
19
|
-
def timestamp
|
20
|
-
Rake::EARLY
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
end
|