Method: RokuBuilder::Packager#genkey

Defined in:
lib/roku_builder/plugins/packager.rb

#genkey(options:) ⇒ Object



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/roku_builder/plugins/packager.rb', line 53

def genkey(options:)
  password, dev_id = generate_new_key()
  @logger.unknown("Password: "+password)
  @logger.info("DevID: "+dev_id)

  out = @config.out
  out[:file] ||= "key_"+dev_id+".pkg"
  @config.out = out

  Dir.mktmpdir { |dir|
    config_copy = @config.dup
    config_copy.root_dir = dir
    Manifest.generate({config: config_copy, attributes: {}})
    Dir.mkdir(File.join(dir, "source"))
    File.open(File.join(dir, "source", "main.brs"), "w") do |io|
      io.puts "sub main()"
      io.puts "  print \"Load\""
      io.puts "end sub"
    end
    loader = Loader.new(config: config_copy)
    options[:current] = true
    loader.sideload(options: options)
    sign_package(app_name_version: "key_"+dev_id, password: password, stage: options[:stage])
    @logger.unknown("Keyed PKG: #{File.join(@config.out[:folder], @config.out[:file])}")
  }
end