saikouda 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +8 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +22 -0
- data/LICENSE.txt +21 -0
- data/README.md +43 -0
- data/Rakefile +2 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/exe/saikouda +5 -0
- data/lib/saikouda/cli.rb +106 -0
- data/lib/saikouda/version.rb +3 -0
- data/lib/saikouda.rb +7 -0
- data/saikouda.gemspec +34 -0
- data/vendor/bundle/bin/rake +27 -0
- data/vendor/bundle/bin/saikouda +27 -0
- data/vendor/bundle/bin/thor +27 -0
- data/vendor/bundle/cache/rake-10.5.0.gem +0 -0
- data/vendor/bundle/cache/thor-0.20.3.gem +0 -0
- data/vendor/bundle/gems/rake-10.5.0/.autotest +7 -0
- data/vendor/bundle/gems/rake-10.5.0/.rubocop.yml +27 -0
- data/vendor/bundle/gems/rake-10.5.0/.togglerc +7 -0
- data/vendor/bundle/gems/rake-10.5.0/CONTRIBUTING.rdoc +38 -0
- data/vendor/bundle/gems/rake-10.5.0/History.rdoc +659 -0
- data/vendor/bundle/gems/rake-10.5.0/MIT-LICENSE +21 -0
- data/vendor/bundle/gems/rake-10.5.0/Manifest.txt +166 -0
- data/vendor/bundle/gems/rake-10.5.0/README.rdoc +139 -0
- data/vendor/bundle/gems/rake-10.5.0/Rakefile +81 -0
- data/vendor/bundle/gems/rake-10.5.0/bin/rake +33 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/command_line_usage.rdoc +158 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/example/Rakefile1 +38 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/example/Rakefile2 +35 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/example/a.c +6 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/example/b.c +6 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/example/main.c +11 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/glossary.rdoc +42 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/jamis.rb +591 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/proto_rake.rdoc +127 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/rake.1 +141 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/rakefile.rdoc +624 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/rational.rdoc +151 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +23 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +35 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +53 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +78 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +46 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +141 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +119 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +59 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +121 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +47 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +114 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +165 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +112 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +147 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +53 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +37 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +55 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +112 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +52 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +49 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +102 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +60 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +55 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +64 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +178 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +58 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +53 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +191 -0
- data/vendor/bundle/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +61 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/alt_system.rb +110 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/application.rb +790 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/backtrace.rb +23 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/clean.rb +76 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/cloneable.rb +16 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/.document +1 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +21 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +137 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +81 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +18 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +61 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/contrib/sys.rb +4 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/cpu_counter.rb +125 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/default_loader.rb +14 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/dsl_definition.rb +201 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/early_time.rb +21 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/core.rb +25 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/module.rb +2 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/pathname.rb +25 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/string.rb +175 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/ext/time.rb +18 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_creation_task.rb +24 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_list.rb +428 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_task.rb +46 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_utils.rb +128 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +144 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/gempackagetask.rb +4 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/invocation_chain.rb +56 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +16 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/late_time.rb +17 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/linked_list.rb +103 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +53 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/multi_task.rb +13 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/name_space.rb +38 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/packagetask.rb +199 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/pathmap.rb +3 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/phony.rb +15 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/private_reader.rb +20 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/promise.rb +99 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/pseudo_status.rb +29 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/rake_module.rb +38 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +22 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/rdoctask.rb +4 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +29 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/runtest.rb +27 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/scope.rb +42 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/task.rb +383 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_argument_error.rb +7 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_arguments.rb +98 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/task_manager.rb +307 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/tasklib.rb +24 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/testtask.rb +213 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/thread_history_display.rb +48 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/thread_pool.rb +164 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/trace_output.rb +22 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/version.rb +7 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake/win32.rb +56 -0
- data/vendor/bundle/gems/rake-10.5.0/lib/rake.rb +79 -0
- data/vendor/bundle/gems/rake-10.5.0/rakelib/publish.rake +20 -0
- data/vendor/bundle/gems/rake-10.5.0/rakelib/test_times.rake +25 -0
- data/vendor/bundle/gems/rake-10.5.0/test/file_creation.rb +34 -0
- data/vendor/bundle/gems/rake-10.5.0/test/helper.rb +129 -0
- data/vendor/bundle/gems/rake-10.5.0/test/support/rakefile_definitions.rb +478 -0
- data/vendor/bundle/gems/rake-10.5.0/test/support/ruby_runner.rb +34 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_private_reader.rb +42 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake.rb +40 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_application.rb +643 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_application_options.rb +468 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_backtrace.rb +119 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_clean.rb +61 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +68 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_definitions.rb +84 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_directory_task.rb +76 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_dsl.rb +40 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_early_time.rb +31 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_extension.rb +59 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +56 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_list.rb +670 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +8 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_task.rb +197 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_file_utils.rb +314 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_ftp_file.rb +74 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_functional.rb +482 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +64 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_late_time.rb +18 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_linked_list.rb +84 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +46 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_multi_task.rb +64 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_name_space.rb +57 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_package_task.rb +79 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map.rb +168 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +34 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +18 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +15 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +21 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +20 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +26 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_require.rb +40 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_rules.rb +388 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_scope.rb +44 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task.rb +393 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +119 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_arguments.rb +127 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_lib.rb +9 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_manager.rb +178 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +19 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +172 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_test_task.rb +146 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_thread_pool.rb +145 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +71 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_rake_win32.rb +72 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_thread_history_display.rb +101 -0
- data/vendor/bundle/gems/rake-10.5.0/test/test_trace_output.rb +52 -0
- data/vendor/bundle/gems/thor-0.20.3/.document +5 -0
- data/vendor/bundle/gems/thor-0.20.3/CHANGELOG.md +204 -0
- data/vendor/bundle/gems/thor-0.20.3/CONTRIBUTING.md +15 -0
- data/vendor/bundle/gems/thor-0.20.3/LICENSE.md +20 -0
- data/vendor/bundle/gems/thor-0.20.3/README.md +51 -0
- data/vendor/bundle/gems/thor-0.20.3/bin/thor +6 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/actions/create_file.rb +104 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/actions/create_link.rb +60 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/actions/directory.rb +118 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/actions/empty_directory.rb +143 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/actions/file_manipulation.rb +373 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/actions/inject_into_file.rb +109 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/actions.rb +331 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/base.rb +678 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/command.rb +135 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/core_ext/hash_with_indifferent_access.rb +97 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/core_ext/io_binary_read.rb +12 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/core_ext/ordered_hash.rb +129 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/error.rb +114 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/group.rb +281 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/invocation.rb +177 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/line_editor/basic.rb +37 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/line_editor/readline.rb +88 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/line_editor.rb +17 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/parser/argument.rb +70 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/parser/arguments.rb +175 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/parser/option.rb +146 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/parser/options.rb +226 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/parser.rb +4 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/rake_compat.rb +71 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/runner.rb +324 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/shell/basic.rb +482 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/shell/color.rb +149 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/shell/html.rb +126 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/shell.rb +81 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/util.rb +268 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor/version.rb +3 -0
- data/vendor/bundle/gems/thor-0.20.3/lib/thor.rb +509 -0
- data/vendor/bundle/gems/thor-0.20.3/thor.gemspec +21 -0
- data/vendor/bundle/specifications/rake-10.5.0.gemspec +43 -0
- data/vendor/bundle/specifications/thor-0.20.3.gemspec +35 -0
- metadata +314 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
= Original Prototype Rake
|
|
2
|
+
|
|
3
|
+
This is the original 100 line prototype rake program.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
#!/usr/bin/env ruby
|
|
7
|
+
|
|
8
|
+
require 'ftools'
|
|
9
|
+
|
|
10
|
+
class Task
|
|
11
|
+
TASKS = Hash.new
|
|
12
|
+
|
|
13
|
+
attr_reader :prerequisites
|
|
14
|
+
|
|
15
|
+
def initialize(task_name)
|
|
16
|
+
@name = task_name
|
|
17
|
+
@prerequisites = []
|
|
18
|
+
@actions = []
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def enhance(deps=nil, &block)
|
|
22
|
+
@prerequisites |= deps if deps
|
|
23
|
+
@actions << block if block_given?
|
|
24
|
+
self
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def name
|
|
28
|
+
@name.to_s
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def invoke
|
|
32
|
+
@prerequisites.each { |n| Task[n].invoke }
|
|
33
|
+
execute if needed?
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def execute
|
|
37
|
+
return if @triggered
|
|
38
|
+
@triggered = true
|
|
39
|
+
@actions.collect { |act| result = act.call(self) }.last
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def needed?
|
|
43
|
+
true
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def timestamp
|
|
47
|
+
Time.now
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
class << self
|
|
51
|
+
def [](task_name)
|
|
52
|
+
TASKS[intern(task_name)] or fail "Don't know how to rake #{task_name}"
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def define_task(args, &block)
|
|
56
|
+
case args
|
|
57
|
+
when Hash
|
|
58
|
+
fail "Too Many Target Names: #{args.keys.join(' ')}" if args.size > 1
|
|
59
|
+
fail "No Task Name Given" if args.size < 1
|
|
60
|
+
task_name = args.keys[0]
|
|
61
|
+
deps = args[task_name]
|
|
62
|
+
else
|
|
63
|
+
task_name = args
|
|
64
|
+
deps = []
|
|
65
|
+
end
|
|
66
|
+
deps = deps.collect {|d| intern(d) }
|
|
67
|
+
get(task_name).enhance(deps, &block)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def get(task_name)
|
|
71
|
+
name = intern(task_name)
|
|
72
|
+
TASKS[name] ||= self.new(name)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def intern(task_name)
|
|
76
|
+
(Symbol === task_name) ? task_name : task_name.intern
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
class FileTask < Task
|
|
82
|
+
def needed?
|
|
83
|
+
return true unless File.exist?(name)
|
|
84
|
+
latest_prereq = @prerequisites.collect{|n| Task[n].timestamp}.max
|
|
85
|
+
return false if latest_prereq.nil?
|
|
86
|
+
timestamp < latest_prereq
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def timestamp
|
|
90
|
+
File.new(name.to_s).mtime
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def task(args, &block)
|
|
95
|
+
Task.define_task(args, &block)
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def file(args, &block)
|
|
99
|
+
FileTask.define_task(args, &block)
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def sys(cmd)
|
|
103
|
+
puts cmd
|
|
104
|
+
system(cmd) or fail "Command Failed: [#{cmd}]"
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def rake
|
|
108
|
+
begin
|
|
109
|
+
here = Dir.pwd
|
|
110
|
+
while ! File.exist?("Rakefile")
|
|
111
|
+
Dir.chdir("..")
|
|
112
|
+
fail "No Rakefile found" if Dir.pwd == here
|
|
113
|
+
here = Dir.pwd
|
|
114
|
+
end
|
|
115
|
+
puts "(in #{Dir.pwd})"
|
|
116
|
+
load "./Rakefile"
|
|
117
|
+
ARGV.push("default") if ARGV.size == 0
|
|
118
|
+
ARGV.each { |task_name| Task[task_name].invoke }
|
|
119
|
+
rescue Exception => ex
|
|
120
|
+
puts "rake aborted ... #{ex.message}"
|
|
121
|
+
puts ex.backtrace.find {|str| str =~ /Rakefile/ } || ""
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
if __FILE__ == $0 then
|
|
126
|
+
rake
|
|
127
|
+
end
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
.\" Hey, EMACS: -*- nroff -*-
|
|
2
|
+
.\" First parameter, NAME, should be all caps
|
|
3
|
+
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
|
4
|
+
.\" other parameters are allowed: see man(7), man(1)
|
|
5
|
+
.TH RAKE 1 "December 3, 2014" "rake 10.4.2" "Rake User Commands"
|
|
6
|
+
.\" Please adjust this date whenever revising the manpage.
|
|
7
|
+
.\"
|
|
8
|
+
.\" Some roff macros, for reference:
|
|
9
|
+
.\" .nh disable hyphenation
|
|
10
|
+
.\" .hy enable hyphenation
|
|
11
|
+
.\" .ad l left justify
|
|
12
|
+
.\" .ad b justify to both left and right margins
|
|
13
|
+
.\" .nf disable filling
|
|
14
|
+
.\" .fi enable filling
|
|
15
|
+
.\" .br insert line break
|
|
16
|
+
.\" .sp <n> insert n+1 empty lines
|
|
17
|
+
.\" for manpage-specific macros, see man(7)
|
|
18
|
+
.SH NAME
|
|
19
|
+
rake \- a make-like build utility for Ruby
|
|
20
|
+
.SH SYNOPSIS
|
|
21
|
+
\fBrake\fR [\fI\-f rakefile\fR] {\fIOPTIONS\fR} \fITARGETS...\fR
|
|
22
|
+
.br
|
|
23
|
+
.SH DESCRIPTION
|
|
24
|
+
.B rake
|
|
25
|
+
is a make-like build utility for Ruby. Tasks and dependencies are specified in
|
|
26
|
+
standard Ruby syntax.
|
|
27
|
+
.SH OPTIONS
|
|
28
|
+
.TP
|
|
29
|
+
\fB\-m\fR, \fB\-\-multitask\fR
|
|
30
|
+
Treat all tasks as multitasks.
|
|
31
|
+
.TP
|
|
32
|
+
\fB\-B\fR, \fB\-\-build\-all\fR
|
|
33
|
+
Build all prerequisites, including those which are up\-to\-date.
|
|
34
|
+
|
|
35
|
+
.TP
|
|
36
|
+
\fB\-j\fR, \fB\-\-jobs\fR [\fINUMBER\fR]
|
|
37
|
+
Specifies the maximum number of tasks to execute in parallel (default is number of CPU cores + 4).
|
|
38
|
+
|
|
39
|
+
.SS Modules
|
|
40
|
+
.TP
|
|
41
|
+
\fB\-I\fR, \fB\-\-libdir\fR \fILIBDIR\fR
|
|
42
|
+
Include \fILIBDIR\fR in the search path for required modules.
|
|
43
|
+
.TP
|
|
44
|
+
\fB\-r\fR, \fB\-\-require\fR \fIMODULE\fR
|
|
45
|
+
Require \fIMODULE\fR before executing rakefile.
|
|
46
|
+
|
|
47
|
+
.SS Rakefile location
|
|
48
|
+
.TP
|
|
49
|
+
\fB\-f\fR, \fB\-\-rakefile\fR [\fIFILENAME\fR]
|
|
50
|
+
Use \fIFILENAME\fR as the rakefile to search for.
|
|
51
|
+
.TP
|
|
52
|
+
\fB\-N\fR, \fB\-\-no\-search\fR, \fB\-\-nosearch\fR
|
|
53
|
+
Do not search parent directories for the Rakefile.
|
|
54
|
+
.TP
|
|
55
|
+
\fB\-G\fR, \fB\-\-no\-system\fR, \fB\-\-nosystem\fR
|
|
56
|
+
Use standard project Rakefile search paths, ignore system wide rakefiles.
|
|
57
|
+
.TP
|
|
58
|
+
\fB\-R\fR, \fB\-\-rakelibdir\fR \fIRAKELIBDIR\fR
|
|
59
|
+
Auto\-import any .rake files in \fIRAKELIBDIR\fR (default is 'rakelib')
|
|
60
|
+
.HP
|
|
61
|
+
\fB\-\-rakelib\fR
|
|
62
|
+
.TP
|
|
63
|
+
\fB\-g\fR, \fB\-\-system\fR
|
|
64
|
+
Using system wide (global) rakefiles (usually '\fI~/.rake/*.rake\fR').
|
|
65
|
+
|
|
66
|
+
.SS Debugging
|
|
67
|
+
.TP
|
|
68
|
+
\fB\-\-backtrace\fR=\fI\,[OUT]\/\fR
|
|
69
|
+
Enable full backtrace. \fIOUT\fR can be stderr (default) or stdout.
|
|
70
|
+
.TP
|
|
71
|
+
\fB\-t\fR, \fB\-\-trace\fR=\fI\,[OUT]\/\fR
|
|
72
|
+
Turn on invoke/execute tracing, enable full backtrace. \fIOUT\fR can be stderr (default) or stdout.
|
|
73
|
+
.TP
|
|
74
|
+
\fB\-\-suppress\-backtrace\fR \fIPATTERN\fR
|
|
75
|
+
Suppress backtrace lines matching regexp \fIPATTERN\fR. Ignored if \fI\-\-trace\fR is on.
|
|
76
|
+
.TP
|
|
77
|
+
\fB\-\-rules\fR
|
|
78
|
+
Trace the rules resolution.
|
|
79
|
+
|
|
80
|
+
.TP
|
|
81
|
+
\fB\-n\fR, \fB\-\-dry\-run\fR
|
|
82
|
+
Do a dry run without executing actions.
|
|
83
|
+
.TP
|
|
84
|
+
\fB\-T\fR, \fB\-\-tasks\fR [\fIPATTERN\fR]
|
|
85
|
+
Display the tasks (matching optional \fIPATTERN\fR) with descriptions, then exit.
|
|
86
|
+
.TP
|
|
87
|
+
\fB\-D\fR, \fB\-\-describe\fR [\fIPATTERN\fR]
|
|
88
|
+
Describe the tasks (matching optional \fIPATTERN\fR), then exit.
|
|
89
|
+
.TP
|
|
90
|
+
\fB\-W\fR, \fB\-\-where\fR [\fIPATTERN\fR]
|
|
91
|
+
Describe the tasks (matching optional \fIPATTERN\fR), then exit.
|
|
92
|
+
.TP
|
|
93
|
+
\fB\-P\fR, \fB\-\-prereqs\fR
|
|
94
|
+
Display the tasks and dependencies, then exit.
|
|
95
|
+
|
|
96
|
+
.TP
|
|
97
|
+
\fB\-e\fR, \fB\-\-execute\fR \fICODE\fR
|
|
98
|
+
Execute some Ruby code and exit.
|
|
99
|
+
.TP
|
|
100
|
+
\fB\-p\fR, \fB\-\-execute\-print\fR \fICODE\fR
|
|
101
|
+
Execute some Ruby code, print the result, then exit.
|
|
102
|
+
.TP
|
|
103
|
+
\fB\-E\fR, \fB\-\-execute\-continue\fR \fICODE\fR
|
|
104
|
+
Execute some Ruby code, then continue with normal task processing.
|
|
105
|
+
|
|
106
|
+
.SS Information
|
|
107
|
+
.TP
|
|
108
|
+
\fB\-v\fR, \fB\-\-verbose\fR
|
|
109
|
+
Log message to standard output.
|
|
110
|
+
.TP
|
|
111
|
+
\fB\-q\fR, \fB\-\-quiet\fR
|
|
112
|
+
Do not log messages to standard output.
|
|
113
|
+
.TP
|
|
114
|
+
\fB\-s\fR, \fB\-\-silent\fR
|
|
115
|
+
Like \fB\-\-quiet\fR, but also suppresses the 'in directory' announcement.
|
|
116
|
+
.TP
|
|
117
|
+
\fB\-X\fR, \fB\-\-no\-deprecation\-warnings\fR
|
|
118
|
+
Disable the deprecation warnings.
|
|
119
|
+
.TP
|
|
120
|
+
\fB\-\-comments\fR
|
|
121
|
+
Show commented tasks only
|
|
122
|
+
.TP
|
|
123
|
+
\fB\-A\fR, \fB\-\-all\fR
|
|
124
|
+
Show all tasks, even uncommented ones (in combination with \fB\-T\fR or \fB\-D\fR)
|
|
125
|
+
.TP
|
|
126
|
+
\fB\-\-job\-stats\fR [\fILEVEL\fR]
|
|
127
|
+
Display job statistics. \fILEVEL=history\fR displays a complete job list
|
|
128
|
+
.TP
|
|
129
|
+
\fB\-V\fR, \fB\-\-version\fR
|
|
130
|
+
Display the program version.
|
|
131
|
+
.TP
|
|
132
|
+
\fB\-h\fR, \fB\-H\fR, \fB\-\-help\fR
|
|
133
|
+
Display a help message.
|
|
134
|
+
|
|
135
|
+
.SH SEE ALSO
|
|
136
|
+
The complete documentation for \fBrake\fR has been installed at \fI/usr/share/doc/rake-doc/html/index.html\fR. It is also available online at \fIhttp://docs.seattlerb.org/rake\fR.
|
|
137
|
+
.SH AUTHOR
|
|
138
|
+
.B rake
|
|
139
|
+
was written by Jim Weirich <jim@weirichhouse.org>
|
|
140
|
+
.PP
|
|
141
|
+
This manual was created by Caitlin Matos <caitlin.matos@zoho.com> for the Debian project (but may be used by others). It was inspired by the manual by Jani Monoses <jani@iv.ro> for the Ubuntu project.
|