lib/roku_builder/plugins/loader.rb in roku_builder-4.16.1 vs lib/roku_builder/plugins/loader.rb in roku_builder-4.17.0
- old
+ new
@@ -8,11 +8,12 @@
def self.commands
{
sideload: {source: true, device: true, stage: true},
build: {source: true, stage: true, exclude: true},
- delete: {device: true}
+ delete: {device: true},
+ squash: {device: true}
}
end
def self.parse_options(parser:, options:)
parser.separator "Commands:"
@@ -23,10 +24,13 @@
options[:delete] = true
end
parser.on("-b", "--build", "Build a zip to be sideloaded") do
options[:build] = true
end
+ parser.on("--squash", "Convert currently sideloaded application to squashfs") do
+ options[:squash] = true
+ end
parser.separator "Options:"
parser.on("-x", "--exclude", "Apply exclude config to sideload") do
options[:exclude] = true
end
end
@@ -65,9 +69,18 @@
def delete(options:, ignoreFailure: false)
payload = {mysubmit: "Delete", archive: ""}
response = multipart_connection.post "/plugin_install", payload
unless response.status == 200 and response.body =~ /Delete Succeeded/ or ignoreFailure
raise ExecutionError, "Failed Unloading"
+ end
+ end
+
+ # Convert sideloaded app to squashfs
+ def squash(options:, ignoreFailure: false)
+ payload = {mysubmit: "Convert to squashfs", archive: ""}
+ response = multipart_connection.post "/plugin_install", payload
+ unless response.status == 200 and response.body =~ /Conversion succeeded/ or ignoreFailure
+ raise ExecutionError, "Failed Converting to Squashfs"
end
end
def copy(options:, path:)
@options = options