class CocoapodsNexus::API
Attributes
connection[RW]
repo[RW]
Public Class Methods
new(hostname:, repo:)
click to toggle source
用于管理nexus服务器
# File lib/cocoapods-nexus/api.rb, line 11 def initialize(hostname:, repo:) @connection = CocoapodsNexus::API::NexusConnection.new(hostname: hostname) @repo = repo end
Public Instance Methods
search_maven_component(artifact_id:)
click to toggle source
搜索组件
# File lib/cocoapods-nexus/api/components.rb, line 4 def search_maven_component(artifact_id:) @connection.get_response(endpoint: "search?repository=#{@repo}&name=#{artifact_id}") end
upload_maven_component(artifact_id:, version:, group_id:, podspec:, artifact:, podspec_hook:, files:)
click to toggle source
上传组件
# File lib/cocoapods-nexus/api/components.rb, line 9 def upload_maven_component(artifact_id:, version:, group_id:, podspec:, artifact:, podspec_hook:, files:) parameters = { 'maven2.artifactId' => artifact_id, 'maven2.version' => version, 'maven2.groupId' => group_id, 'maven2.generate-pom' => true, 'maven2.packaging' => artifact.nil? ? 'podspec' : File.extname(artifact).delete('.') } upload_files = [] unless podspec.nil? upload_files << { 'file' => podspec, 'extension' => 'podspec', # 'classifier' => 'podspec' } end unless artifact.nil? upload_files << { 'file' => artifact, 'extension' => File.extname(artifact).delete('.') } end unless podspec_hook.nil? upload_files << { 'file' => podspec_hook, 'extension' => 'rb', 'classifier' => 'podspec_hook' } end unless files.nil? upload_files |= files.map do |file| { 'file' => file, 'extension' => File.extname(file).delete('.'), } end end upload_files.each_index do |index| parameters["maven2.asset#{index + 1}"] = File.open(upload_files[index]['file'], 'r:utf-8') parameters["maven2.asset#{index + 1}.extension"] = upload_files[index]['extension'] unless upload_files[index]['extension'].nil? parameters["maven2.asset#{index + 1}.classifier"] = upload_files[index]['classifier'] unless upload_files[index]['classifier'].nil? end @connection.post(endpoint: "components?repository=#{@repo}", parameters: parameters, headers: {}) end