# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at https://mozilla.org/MPL/2.0/. # frozen_string_literal: true require_relative '../config/config' require_relative 'package' require 'net/http' require 'pathname' require 'progressbar' require 'term/ansicolor' module SlackBuilder extend Rake::FileUtilsExt def self.clone(repo, tarball, tag_prefix = 'v') `./bin/slackbuilder clone #{repo} #{tarball} #{tag_prefix}` end def self.download(uri, target) `./bin/slackbuilder download #{uri} #{target}`.strip end def self.hosted_sources(absolute_url) CONFIG[:download_url] + absolute_url end def self.remote_file_exists?(url) `./bin/slackbuilder exists #{url}`.strip == 'True' end def self.download_and_deploy(uri, tarball) `./bin/slackbuilder deploy #{uri} #{tarball}`.strip end private_class_method def self.upload_command(local_path, remote_path) ['scp', "slackbuilds/#{local_path}", CONFIG[:remote_path] + remote_path] end end