class Bosh::Cli::SortedReleaseArchiver

Public Class Methods

new(dir) click to toggle source
# File lib/cli/sorted_release_archiver.rb, line 3
def initialize(dir)
  @dir = dir
end

Public Instance Methods

archive(destination_file) click to toggle source
# File lib/cli/sorted_release_archiver.rb, line 7
def archive(destination_file)
  Dir.chdir(@dir) do
    success = Kernel.system('tar', '-C', @dir, '-pczf', destination_file, *ordered_release_files, out: '/dev/null', err: '/dev/null')
    if !success
      raise InvalidRelease, 'Cannot create release tarball'
    end
  end
end

Private Instance Methods

ordered_release_files() click to toggle source
# File lib/cli/sorted_release_archiver.rb, line 18
def ordered_release_files
  ordered_release_files = ['./release.MF']
  license_files = (Dir.entries('.') & ['LICENSE', 'NOTICE']).sort
  unless license_files.empty?
    ordered_release_files += license_files.map { |filename| "./#{filename}" }
  end
  ordered_release_files += ['./jobs', './packages']
  ordered_release_files
end