class CocoapodsHd::UploadHelper
Attributes
code_spec[RW]
file_path[RW]
name[RW]
platforms[RW]
version[RW]
Public Class Methods
new(code_spec = nil, file_path = nil)
click to toggle source
# File lib/cocoapods-hd/upload/upload_helper.rb, line 13 def initialize(code_spec = nil, file_path = nil) @code_spec = code_spec @platforms = ['ios'] @file_path = file_path @version = code_spec.version @name = code_spec.root.name puts "基础信息: name: #{name} --- version: #{version} --- file_path: #{file_path} --- platforms: #{platforms} " end
Public Instance Methods
add_spec_to_repo()
click to toggle source
# File lib/cocoapods-hd/upload/upload_helper.rb, line 67 def add_spec_to_repo podspec_name = "#{@name}.podspec.json" podspec_json = File.join(Dir.pwd, podspec_name) FileUtils.chdir(binary_repo_dir) spec_path = File.join(@name, @version.to_s) FileUtils.mkdir_p(spec_path) unless File.exist?(spec_path) # 移动podspec.json到本地repo FileUtils.move(podspec_json, spec_path) end
binary_repo_dir()
click to toggle source
获取 HDBinarySpecs 路径
# File lib/cocoapods-hd/upload/upload_helper.rb, line 81 def binary_repo_dir unless File.directory?(Constant.binary_repo) `pod repo add HDBinarySpecs #{Constant.binary_url}` # 删除多余的repo FileUtils.rm_rf(Constant.unused_binary_repo) end Constant.binary_repo end
push_binary_repo()
click to toggle source
上传二进制 podspec
# File lib/cocoapods-hd/upload/upload_helper.rb, line 54 def push_binary_repo # 创建目录 ps: AFNetworking/4.0.1 add_spec_to_repo # push spec to origin gitlab `git status -s` `git add .` `git commit -m '添加 binary #{@name} #{@version.to_s}'` `git push origin master` STDERR.puts "#{name}.podspec.json psuh success ".green end
spec_creator()
click to toggle source
# File lib/cocoapods-hd/upload/upload_helper.rb, line 24 def spec_creator spec_creator = SpecSourceCreator.new(code_spec, name, file_path) spec_creator.create spec_creator.write_spec_file spec_creator.filename end
upload()
click to toggle source
# File lib/cocoapods-hd/upload/upload_helper.rb, line 31 def upload # 上传zip包 upload_static_zip # push binary repo podspec.json push_binary_repo end
upload_static_zip()
click to toggle source
# File lib/cocoapods-hd/upload/upload_helper.rb, line 38 def upload_static_zip puts "开始上传zip --------- " create_dir_command = "curl -u #{Constant.user_and_password} #{Constant.ftp_url}/#{@name}/#{@version.to_s}/ --ftp-create-dirs" upload_zip_command = "curl -u #{Constant.user_and_password} #{Constant.ftp_url}/#{@name}/#{@version.to_s}/ -T #{file_path}/#{@name}.zip" `#{create_dir_command}` `#{upload_zip_command}` # 查看curl返回结果 # create_dir_result = %x(#{create_dir_command}) # puts "create_dir_result 执行结果 : #{create_dir_result} --- " STDERR.puts "zip upload success ".green end