Class: Terraspace::Builder
Instance Method Summary
collapse
Methods inherited from CLI::Base
#initialize
Methods included from Util
#pretty_path
Methods included from Util::Sure
#sure?
Methods included from Util::Sh
#sh
#logger
Instance Method Details
#build_all(type_dir) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/terraspace/builder.rb', line 20
def build_all(type_dir)
built = []
local_paths(type_dir).each do |path|
next unless File.directory?(path)
mod_name = File.basename(path)
next if built.include?(mod_name)
consider_stacks = type_dir == "stacks"
mod = Mod.new(mod_name, consider_stacks: consider_stacks)
Compiler::Builder.new(mod).build
built << mod_name
end
end
|
#build_root_module ⇒ Object
#dirs(path) ⇒ Object
39
40
41
|
# File 'lib/terraspace/builder.rb', line 39
def dirs(path)
Dir.glob("#{Terraspace.root}/#{path}")
end
|
#local_paths(type_dir) ⇒ Object
35
36
37
|
# File 'lib/terraspace/builder.rb', line 35
def local_paths(type_dir)
dirs("app/#{type_dir}/*") + dirs("vendor/#{type_dir}/*")
end
|
#run ⇒ Object
3
4
5
6
7
8
9
10
11
12
13
14
|
# File 'lib/terraspace/builder.rb', line 3
def run
Terraspace::CLI::CheckSetup.check!
@mod.root_module = true
Compiler::Cleaner.new(@mod, @options).clean
build_dir = Util.pretty_path(@mod.cache_dir)
logger.info "Building #{build_dir}"
build_all("modules") build_all("stacks")
build_root_module
logger.info "Built in #{build_dir}"
end
|