spud 0.2.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|