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