spud 0.2.0 → 0.2.5
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 +4 -4
- data/lib/spud.rb +3 -2
- data/lib/spud/block_param_info.rb +80 -0
- data/lib/spud/cli/options.rb +35 -0
- data/lib/spud/cli/parser.rb +23 -19
- data/lib/spud/cli/results.rb +18 -11
- data/lib/spud/driver.rb +135 -0
- data/lib/spud/error.rb +1 -0
- data/lib/spud/help.rb +13 -13
- data/lib/spud/lister.rb +27 -22
- data/lib/spud/shell/command.rb +75 -0
- data/lib/spud/shell/result.rb +33 -0
- data/lib/spud/task_arg.rb +24 -12
- data/lib/spud/task_args.rb +20 -18
- data/lib/spud/task_runners/make/task.rb +67 -0
- data/lib/spud/task_runners/package.json/task.rb +71 -0
- data/lib/spud/task_runners/spud_task_runner/dependency.rb +49 -0
- data/lib/spud/task_runners/spud_task_runner/file_dsl.rb +57 -0
- data/lib/spud/task_runners/spud_task_runner/task.rb +148 -0
- data/lib/spud/task_runners/spud_task_runner/task_dsl.rb +90 -0
- data/lib/spud/task_runners/task.rb +40 -0
- data/lib/spud/task_runners/task_runners.rb +25 -0
- data/lib/spud/version.rb +2 -1
- data/lib/spud/watch.rb +73 -0
- metadata +46 -16
- data/lib/spud/build_tools/build_tools.rb +0 -13
- data/lib/spud/build_tools/make/task.rb +0 -27
- data/lib/spud/build_tools/package.json/task.rb +0 -47
- data/lib/spud/build_tools/spud/block_param_info.rb +0 -77
- data/lib/spud/build_tools/spud/dsl/file.rb +0 -23
- data/lib/spud/build_tools/spud/dsl/task.rb +0 -63
- data/lib/spud/build_tools/spud/shell/command.rb +0 -52
- data/lib/spud/build_tools/spud/shell/result.rb +0 -26
- data/lib/spud/build_tools/spud/task.rb +0 -125
- data/lib/spud/build_tools/task.rb +0 -33
- data/lib/spud/options.rb +0 -14
- data/lib/spud/runtime.rb +0 -104
@@ -1,33 +0,0 @@
|
|
1
|
-
module Spud
|
2
|
-
module BuildTools
|
3
|
-
class Task
|
4
|
-
# @return [String]
|
5
|
-
attr_reader :name
|
6
|
-
# @return [String]
|
7
|
-
attr_reader :filename
|
8
|
-
# @return [Spud::TaskArgs]
|
9
|
-
attr_reader :args
|
10
|
-
|
11
|
-
# @return [void]
|
12
|
-
def self.mount!
|
13
|
-
raise NotImplementedError
|
14
|
-
end
|
15
|
-
|
16
|
-
# @param name [String]
|
17
|
-
# @param filename [String]
|
18
|
-
def initialize(name:, filename:)
|
19
|
-
@name = name
|
20
|
-
@filename = filename
|
21
|
-
|
22
|
-
Runtime.tasks[name.to_s] = self
|
23
|
-
end
|
24
|
-
|
25
|
-
# @param positional [Array]
|
26
|
-
# @param named [Hash]
|
27
|
-
# @return [Object]
|
28
|
-
def invoke(positional = [], named = {})
|
29
|
-
raise NotImplementedError
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
data/lib/spud/options.rb
DELETED
data/lib/spud/runtime.rb
DELETED
@@ -1,104 +0,0 @@
|
|
1
|
-
require 'spud/error'
|
2
|
-
require 'spud/help'
|
3
|
-
require 'spud/lister'
|
4
|
-
require 'spud/cli/parser'
|
5
|
-
require 'spud/build_tools/task'
|
6
|
-
require 'spud/build_tools/build_tools'
|
7
|
-
|
8
|
-
module Spud
|
9
|
-
module Runtime
|
10
|
-
class << self
|
11
|
-
def run!
|
12
|
-
if options.debug?
|
13
|
-
puts "options: #{options.inspect}"
|
14
|
-
puts "task: #{args.task}"
|
15
|
-
puts "positional: #{args.positional}"
|
16
|
-
puts "named: #{args.named}"
|
17
|
-
end
|
18
|
-
|
19
|
-
if options.help?
|
20
|
-
Spud::Help.print!
|
21
|
-
return
|
22
|
-
end
|
23
|
-
|
24
|
-
mount!
|
25
|
-
if options.files?
|
26
|
-
lister.list_filenames!
|
27
|
-
return
|
28
|
-
end
|
29
|
-
|
30
|
-
unless args.task
|
31
|
-
print_tasks!
|
32
|
-
return
|
33
|
-
end
|
34
|
-
|
35
|
-
invoke(args.task, args.positional, args.named)
|
36
|
-
rescue Error => error
|
37
|
-
puts error.message
|
38
|
-
raise error if options.debug?
|
39
|
-
rescue => error
|
40
|
-
puts "fatal: #{error.message}"
|
41
|
-
raise error if options.debug?
|
42
|
-
end
|
43
|
-
|
44
|
-
# @param task_name [String]
|
45
|
-
# @param positional [Array]
|
46
|
-
# @param named [Hash]
|
47
|
-
def invoke(task_name, positional = [], named = {})
|
48
|
-
task = tasks[task_name.to_s]
|
49
|
-
raise Error, "no task found for '#{task_name}'" unless task
|
50
|
-
task.invoke(positional, named)
|
51
|
-
end
|
52
|
-
|
53
|
-
# @return [Hash{String->Spud::Task}]
|
54
|
-
def tasks
|
55
|
-
@tasks ||= {}
|
56
|
-
end
|
57
|
-
|
58
|
-
private
|
59
|
-
|
60
|
-
# @return [Array<String>]
|
61
|
-
def filenames
|
62
|
-
@filenames ||= tasks.values.map(&:filename).uniq
|
63
|
-
end
|
64
|
-
|
65
|
-
# @return [void]
|
66
|
-
def mount!
|
67
|
-
build_tools.each(&:mount!)
|
68
|
-
tasks.keys.each do |key|
|
69
|
-
tasks[key.to_s] = tasks.delete(key) if key.is_a?(Symbol)
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
# @return [Array<Spud::BuildTools::Task>]
|
74
|
-
def build_tools
|
75
|
-
@build_tools ||= begin
|
76
|
-
BuildTools::BUILD_TOOLS.each do |tool|
|
77
|
-
raise "build tool does not inherit from BuildTools::Task" unless tool < BuildTools::Task
|
78
|
-
end
|
79
|
-
|
80
|
-
BuildTools::BUILD_TOOLS.reverse
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
# @return [Spud::Options]
|
85
|
-
def options
|
86
|
-
args.options
|
87
|
-
end
|
88
|
-
|
89
|
-
# @return [Spud::CLI::Results]
|
90
|
-
def args
|
91
|
-
@args ||= Spud::CLI::Parser.parse!
|
92
|
-
end
|
93
|
-
|
94
|
-
# @return [void]
|
95
|
-
def print_tasks!
|
96
|
-
lister.list!
|
97
|
-
end
|
98
|
-
|
99
|
-
def lister
|
100
|
-
@lister ||= Lister.new(tasks.values)
|
101
|
-
end
|
102
|
-
end
|
103
|
-
end
|
104
|
-
end
|