class Lono::AppFile::Build
Public Instance Methods
build_all()
click to toggle source
# File lib/lono/app_file/build.rb, line 17 def build_all clean_output validate_files! copy_to_output build_layers compress_output end
build_layers()
click to toggle source
# File lib/lono/app_file/build.rb, line 41 def build_layers layer_items = Registry.layers layer_items.each do |item| LambdaLayer.new(@blueprint, item).build end end
clean_output()
click to toggle source
# File lib/lono/app_file/build.rb, line 70 def clean_output FileUtils.rm_rf(@output_files_path) end
compress_output()
click to toggle source
# File lib/lono/app_file/build.rb, line 48 def compress_output Registry.items.each do |item| # type can be lambda_layer or file if item.type == "lambda_layer" || item.exist? zip(item) else puts "WARN: #{item.src_path} does not exist. Double check that the path is correct in the s3_key call.".color(:yellow) end end end
context()
click to toggle source
# File lib/lono/app_file/build.rb, line 65 def context Lono::Template::Context.new(@options) end
copy_to_output()
click to toggle source
# File lib/lono/app_file/build.rb, line 59 def copy_to_output override_source_paths("#{Lono.blueprint_root}/app/files") self.destination_root = @output_files_path directory(".", verbose: false, context: context.get_binding) # Thor::Action end
detect_files?()
click to toggle source
# File lib/lono/app_file/build.rb, line 74 def detect_files? app_files = Dir["#{Lono.blueprint_root}/app/files/*"] if app_files.empty? false else puts "Detected app/files for blueprint #{@blueprint}" true end end
initialize_variables()
click to toggle source
# File lib/lono/app_file/build.rb, line 7 def initialize_variables @output_files_path = "#{Lono.config.output_path}/#{@blueprint}/files" end
run()
click to toggle source
# File lib/lono/app_file/build.rb, line 11 def run return unless detect_files? puts "Building app/files for blueprint #{@blueprint}" build_all end
validate_files!()
click to toggle source
# File lib/lono/app_file/build.rb, line 25 def validate_files! items = Registry.items + Registry.layers missing = items.select do |item| !File.exist?(item.src_path) end missing_paths = missing.map { |item| item.src_path }.uniq unless missing_paths.empty? puts "ERROR: These app/files are missing were used by the s3_key method but are missing".color(:red) missing_paths.each do |path| puts " #{path}" end puts "Please double check that they exist." exit 1 end end