# Copyright © 2017 Applause Inc. All rights reserved.
namespace :framework do
desc "Build the SDK binary" task :build, [:setup_name] do |t, args| setup_name = args[:setup_name] setup = BuildConfiguration.load(setup_name) Xcode.build_universal_framework setup_name, setup.release_configuration.output_path end desc "Compress SDK" task :archive, [:setup_name] => :build do |t, args| setup_name = args[:setup_name] setup = BuildConfiguration.load(setup_name) if (setup.release_configuration.plist && setup.release_configuration.output_path && setup.release_configuration.product_name) framework_path = setup.release_configuration.output_path + '/' + setup.release_configuration.product_name + '.framework' archived_framework_path = archived_framework_path(setup_name) Zip.compress(framework_path, archived_framework_path) puts "Compressed Framework path: #{archived_framework_path}" end end desc "Upload SDK to S3" task :upload, [:setup_name] => :archive do |t, args| setup_name = args[:setup_name] setup = BuildConfiguration.load(setup_name) if (setup.release_configuration.plist && setup.release_configuration.output_path && setup.release_configuration.product_name && setup.release_configuration.s3_upload_folder && setup.release_configuration.s3_bucket) archived_framework_path = archived_framework_path(setup_name) s3_upload_path = s3_upload_path(setup_name) url = S3.upload_file(archived_framework_path, s3_upload_path, setup.release_configuration.s3_bucket) puts "Framework S3 url: #{url}" end end def archived_framework_path(setup_name) setup = BuildConfiguration.load(setup_name) version = Plist.version(setup.release_configuration.plist) archived_framework_path = setup.release_configuration.output_path + '/' + setup.release_configuration.product_name + '-' + version + '.zip' return archived_framework_path end def s3_upload_path(setup_name) setup = BuildConfiguration.load(setup_name) version = Plist.version(setup.release_configuration.plist) s3_upload_path = setup.release_configuration.s3_upload_folder + '/' + version + '/' + setup.release_configuration.product_name + '-' + version + '.zip' return s3_upload_path end
end