# copy from https://github.com/CocoaPods/cocoapods-packager require 'cocoapods/command/gen' require 'cocoapods/generate' require 'swordfish/native/podfile' require 'swordfish/helpers/framework_builder' require 'swordfish/helpers/library_builder' require 'swordfish/helpers/sources_helper' require 'swordfish/command/spec/push' require 'swordfish/helpers/spec_source_creator' module Ocean class Upload class Helper include Ocean::SourcesHelper def initialize(spec,code_dependencies,sources) @spec = spec @code_dependencies = code_dependencies @sources = sources end def upload(is_framework) Dir.chdir(Ocean::Config::Builder.instance.root_dir) do # 创建binary-template.podsepc # 上传二进制文件 # 上传二进制 podspec res_zip = curl_zip if res_zip filename = spec_creator(is_framework) push_binary_repo(filename) end res_zip end end def spec_creator(is_framework) spec_creator = Ocean::SpecificationSource::Creator.new(@spec) spec_creator.create(is_framework) spec_creator.write_spec_file spec_creator.filename end #推送二进制 # curl http://ci.xxx:9192/frameworks -F "name=IMYFoundation" -F "version=7.7.4.2" -F "annotate=IMYFoundation_7.7.4.2_log" -F "file=@bin-zip/bin_IMYFoundation_7.7.4.2.zip" def curl_zip zip_file = "#{Ocean::Config::Builder.instance.library_file(@spec)}.zip" res = File.exist?(zip_file) unless res zip_file = Ocean::Config::Builder.instance.framework_zip_file(@spec) + ".zip" res = File.exist?(zip_file) end if res command = "curl #{Ocean.config.binary_upload_url} -F \"name=#{@spec.name}\" -F \"version=#{@spec.version}\" -F \"annotate=#{@spec.name}_#{@spec.version}_log\" -F \"file=@#{zip_file}\"" print <