lib/terraspace/builder.rb in terraspace-1.0.6 vs lib/terraspace/builder.rb in terraspace-1.1.0

- old
+ new

@@ -2,67 +2,45 @@ class Builder < Terraspace::CLI::Base include Compiler::CommandsConcern include Compiler::DirsConcern include Hooks::Concern - attr_reader :graph - def run return if @options[:build] == false Terraspace::CLI::Setup::Check.check! + check_allow! @mod.root_module = true clean + build + end + + def build(modules: true, stack: true) build_dir = Util.pretty_path(@mod.cache_dir) placeholder_stack_message logger.info "Building #{build_dir}" unless @options[:quiet] # from terraspace all - - batches = nil FileUtils.mkdir_p(@mod.cache_dir) # so terraspace before build hooks work run_hooks("terraspace.rb", "build") do - check_allow! - build_unresolved - batches = build_batches - build_all + build_dir("modules") if modules + build_root_module if stack logger.info "Built in #{build_dir}" unless @options[:quiet] # from terraspace all end - batches end def check_allow! Allow.new(@mod).check! end - # Builds dependency graph and returns the batches to run - def build_batches - dependencies = Terraspace::Dependency::Registry.data # populated after build_unresolved - @graph = Terraspace::Dependency::Graph.new(stack_names, dependencies, @options) - @graph.build - end - - def build_all - # At this point dependencies have been resolved. - Terraspace::Terraform::RemoteState::Fetcher.flush! - @resolved = true - build_unresolved - end - - def build_unresolved - build_dir("modules") - build_dir("stacks") - build_root_module - end - def build_root_module - @mod.resolved = @resolved - Compiler::Builder.new(@mod).build + @mod.resolved = true + Compiler::Perform.new(@mod).compile end def build_dir(type_dir) with_each_mod(type_dir) do |mod| - mod.resolved = @resolved + mod.resolved = true is_root_module = mod.cache_dir == @mod.cache_dir next if is_root_module # handled by build_root_module - Compiler::Builder.new(mod).build + Compiler::Perform.new(mod).compile end end def clean Compiler::Cleaner.new(@mod, @options).clean if clean?