84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
# File 'lib/udb/cli.rb', line 84
def cfg(name_or_path)
raise ArgumentError, "Spec directory does not exist: #{options[:std]}" unless File.directory?(options[:std])
cfg_file =
if File.file?(name_or_path)
Pathname.new(name_or_path)
elsif File.file?("#{options[:config_dir]}/#{name_or_path}.yaml")
Pathname.new("#{options[:config_dir]}/#{name_or_path}.yaml")
else
raise ArgumentError, "Cannot find config: #{name_or_path}"
end
resolver =
Udb::Resolver.new(
std_path_override: Pathname.new(options[:std]),
gen_path_override: Pathname.new(options[:gen]),
custom_path_override: Pathname.new(options[:custom])
)
begin
cfg_arch = resolver.cfg_arch_for(cfg_file.realpath)
rescue InvalidConfigError
say "Config is #{pastel.red.bold("invalid")}"
exit 1
end
result = cfg_arch.valid?
if result.valid
say "Config #{pastel.bold(cfg_arch.name)} is #{pastel.green.bold("valid")}"
else
say "Config #{pastel.bold(cfg_arch.name)} is #{pastel.red.bold("invalid")}"
say ""
result.reasons.each do |r|
say " * #{pastel.yellow.bold(r.gsub("\n", "\n "))}"
end
exit 1
end
end
|