tap 0.9.0 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Basic Overview b/data/Basic → Overview +0 -0
- data/Command Reference b/data/Command → Reference +0 -0
- data/History +14 -4
- data/MIT-LICENSE +0 -0
- data/README +0 -0
- data/Rakefile +0 -0
- data/Tutorial +0 -0
- data/bin/tap +11 -14
- data/lib/tap.rb +10 -1
- data/lib/tap/app.rb +1 -1
- data/lib/tap/cmd/console.rb +2 -6
- data/lib/tap/cmd/destroy.rb +0 -0
- data/lib/tap/cmd/generate.rb +0 -0
- data/lib/tap/cmd/run.rb +72 -77
- data/lib/tap/constants.rb +33 -2
- data/lib/tap/dump.rb +0 -0
- data/lib/tap/env.rb +40 -21
- data/lib/tap/file_task.rb +0 -0
- data/lib/tap/generator.rb +0 -0
- data/lib/tap/generator/generators/command/USAGE +0 -0
- data/lib/tap/generator/generators/command/command_generator.rb +0 -0
- data/lib/tap/generator/generators/command/templates/command.erb +2 -6
- data/lib/tap/generator/generators/config/USAGE +0 -0
- data/lib/tap/generator/generators/config/config_generator.rb +0 -0
- data/lib/tap/generator/generators/config/templates/config.erb +0 -0
- data/lib/tap/generator/generators/file_task/USAGE +0 -0
- data/lib/tap/generator/generators/file_task/file_task_generator.rb +0 -0
- data/lib/tap/generator/generators/file_task/templates/file.txt +0 -0
- data/lib/tap/generator/generators/file_task/templates/file.yml +0 -0
- data/lib/tap/generator/generators/file_task/templates/task.erb +0 -0
- data/lib/tap/generator/generators/file_task/templates/test.erb +0 -0
- data/lib/tap/generator/generators/generator/USAGE +0 -0
- data/lib/tap/generator/generators/generator/generator_generator.rb +0 -0
- data/lib/tap/generator/generators/generator/templates/generator.erb +0 -0
- data/lib/tap/generator/generators/generator/templates/usage.erb +0 -0
- data/lib/tap/generator/generators/root/USAGE +0 -0
- data/lib/tap/generator/generators/root/root_generator.rb +0 -0
- data/lib/tap/generator/generators/root/templates/Rakefile +0 -0
- data/lib/tap/generator/generators/root/templates/ReadMe.txt +0 -0
- data/lib/tap/generator/generators/root/templates/tap.yml +1 -0
- data/lib/tap/generator/generators/root/templates/test/tap_test_helper.rb +0 -0
- data/lib/tap/generator/generators/root/templates/test/tap_test_suite.rb +0 -0
- data/lib/tap/generator/generators/task/USAGE +0 -0
- data/lib/tap/generator/generators/task/task_generator.rb +0 -0
- data/lib/tap/generator/generators/task/templates/task.erb +0 -0
- data/lib/tap/generator/generators/task/templates/test.erb +0 -0
- data/lib/tap/generator/generators/workflow/USAGE +0 -0
- data/lib/tap/generator/generators/workflow/templates/task.erb +0 -0
- data/lib/tap/generator/generators/workflow/templates/test.erb +0 -0
- data/lib/tap/generator/generators/workflow/workflow_generator.rb +0 -0
- data/lib/tap/generator/options.rb +0 -0
- data/lib/tap/generator/usage.rb +0 -0
- data/lib/tap/patches/rake/rake_test_loader.rb +0 -0
- data/lib/tap/patches/rake/testtask.rb +0 -0
- data/lib/tap/patches/ruby19/backtrace_filter.rb +0 -0
- data/lib/tap/patches/ruby19/parsedate.rb +0 -0
- data/lib/tap/root.rb +0 -0
- data/lib/tap/support/aggregator.rb +0 -0
- data/lib/tap/support/audit.rb +0 -0
- data/lib/tap/support/batchable.rb +2 -25
- data/lib/tap/support/batchable_methods.rb +34 -0
- data/lib/tap/support/class_configuration.rb +0 -0
- data/lib/tap/support/command_line.rb +103 -0
- data/lib/tap/support/command_line_methods.rb +76 -0
- data/lib/tap/support/configurable.rb +1 -0
- data/lib/tap/support/configurable_methods.rb +1 -73
- data/lib/tap/support/executable.rb +0 -0
- data/lib/tap/support/executable_queue.rb +0 -0
- data/lib/tap/support/logger.rb +0 -0
- data/lib/tap/support/rake.rb +0 -0
- data/lib/tap/support/run_error.rb +0 -0
- data/lib/tap/support/shell_utils.rb +0 -0
- data/lib/tap/support/tdoc.rb +0 -0
- data/lib/tap/support/tdoc/config_attr.rb +0 -0
- data/lib/tap/support/tdoc/tdoc_html_generator.rb +0 -0
- data/lib/tap/support/tdoc/tdoc_html_template.rb +0 -0
- data/lib/tap/support/validation.rb +0 -0
- data/lib/tap/support/versions.rb +0 -0
- data/lib/tap/task.rb +1 -0
- data/lib/tap/test.rb +0 -0
- data/lib/tap/test/env_vars.rb +0 -0
- data/lib/tap/test/file_methods.rb +1 -1
- data/lib/tap/test/subset_methods.rb +0 -0
- data/lib/tap/test/tap_methods.rb +0 -0
- data/lib/tap/workflow.rb +1 -0
- data/test/app/config/another/task.yml +0 -0
- data/test/app/config/batch.yml +0 -0
- data/test/app/config/empty.yml +0 -0
- data/test/app/config/erb.yml +0 -0
- data/test/app/config/some/task.yml +0 -0
- data/test/app/config/template.yml +0 -0
- data/test/app/config/version-0.1.yml +0 -0
- data/test/app/config/version.yml +0 -0
- data/test/app/lib/app_test_task.rb +0 -0
- data/test/app_test.rb +0 -0
- data/test/env/test_configure/recurse_a.yml +0 -0
- data/test/env/test_configure/recurse_b.yml +0 -0
- data/test/env/test_configure/tap.yml +0 -0
- data/test/env/test_load_env_config/dir/tap.yml +0 -0
- data/test/env/test_load_env_config/recurse_a.yml +0 -0
- data/test/env/test_load_env_config/recurse_b.yml +0 -0
- data/test/env/test_load_env_config/tap.yml +0 -0
- data/test/env_test.rb +0 -0
- data/test/file_task/config/batch.yml +0 -0
- data/test/file_task/config/configured.yml +0 -0
- data/test/file_task/old_file_one.txt +0 -0
- data/test/file_task/old_file_two.txt +0 -0
- data/test/file_task_test.rb +0 -0
- data/test/root/alt_lib/alt_module.rb +0 -0
- data/test/root/file.txt +0 -0
- data/test/root/glob/one.txt +0 -0
- data/test/root/glob/two.txt +0 -0
- data/test/root/lib/absolute_alt_filepath.rb +0 -0
- data/test/root/lib/alternative_filepath.rb +0 -0
- data/test/root/lib/another_module.rb +0 -0
- data/test/root/lib/nested/some_module.rb +0 -0
- data/test/root/lib/no_module_included.rb +0 -0
- data/test/root/lib/some/module.rb +0 -0
- data/test/root/lib/some_class.rb +0 -0
- data/test/root/lib/some_module.rb +0 -0
- data/test/root/load_path/load_path_module.rb +0 -0
- data/test/root/load_path/skip_module.rb +0 -0
- data/test/root/mtime/older.txt +0 -0
- data/test/root/unload/full_path.rb +0 -0
- data/test/root/unload/loaded_by_nested.rb +0 -0
- data/test/root/unload/nested/nested_load.rb +0 -0
- data/test/root/unload/nested/nested_with_ext.rb +0 -0
- data/test/root/unload/nested/relative_path.rb +0 -0
- data/test/root/unload/older.rb +0 -0
- data/test/root/unload/unload_base.rb +0 -0
- data/test/root/versions/another.yml +0 -0
- data/test/root/versions/file-0.1.2.yml +0 -0
- data/test/root/versions/file-0.1.yml +0 -0
- data/test/root/versions/file.yml +0 -0
- data/test/root_test.rb +0 -0
- data/test/support/aggregator_test.rb +0 -0
- data/test/support/audit_test.rb +0 -0
- data/test/support/batchable_test.rb +0 -0
- data/test/support/class_configuration_test.rb +0 -0
- data/test/{script_test.rb → support/command_line_test.rb} +21 -21
- data/test/support/configurable/config/configured.yml +0 -0
- data/test/support/configurable_test.rb +0 -0
- data/test/support/executable_queue_test.rb +0 -0
- data/test/support/executable_test.rb +0 -0
- data/test/support/logger_test.rb +0 -0
- data/test/support/rake_test.rb +0 -0
- data/test/support/shell_utils_test.rb +0 -0
- data/test/support/tdoc_test.rb +0 -0
- data/test/support/validation_test.rb +0 -0
- data/test/support/versions_test.rb +0 -0
- data/test/tap_test_helper.rb +0 -0
- data/test/tap_test_suite.rb +0 -0
- data/test/task/config/batch.yml +0 -0
- data/test/task/config/batched.yml +0 -0
- data/test/task/config/configured.yml +0 -0
- data/test/task/config/example.yml +0 -0
- data/test/task_base_test.rb +0 -0
- data/test/task_syntax_test.rb +0 -0
- data/test/task_test.rb +0 -0
- data/test/test/env_vars_test.rb +0 -0
- data/test/test/file_methods/test_assert_files/expected/one.txt +0 -0
- data/test/test/file_methods/test_assert_files/expected/two.txt +0 -0
- data/test/test/file_methods/test_assert_files/input/one.txt +0 -0
- data/test/test/file_methods/test_assert_files/input/two.txt +0 -0
- data/test/test/file_methods/test_assert_files_can_have_no_expected_files_if_specified/input/one.txt +0 -0
- data/test/test/file_methods/test_assert_files_can_have_no_expected_files_if_specified/input/two.txt +0 -0
- data/test/test/file_methods/test_assert_files_fails_for_different_content/expected/one.txt +0 -0
- data/test/test/file_methods/test_assert_files_fails_for_different_content/expected/two.txt +0 -0
- data/test/test/file_methods/test_assert_files_fails_for_different_content/input/one.txt +0 -0
- data/test/test/file_methods/test_assert_files_fails_for_different_content/input/two.txt +0 -0
- data/test/test/file_methods/test_assert_files_fails_for_missing_expected_file/expected/one.txt +0 -0
- data/test/test/file_methods/test_assert_files_fails_for_missing_expected_file/input/one.txt +0 -0
- data/test/test/file_methods/test_assert_files_fails_for_missing_expected_file/input/two.txt +0 -0
- data/test/test/file_methods/test_assert_files_fails_for_missing_output_file/expected/one.txt +0 -0
- data/test/test/file_methods/test_assert_files_fails_for_missing_output_file/expected/two.txt +0 -0
- data/test/test/file_methods/test_assert_files_fails_for_missing_output_file/input/one.txt +0 -0
- data/test/test/file_methods/test_assert_files_fails_for_missing_output_file/input/two.txt +0 -0
- data/test/test/file_methods/test_assert_files_fails_for_no_expected_files/input/one.txt +0 -0
- data/test/test/file_methods/test_assert_files_fails_for_no_expected_files/input/two.txt +0 -0
- data/test/test/file_methods/test_method_glob/expected/file.yml +0 -0
- data/test/test/file_methods/test_method_glob/expected/file_1.txt +0 -0
- data/test/test/file_methods/test_method_glob/expected/file_2.txt +0 -0
- data/test/test/file_methods_doc/test_sub/expected/one.txt +0 -0
- data/test/test/file_methods_doc/test_sub/expected/two.txt +0 -0
- data/test/test/file_methods_doc/test_sub/input/one.txt +0 -0
- data/test/test/file_methods_doc/test_sub/input/two.txt +0 -0
- data/test/test/file_methods_doc_test.rb +0 -0
- data/test/test/file_methods_test.rb +0 -0
- data/test/test/subset_methods_test.rb +0 -0
- data/test/test/tap_methods/test_assert_files/expected/task/name/a.txt +0 -0
- data/test/test/tap_methods/test_assert_files/expected/task/name/b.txt +0 -0
- data/test/test/tap_methods/test_assert_files/input/a.txt +0 -0
- data/test/test/tap_methods/test_assert_files/input/b.txt +0 -0
- data/test/test/tap_methods_test.rb +0 -0
- data/test/workflow_test.rb +0 -0
- data/vendor/rails_generator.rb +0 -0
- data/vendor/rails_generator/base.rb +0 -0
- data/vendor/rails_generator/commands.rb +0 -0
- data/vendor/rails_generator/generated_attribute.rb +0 -0
- data/vendor/rails_generator/lookup.rb +0 -0
- data/vendor/rails_generator/manifest.rb +0 -0
- data/vendor/rails_generator/options.rb +0 -0
- data/vendor/rails_generator/scripts.rb +0 -0
- data/vendor/rails_generator/scripts/destroy.rb +0 -0
- data/vendor/rails_generator/scripts/generate.rb +0 -0
- data/vendor/rails_generator/scripts/update.rb +0 -0
- data/vendor/rails_generator/simple_logger.rb +0 -0
- data/vendor/rails_generator/spec.rb +0 -0
- metadata +7 -5
- data/lib/tap/script.rb +0 -96
data/lib/tap/script.rb
DELETED
@@ -1,96 +0,0 @@
|
|
1
|
-
require 'getoptlong'
|
2
|
-
autoload(:PP, "pp")
|
3
|
-
|
4
|
-
module Tap
|
5
|
-
# == UNDER CONSTRUCTION
|
6
|
-
#
|
7
|
-
# Script is a mixed bag of methods encapsulating many scripting
|
8
|
-
# functions like handling options and assembling usage information.
|
9
|
-
module Script
|
10
|
-
module_function
|
11
|
-
|
12
|
-
# Parses the input string as YAML, if the string matches the YAML document
|
13
|
-
# specifier (ie it begins with "---\s*\n"). Otherwise returns the string.
|
14
|
-
#
|
15
|
-
# str = {'key' => 'value'}.to_yaml # => "--- \nkey: value\n"
|
16
|
-
# Tap::Script.parse_yaml(str) # => {'key' => 'value'}
|
17
|
-
# Tap::Script.parse_yaml("str") # => "str"
|
18
|
-
def parse_yaml(str)
|
19
|
-
str =~ /\A---\s*\n/ ? YAML.load(str) : str
|
20
|
-
end
|
21
|
-
|
22
|
-
def split_argv(argv)
|
23
|
-
current = []
|
24
|
-
current_split = []
|
25
|
-
splits = [current_split]
|
26
|
-
|
27
|
-
argv.each do |arg|
|
28
|
-
if arg =~ /\A-{2}(\+*)\z/
|
29
|
-
current_split << current unless current.empty?
|
30
|
-
current = []
|
31
|
-
current_split = (splits[$1.length] ||= [])
|
32
|
-
else
|
33
|
-
current << arg
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
current_split << current unless current.empty?
|
38
|
-
splits.delete_if {|split| split.nil? || split.empty? }
|
39
|
-
splits
|
40
|
-
end
|
41
|
-
|
42
|
-
def next_arg(argv)
|
43
|
-
index = nil
|
44
|
-
argv.each_with_index do |arg, i|
|
45
|
-
if arg !~ /\A-/
|
46
|
-
index = i
|
47
|
-
break
|
48
|
-
end
|
49
|
-
end
|
50
|
-
index == nil ? nil : argv.delete_at(index)
|
51
|
-
end
|
52
|
-
|
53
|
-
# Handles options using GetoptLong, and passes each option and
|
54
|
-
# value in ARGV to the block.
|
55
|
-
#
|
56
|
-
#--
|
57
|
-
# expect [long, <short>, type, desc]
|
58
|
-
#++
|
59
|
-
def handle_options(*options)
|
60
|
-
options = options.collect do |opt|
|
61
|
-
opt = opt[0..-2]
|
62
|
-
opt.compact
|
63
|
-
end
|
64
|
-
|
65
|
-
opts = GetoptLong.new(*options)
|
66
|
-
opts.quiet = true
|
67
|
-
opts.each do |opt, value|
|
68
|
-
yield(opt, value)
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
def usage(program_file, *sections)
|
73
|
-
options = sections.last.kind_of?(Hash) ? sections.pop : {}
|
74
|
-
options = {:keep_headers => true}.merge(options)
|
75
|
-
comment = Support::TDoc.usage(program_file, sections, options[:keep_headers])
|
76
|
-
comment.rstrip + "\n"
|
77
|
-
end
|
78
|
-
|
79
|
-
def usage_options(opts)
|
80
|
-
opt_lines = []
|
81
|
-
opts.each do |long, short, mode, desc|
|
82
|
-
|
83
|
-
if desc.kind_of?(Class) && desc.include?(Tap::Support::Configurable)
|
84
|
-
key = desc.configurations.opt_map(long)
|
85
|
-
default = PP.singleline_pp(desc.configurations.default[key], "")
|
86
|
-
config_attr = desc.tdoc.find_configuration_named(key.to_s)
|
87
|
-
desc = config_attr.desc
|
88
|
-
end
|
89
|
-
|
90
|
-
short = short == nil ? " " : "(#{short})"
|
91
|
-
opt_lines << " %-25s %s %s" % [long, short, desc]
|
92
|
-
end
|
93
|
-
opt_lines.join("\n")
|
94
|
-
end
|
95
|
-
end
|
96
|
-
end
|