Sha256: 82c48f423ddf786995490630072040d4083fb8af2adc467e67e463177ea54e62
Contents?: true
Size: 1.65 KB
Versions: 3
Compression:
Stored size: 1.65 KB
Contents
class Jets::Builders class LambdaLayer include Util # At this point we gems have all been moved to stage/code/vendor/gems, this includes # binary gems, a good state. This method moves them: # # from stage/code/vendor/gems/ruby/2.5.0 # to stage/opt/ruby/gems/2.5.0 # # So we can move gems into the Lambda Layer. Important folders later: # # stage/code/opt/lib # stage/code/opt/ruby # def build move_opt_to_stage move_vendor_to_opt symlink_vendor_gems end def move_opt_to_stage opt_original = "#{code_area}/opt" opt = "#{stage_area}/opt" FileUtils.mkdir_p(File.dirname(opt)) FileUtils.mv(opt_original, opt) end def move_vendor_to_opt ruby_folder = Jets::Gems.ruby_folder gems_original = "#{code_area}/vendor/gems/ruby/#{ruby_folder}" gems = "#{stage_area}/opt/ruby/gems/#{ruby_folder}" FileUtils.mkdir_p(File.dirname(gems)) FileUtils.mv(gems_original, gems) # Deleting in this way to make sure folders are empty before we delete them FileUtils.rmdir("#{code_area}/vendor/gems/ruby") FileUtils.rmdir("#{code_area}/vendor/gems") FileUtils.rmdir("#{code_area}/vendor") if Dir.empty?("#{code_area}/vendor") end # Simple logic: vendor/gems/ruby/2.5.0 -> /opt/ruby/gems/2.5.0 def symlink_vendor_gems ruby_folder = Jets::Gems.ruby_folder dest = "#{code_area}/vendor/gems/ruby/#{ruby_folder}" FileUtils.mkdir_p(File.dirname(dest)) # puts "ln -sf /opt/ruby/gems/#{ruby_folder} #{dest}" # uncomment to debug FileUtils.ln_sf("/opt/ruby/gems/#{ruby_folder}", dest) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
jets-1.3.9 | lib/jets/builders/lambda_layer.rb |
jets-1.3.8 | lib/jets/builders/lambda_layer.rb |
jets-1.3.7 | lib/jets/builders/lambda_layer.rb |